Comment by o-__-o

6 years ago

Your setup streamed to two different rooms will have two distinct delays of the source audio. Probably fine for most use cases, but drives me nuts and why consumers head to sonos.

Pulseaudio can stream to multiple speakers and audio devices simultaneously. Switching to JACKd instead of gstreamer for the pulseaudio backend allows for a much more powerful audio processing subsystem (at the expense of resources since jackd likes a real-time kernel). Using mpd allows for a lightweight low latency server/client to stream audio to remote destinations. It’s not quite plug and play (DLNA doesn’t care about synchronization) but dropping mpd onto a raspberry pi is the simple fix (and simulates the hardware inside of a sonos speaker)

I’m sorry I’m on mobile or i would make a diagram showing this in detail. I’ve been thinking of what an open source Sonos clone would look like for a long time. Maybe it’s time to open up that git repo to the public

The setup is: the dlna renderer sends it's output to the snapcast server pipe. The snapcast server streams the audio to snapcast clients via a time synced protocol.

The latency you think I have is not there.