LinkClock / MIDISyncClock: Video tutorial

I just uploaded this – it’s one thing to read about how to use sync methods, and another thing to see them in action.

hjh

10 Likes

Thanks a lot! Very helpful and super clear explanation!

Thanks, great explanation. I would love to see Link support in Tidal Cycles, would be perfect to sync it with Supercollider I think. But not easy to implement apparently: https://github.com/tidalcycles/Tidal/issues/660

That’s true – Tidal is its own client with its own scheduling mechanism, so there’s little that SC can do to help with that.

I’ve run my own live coding system (100% SC) alongside other software using Link and it’s so cool for live coding. Looking forward to a Tidal person improving the Link support on their side.

hjh

Update: I’ve added latency compensation to MIDISyncClock. You can now manually specify a number of ticks by which to offset the time for which processes are scheduled.

  • You have to tune it manually – it isn’t calculated automatically from latency and tempo, because you may or may not need to account for audio driver latency.

  • The clock time passed to processes will be different from normal TempoClock. For most processes, this shouldn’t be an issue. If the process depends on specific numbers of beats, you might have problems with it. (I tried an approach to deal with that, but ran into unexpected problems and also ran out of time. Would welcome solutions from others.) Edit, one day later: After finding bugs with that approach, I thought of a simpler way today. Now, the clock time passed in will be consistent; instead, the time base shifts. It’s much more reliable.

  • It will not support tempo changes well. I’m afraid I don’t have time to handle that properly.

Hope this is helpful to someone,
hjh

1 Like

Link implementation in Tidal seems to have started. :sunny:
He could use some (C++?) help though: