Whole Home Audio
A synchronized multi-room audio system built on Raspberry Pis, custom hardware, and open-source software.
Origin
I have always been obsessive about audio quality. Over the years I accumulated speakers across different rooms, but they all operated independently. What I really wanted was seamless whole-home sound — music that could follow me from room to room in perfect sync. Two places crystallized the idea: the Paradise Garage in New York, where the entire space was designed around the sound system, and Nowadays, a club in NYC that treats audio as an integral part of the experience.
The Inspiration
The Paradise Garage was a space designed almost entirely around the experience of listening. Larry Levan and Richard Long built the system so that the music was felt as much as heard, with every corner of the room receiving the same quality of sound. That philosophy — designing a space around its audio rather than treating it as an afterthought — is what I wanted to bring into my own home on a smaller scale.
How It Works
The system is built on Snapcast, an open-source multi-room audio solution with a server-client architecture. The snapserver runs in a Docker container on my home server, acting as the central audio source. Each room has a Raspberry Pi running a snapclient, which receives the audio stream over Wi-Fi and plays it through the connected speakers. Snapcast handles synchronization between all clients, compensating for network jitter to keep every room in lockstep.
To get clean analog output from the Pis, I soldered dedicated DAC boards onto each one, bypassing the Pi's built-in audio which is notoriously noisy. I designed and 3D-printed custom enclosures to house each Pi and DAC — it took several iterations to get the fit, ventilation, and cable routing right, but the final versions are compact enough to sit next to speakers without being an eyesore.
For music input, Librespot presents the whole system as a Spotify Connect device, so anyone on the network can cast to the whole house directly from their phone. I'm also experimenting with AirPlay support for seamless source switching.
The Distributed Systems Connection
Building this turned out to be a natural extension of concepts I'd worked with elsewhere. Managing synchronized audio streams over Wi-Fi, dealing with clock drift between independent clients, handling network interruptions, and coordinating a central server with multiple edge devices all map closely onto distributed systems problems. The overlap made the technical challenges feel familiar and the solutions more principled.
What's Next
The system runs reliably across multiple rooms with consistent synchronized playback. Current focus is adding AirPlay as a second input source and refining the enclosure design. Longer term I want to add per-room volume control through a unified interface rather than managing each client independently.