How it works
Setup is meant to be simple: install the app on two devices on the same network and connect them.
Experimental project, not security-audited. WFAS is a personal project by an engineering student. Its security features have not had any formal audit, so please do not rely on them for sensitive data or on untrusted networks. Read the full disclaimer
WFAS streams audio between devices on a home network, aiming for a lower delay than typical Bluetooth audio and without third-party virtual drivers. The audio engine is written from scratch for each platform (Windows, macOS, Linux and Android), which also means it has seen less real-world testing than established tools.
Whether you want to listen to your PC audio from bed with headphones plugged into your phone, or use an old smartphone as a wireless microphone, the principle is the same. Here's how.
The two roles
Server
The source device that generates the music or audio you want to broadcast. Usually, this is your computer (Windows, macOS, or Linux), which captures system audio using a native engine without needing any external virtual drivers.
Client
The device that receives the audio over your local network and plays it back in real-time. This could be your smartphone connected to Bluetooth speakers, or another computer in a different room.
Install
Start by downloading the free application for your devices. Simply install it on the source device (the Server) and the device you'll use for listening (the Client).
Sending system audio does not require additional virtual drivers. On Windows and macOS, WFAS uses a native C engine to directly capture the default output. Just download the app and open it.
Go to the downloads →Connect
Open the app on both devices, ensuring they are connected to the same Wi-Fi network. The built-in discovery will usually find them within a few seconds. You can also enter the IP address manually.
As soon as you open the app, WFAS starts sending a very lightweight beacon signal on your local network (about every 3 seconds). This lets other devices on the same Wi-Fi discover it without any router configuration. On networks that block this kind of traffic (some corporate or guest networks, for example), you can enter the server's IP address manually.
Listen
Once connected, the audio streams in real time. Volume, transmission quality and latency can be adjusted in the settings.
Select the device from the list and connect. Audio packets are sent and reassembled on the fly by the WFAS v2 protocol. The delay is usually low enough for watching video, but it depends on your network and settings, and some lip-sync offset is possible.
Audio is sent only over your local network, not through external servers.
6 ways to listen
Native mode
The native WFAS protocol. It has the lowest latency of the modes listed here, and it is the one I would try first for video or games, though results depend on your network.
RTP
Uses the standard RTP protocol. Choose this option if you need to integrate WFAS with other professional audio software already running on your network.
HTTP/AAC
Turns the app into a small web server. You can listen by opening a link in the browser of a Smart TV or another phone, without installing the app on the receiving end.
HTTP/Opus
Similar to the previous mode but uses the Opus codec, which needs less bandwidth. It may help on slower or crowded Wi-Fi networks.
DLNA / UPnP
Stream audio directly to Smart TVs, soundbars, and AV receivers without installing any app. Uses automatic UPnP discovery and per-device format negotiation.
Snapcast
Synchronized multiroom audio using the Snapcast protocol. Intended to work with Raspberry Pis, ESP32 boards, Home Assistant and the official Snapcast client apps.