[PD] libPd timing issue, seemingly caused by processing multiple 'ticks' of audio blocks.
Roman Haefeli
reduzent at gmail.com
Sun Nov 15 09:54:39 CET 2015
On Thu, 2015-11-12 at 09:56 +0800, Chris McCormick wrote:
> The algorithm that SyncJams uses is quite simple:
>
> 1. All nodes keep their own internal metronome (integer counter).
> 2. All nodes broadcast their metronome counter value every tick.
> 3. If a node ever receives a metronome value that is *higher* and
> *earlier* that its own metronome, it immediately jumps to the incoming
> metronome's phase + value. Higher & earlier is treated as always "more
> correct".
>
> The effect of this is that all nodes sync to the fastest network ping
> time that is experienced during a session. So if the network has a
> general latency of 10ms but some packets sneak through in 3ms then the
> sync difference will be 3ms. The overall effect is that sync gets
> tighter over time monte-carlo-asymptotically towards the optimal
> possible latency given the hardware. It also means there is no
> master/slave setup and that the metronome that every node is syncing to
> is the virtual "consensus" metronome that emerges from the network
> rather than one specific node having the best or most correct clock.
>
> Each node assumes it is not the best node, and thereby the group
> benefits during consensus.
Cool design! Thanks for sharing the ideas behind it.
Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20151115/761b30ad/attachment-0001.sig>
More information about the Pd-list
mailing list