External MIDI Clock to Ableton Link


I’ve searched everywhere on the web without success so I guess it’s a good idea to open a discussion about the topic on this forum. I’m using an home-made live coding library that depends on SuperCollider to generate sounds (SuperDirt). My friend is using TidalCycles, and thus is also running SuperDirt. We would like to play together but my application does not support the Ableton Link protocol. However, it is fairly good at generating a precise MIDI Clock. I was thinking about doing the following:

My App – (MIDI) → SuperCollider → (Link) → TidalCycles (through Carabiner)

Is there a solution to this using SuperCollider, custom Quarks or anything of the sort?


MIDI clock operates on a strict leader-follower model, to my knowledge (one clock source, every other device conforms to that).

Ableton Link implements a cooperative model – there is no leader. All peers adjust mutually toward the middle.

Ableton Link isn’t designed to follow MIDI clock, because the cooperative model is fundamentally incompatible with leader-follower. I’m sorry to say but I think it just isn’t going to work that way.


I understand. Is it really doomed or could there be a hacky solution around this? Our current goal is to say synchronized for the duration of a ~30min gig. We can already synchronise manually and nudge if needed but I don’t see myself maintaining perfect sync for the duration of the show. What if a third-party was aggressively enforcing the tempo/phase of my MIDI Clock (every MIDI tick for instance)?