Improving synchronisation for collaborative live-coding

Hey! I’m trying to setup a musical piece that would involve 7-8 people live-coding together using Troop. If you don’t know this tool, it works pretty well already and it allows you to collaborate and code with other people through network, by sharing the same buffer of text.

However, we try to use it to synchronise multiple players in the same room. That means that delay is pretty easily noticeable when playing around with rhythmical loops, or with long arrays of notes. Approximatively 50% of the time, we are able to synchronise it in such a way that the delay is pretty much not noticeable due to the multiplication of the sound sources in the same sonic space.

The rest of the time, we hear a very — very — precise delay that could correspond to an eight or sixteenth note. It must mean that we are still in sync but that every computer started just a few milli-seconds too late or too soon.

Is there anything built in Sonic-Pi that could allow us to optimize this synchronisation by making Sonic-Pi more reactive? The person I was running the tests with was suggesting to change the audio buffer size. Do you know how we could do so? Or any other hack?

Thank your for your help! I hope that we’ll be able to figure it out and synchronize everything so we can enjoy collaborative live-coding.

2 Likes

Interesting. First thoughts - internet time & clock, latency, buffer and device configas you mention.

Also wondering if possible to try an A|B test with ninjam. this probably won’t help much, but may be interesting to see if synchronicity is achieved there.

Other than that not sure if jack/ jacktrip could help, or be tested.

will try this when I can (with more devices;)

ps: these may help