Hacker News new | past | comments | ask | show | jobs | submit login

Don't Sonos, Ultimate Ears, Echo, Google Home etc solve this problem pretty effectively? I know there was a bit of a patent war between them for a while, but don't they still have this feature?



It's not open source or free, but Roon provides multi-zone synchronized playback and has excellent Linux support (including x64 and arm easy install scripts). See:

http://roonlabs.com

https://help.roonlabs.com/portal/en/kb/articles/linux-instal...

Many Roon users use Raspberry Pi's as audio "bridge" devices for their various audio setups around the house. There's even dedicated RPi distros that offer Roon packages:

https://ropieee.org (semi-open source)

https://dietpi.com (GPL)

You can read more about how Roon handles playback clock sync using its RAAT protocol here:

https://community.roonlabs.com/t/raat-and-clock-ownership/69...

Disclaimer: I work at Roon Labs LLC.


It's not free, to the tune of $10/month! I'm willing to pay for things, but I'm sorry, that's just not workable. I'm not going to pay for yet another subscription service, especially one for my speakers.

I was really hopeful for a competitor to Sonos too. Ah well, back to hoping Google ever brings back Chromecast audio.


Shout out for the open source option:

Snapcast - https://mjaggard.github.io/snapcast/


Interesting... so this isn't a device-specific firmware hack, but a pipe? Does that mean it only works on things running user-accessible Linux, not your typical smart speaker?


The client doesn't run on typical smart speakers, but it can run on Android, or through a web page, or on a Raspberry Pi, amongst other things.


OpenWRT also got it packaged. So a solid and easy way to run it is to just throw the client on some old routers with OpenWRT support, connected to $20 USB DACs with S/PDIF.

https://www.behringer.com/product.html?modelCode=P0484


Yes, you wouldn't get this running on an existing smart speaker (without first rooting it and some serious hacking).

If you'r in the Apple ecosystem and are using AirPlay with your smart speaker(s), it's however possible to also play synchronized audio across to your own DIY speaker setup, using another open source project.

https://github.com/mikebrady/shairport-sync

Or you could of course choose to only use your old dumb speakers with this, and they will pop up as easily selectable sound output devices on all Apple devices connected to your network.

Or combine it (and librespot[2], owntone[3]...) with Snapcast to create a virtual speaker for your whole house that shows up everywhere.

[2] https://github.com/librespot-org/librespot

[3] https://github.com/owntone/owntone-server


FWIW, most of the patent war was about how Sonos syncs the volume controls so that changing a master volume level changes all the synced volumes. Seems obvious (and therefore unpatentable) but there is an ever-so-slightly-not-quite-obvious-at-first-glance aspect to it.

I believe Google caved on this and doesn’t allow master level control with their devices. And of course they have been counter suing Sonos on other patents as a result.


What an interesting tibid! I didn't realize that. Thanks for sharing :)

What is it about the volume controls that are anymore non-obvious than multi-room syncing to begin with?


It has to do with tracking the levels in the group.

You want to be able to slide a master level up and down and have the levels maintain the "same" balance, even if one of the players ends up going to (effectively) zero level when you have turned it down. Takes a little bit of thinking about how you represent the range of the levels.

I think the patent is actually quite a bit broader, and covers using a UI that has a master volume control across players whose individual volume levels are displayed as well.

Google pulled all "master" level control in response.


Apple still has one when casting to multiple HomePods; I wonder if they licensed it.


I suppose the argument would be that the "volume setting" is metadata or out-of-band compared to the audio itself.


Those send the actual file data to the speakers, so you're not "playing the audio" so much as each speaker literally playing its own copy of the file, using synced playback timing.


Is that the case even when you're streaming from Spotify or Airplay, or say using their wireless 5.1 setup from the soundbar?

And I mean, in the age of wireless speakers... aren't all digital speakers receiving "file data", whether it's one file at a time or one chunk at a time? What's the difference?

Even if it's just timing data, I don't think I would be able to figure out how to sync up two different devices' times down to that level of precision. A little bit off and you'd build up weird interferences, wouldn't you?


There are speakers/etc that use actual streaming protocols - but that's become relatively rare.


They do - if you're using one kind for all. That's why starting a song can sometimes take a bit as it buffers/aligns.

It's when you're mixing software systems that the fun can begin.

(Also if you can route cables in your walls whole-home audio is way cheaper than you might expect: https://www.monoprice.com/product?p_id=10761 kicks ass)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: