[chuck-users] other ways to live-code with time
Hans Aberg
haberg at math.su.se
Wed Apr 29 14:35:29 EDT 2009
On 29 Apr 2009, at 19:22, Mark Cerqueira wrote:
> I've spent this semester doing some independent work with Perry and
> Dan on how to get good network synchronization for PLOrk so that we
> don't need a conductor and can focus on doing other things. I
> implemented a Time-Tagged OSC protocol similar to the stuff Adrian
> Freed does. Essentially the protocol first synchronizes everyone's
> clock via a protocol that is based on the Network Time Protocol
> (NTP). On the PLOrk network, one machine runs as a NTP Server and
> all others run as NTP Clients - NTP Clients calculate the offset of
> their VM time to the server VM time, as well as keeping track of the
> round-trip time of packets sent to synchronize to account for that
> in the offset.
>
> Once the clocks are synchronized, packets sent over the network
> include the current time (which should be synchronized pretty
> closely if the above protocol works) and a time-to-execute offset.
> When someone receives the packet they add the current time plus the
> time-to-execute offset and schedule the packet to be opened only at
> that time. The NTP-like synchronization protocol I described above
> also keeps track of all RTTs and broadcasts to everyone what a good
> time-to-execute field is (i.e. make sure we give enough time for the
> packet to travel over the network). If all works well, everyone
> should open the packet at the same time.
I think somebody made a system for Internet performances (on any kind
of instrument) where one does not bother synchronizing the sources,
but the outputs are sent to a common computer which mixes them and
sends it back to the performers. These wear headsets and need to learn
to perform in a situation where the sound is delayed. (Perhaps similar
to some pipe organs, with pipes far from the console.)
A good synchronization will help, though, and will be a better
solution when achievable.
Hans
More information about the chuck-users
mailing list