How tight is the time sync #167
-
On multiple devices whats the time sync tolerance of squeezelite-esp32? Or should I ask does it? |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 6 replies
-
Not sure I understand what you mean by tolerance? The sync mechanism is required when some devices process samples/play slower than others. In an ideal world, all clocks would have the same frequency and samples would be fed at the same rate to the DAC. This is not the case, however, even for devices from the "same batch of components". Each device has a clock that has a small drift that cause samples to be consumed at more or less the same rate, with variations that aren't noticeable. In short, each device sends a status message back to the server that includes the current sample position and a time stamp. The server then sends "skip X samples" back to players that are lagging beyond a certain threshold. There's a bit more to it than this, but it should help you get the point. This means devices from Logitech should play along fine, synchronized with ESP32 based devices. Someone from Logitech said that in the early days, they tested successfully with "a large number of players piled on top of each other". You should pay attention to the network bandwidth, though, as it has been the bottleneck for several users. This is important if you either live in a larger home where wifi signal needs to travel through walls, as signal strength might become an issue. It is also important if you live in a building with lots of access points and users since your devices will be competing with others for a given wifi channel bandwidth. Let me know if this helps |
Beta Was this translation helpful? Give feedback.
-
I wasn't name dropping but will do as it will make more sense. I was looking at squeezelite vs snapcast (pi) for distributed active mono amp speakers. PS with memory concerns this is the 1st clone I have seen for $7 as seems the snapcast-esp is a big struggle also and not that active but would love a really robust esp version that has the space for those big buffers, its 2mb but maybe more will come. |
Beta Was this translation helpful? Give feedback.
-
@StuartIanNaylor If I understand correctly, the core of your question is: When playing multi-room audio, what's the maximum that one device's output could be out of sync with the others: <1ms, 10ms-30ms, >30ms? Is that right? |
Beta Was this translation helpful? Give feedback.
-
Yeah is there any control where on different carriers such as wifi, ethernet and infrastructure routing, is there anything that resyncs on NTP or other methods? |
Beta Was this translation helpful? Give feedback.
-
There is no use of NTP or such with, LMS whose target is 10 ms for resync which as you know gives you 3m which is fine with me for multiroom because, by definition you're likely to be more than 3m away from ideal position. When using AirPlay, it's using NTP-type sync timestamps. |
Beta Was this translation helpful? Give feedback.
-
Il go ahead and convert this to a discussion |
Beta Was this translation helpful? Give feedback.
-
How does it resync as for me its not about multi room but multi speaker with active distributed channels. This is complete presumption as just always presumed NTP was used to sync the clients and then on receipt of timestamps the mismatch would jog +/_ the buffer to correct on each client? |
Beta Was this translation helpful? Give feedback.
-
The LMS sync is very simple but just works for its objective: the server sends a message with its own time tick and request each player to respond with its local time tick when it has received it. Do that a few times and you can remove the RTT. Then you can control when players start and afterward see if there is drift in the pairs of time ticks. I'm always amused to see that the audio world seems to do many overdesign and build some insanely complicated system where they have very simple issues to deal with. I'm a properly educated engineer in digital signal processing for the telecom (RF) industry. Everybody wants more bits/Hertz and of course without using power, all that in very nasty propagation channels - that's really a serious set of challenges. I'm not trying to be contemptuous and I know that some other domains are way more complicated. It's just the audio industry being surprising good at creating complex solution in search for a problem. |
Beta Was this translation helpful? Give feedback.
The LMS sync is very simple but just works for its objective: the server sends a message with its own time tick and request each player to respond with its local time tick when it has received it. Do that a few times and you can remove the RTT. Then you can control when players start and afterward see if there is drift in the pairs of time ticks.
I'm always amused to see that the audio world seems to do many overdesign and build some insanely complicated system where they have very simple issues to deal with. I'm a properly educated engineer in digital signal processing for the telecom (RF) industry. Everybody wants more bits/Hertz and of course without using power, all that in very nasty…