Sync with variable speed / slaving [transport] to a clock

Basvlk's icon

Hi - I spent about 3 hours searching the forum (expecting this was something that has been done before) - if you could point me to an existing discussion that would be great too!

I'm looking to synchronise applications, laptops etc with a clock - but with the possibility of changing the clock speed, and possibly location. Pretty much what the transport function does but I'm struggling figuring out how a 'transport' object can be slaved.

My initial thought was to send midi clock over OSC. Or MTC over OSC, not sure.

So imagine 2 devices running their own 'transport'
I can see how I can send a 'tempo' and a 'start' and a 'stop' to the slave transport - but not sure if there is a chance of drift between the the master and the slave (is that likely?) and secondly not sure if I can fluidly changed the speed on the master and how the slave will follow.

On a related note - how do I slave a transport to midi clock?

broc's icon

I've synced different computers with OSC (tempo/start/stop) and didn't notice any drift during a run of about 30 minutes, but without tempo changes. I think that tempo changes are problematic due to message delay.

For slaving to midi clock the [sync~] object can be used.

Basvlk's icon

Thanks broc! Can the sync~ then control a transport?

broc's icon

Yes, sync~ reports start (250), stop (252) and current tempo. For details see ref page.

Basvlk's icon

ah now i get it - I thought [transport] generated a clock, like an advanced [metro] but it actually needs to be driven. Thanks broc!