AirPipe.
Stream system audio from any Android device to one or more AirPlay speakers at once — turning even a vintage hi-fi into a synced, modern wireless setup.
The brief.
01 · BACKGROUNDNotes
AirPipe streams the audio playing on an Android device to one or more AirPlay-compatible speakers on the local network — the kitchen, the living room, and the patio, all in sync.
It started as a way to bring a Bang & Olufsen BeoSound Century — a beautiful 1990s hi-fi with stunning sound but no wireless — into the streaming era. A Raspberry Pi running shairport-sync gave the Century an AirPlay receiver; AirPipe completes the chain, turning any Android phone into the transmitter.
What it does
Captures any audio the device is playing — music apps, video, podcasts, games.
Fans out to several speakers at once, encoding once and sending bit-identical RTP to every destination with sub-frame sync.
Per-speaker volume and mute, independent of the device's master volume.
Finds receivers automatically over mDNS/Bonjour — no manual IP entry.
Encrypts the stream with AES-128-CBC and an RSA key exchange.
Under the hood, AirPipe captures system audio with Android's MediaProjection API and implements the RAOP (AirPlay 1) protocol directly over raw sockets — RTP timing, sync packets, and the encrypted handshake — in Kotlin.
AirPipe is available on Google Play. Learn more at airpipe.app.
