Stable external MIDI clock with Novation SL Mk3

I took a big leap into “gear” last week and purchased this wonderful MIDI sequencer and keyboard to use with VCV Rack. My excitement ran into challenge when I tried to join VCV Rack software sequences with Novation hardware sequences.

The MIDI-CV clock was jittery, drifty and laggy. Sometimes hardware and VCV Rack sequences would be in sync and other times not. I researched the forums and tried using hardware clock voltage signal through audio line in. The clock was more stable but less in-sync. I tried several clock modules and kept finding different problems. I tried using VCV Rack as the master clock. That made VCV Rack side very solid, but led to hardware sequence gates dropping out of sync and transport controls acting inconsistently.

After a day or two of experimenting and reading forums and github I found a solution that I feel pretty good about.

Instead of trying to sync a VCV Rack clock module to average out a BPM from a drifty MIDI or voltage clock signal, it works much better to reuse the external MIDI clock without modifying it. Holonic Systems Gaps module allows you to drop selected clock pulses without modifying the remaining ones. It has to be set to “Mus” mode to sync everything on the first beat. I used it in “Trig” mode with Submarine Pulse Generator to make neat 10ms pulses that are easy to visualize. Submarine Logic Analyzer helped a lot to understand what is happening with the clock pulses.

I use hardware Start and Stop transports to reset everything and restart all sequences in-sync. AS Flow turns Start/Stop triggers into a Run gate. You can turn the Run gate into Run On/Off trigger (Impromptu Gate-Seq needs that) with Count Module Poly G->T START/END output. That keeps the hardware and VCV Rack transport flow in sync even if you press Start or Stop buttons multiple times.

2 Likes

I just tried this and it does work better than trying to sync a clock. I’ve given up on trying to do this ‘properly’ though as there’s obvs some fundamental difficulty - usb, midi cables, midi over lan? don’t know enough about it. My experiments all show jitter of a few ms whatever method I try. A few ms isn’t a problem to the ear for a note - but it is a big problem for an e.g. 1/24s clock tick.

Now I use a conventional midi note to reset a clock in Rack, and when it’s good, disconnect it (with Flow or similar) and let it run. Maybe not a technically elegant solutions but it does work in practice. Works with midi/usb cables or rtp midi over a network.

One day I’m going to write a module that smooths the jitter out of an incoming midi clock tick. I think that will work. One day.

1 Like