Ask HN: How do you play synchronized audio across multiple receivers in 2024?
I last explored this in 2010, and there weren't any great solutions other than doing it yourself from first principles. Have things changed in 14 years?
I've got two empty pools and a few huge subs laying around...
It's crazy that it's 2024 and there isn't an ESP32 module which does this.
12 comments
[ 3.5 ms ] story [ 38.3 ms ] threadhttps://github.com/balena-io-experimental/balena-sound
I haven't yet been able to try it yet, but may be an alternative to snapcast.
[0] https://www.gefen.com/product/usb-2-0-extender/
Because last I'd heard, and I'm definitely not in the scene, all of that was coordinated by programs, before having the transduction work parceled out to mostly dumb speakers. And even then, I'm not aware as to whether playback software is "smart" enough to train itself w/ regard to latencies between individual playback nodes to ensure things sync up properly... That gets into the nasty world of things like DRAM signal training, because in a sense, each of your signal paths is just a glorified signal trace to the system in question, of unusual length compared to other motherboard traces.
I know there's ASICs built into most graphics cards nowadays for things like audio mix/encode/decode, but as far as I was aware, getting things relatively sync'd up for any non-trivial network of speakers was still very much an exercise left to the student; and with most programmers having taken the route of "but why would you need that?" to avoid answering what is essentially a really, really, hard network characterization/DSP question.
Long story short, I dunno, but sounds like an immersive literature deep dive in the making to me!
It isn't perfect and audio occasionally de-syncs or a speaker drops out. On a dedicated wireless channel playing a local source I imagine it would be pretty solid.
Not really an option if you don't have a Mac to run Airfoil, though if you do you can use the Satellite (https://rogueamoeba.com/airfoil/satellite/) program to sync Mac your other non-Apple devices to the host.
Probably not an easy thing to do to begin with (there are papers on the algorithms involved, last I checked) and the specter of big audio companies coming after you isn't fun either.
Edit: Despite that, there's https://github.com/geekuillaume/soundsync
https://www.getdante.com/products/software-essentials/dante-...
The sync between devices has always been flawless for me.