Re: supernova sample-based scheduling bug?
[email protected] Thu, 20 May 2021 15:58:12 +0200
| Newsgroups | gmane.comp.audio.supercollider.user |
|---|---|
| Message-ID | <[email protected]> |
> From my own experience with an older patched version of SuperCollider > that could actually schedule at specific sample indices since the > start of the server I know that is possible. Only one reference point > with a time stamp connected to a sample index was enough to keep > sample-sync operation, even over multiple machines, up for quite a > long time with latencies around the normal 0.2s. I think you were just being lucky. Unless the language scheduler itself is also driven by the audio hardware clock, it will always use a different clock source than the Server and the two clocks will eventually drift. If the client clock is running *faster* than the Server clock, the Server will just slowly accumulate bundles. If the client clock is running *slower* than the Server clock, you will eventually get late bundles. Howerver, using a rather high Server latency (like 0.2s), it takes some time until this happens. So this is still not a universal solution, I think. Christof On 20.05.2021 15:20, [email protected] wrote: > Hi Daniel and Christof, > > yes, indeed NTP scheduling is not sample accurate. I had hoped though > that the sampleclock based implementation of supernova could somehow > bypass that problem. Otherwise; why is it there? From my own > experience with an older patched version of SuperCollider that could > actually schedule at specific sample indices since the start of the > server I know that is possible. Only one reference point with a time > stamp connected to a sample index was enough to keep sample-sync > operation, even over multiple machines, up for quite a long time with > latencies around the normal 0.2s. In that case it would predict the > sample index based on time passed since the reference measurement, and > encode that in the bundle timestamp (which was the patched part of > that version). I was hoping that supernova was doing something like > that as well, but perhaps the normal NTP time stamp resolution is too > low for that? Or the bundle timestamp sent with the messages is not > actually based on logical time? Or is it that SystemClock time != NTP > time? > > In any case, it would be very handy, and as far as I can tell also > possible, to have actual sample based timing in SC if somehow actual > sample indices could be sent with OSC messages. > > cheers & thanks, > Wouter > > > >> Op 20 mei 2021, om 00:38 heeft [email protected] >> <mailto:[email protected]> het volgende geschreven: >> >> Hi, >> >> I’ve described this behaviour also here, you can try improve by >> tweaking the hardware buffer size but essentially you can’t get >> around it with dynamic language time base as Christof pointed out. >> You can use NRT though. >> >> https://scsynth.org/t/imperfection-of-language-based-timing/350 >> <https://scsynth.org/t/imperfection-of-language-based-timing/350> >> >> Cheers >> >> Daniel >> >> >> >