[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