Rack v2 still has midi clock jitter issue from other Daws?

IMO, midi realtime messages are the only ones that are supposed to be used for accurate sync’ing. The MTC is not accurate to 1/3125 sec - it has lower priority than midi realtime messages. It’s sent every 1/15 s (at 30fps) - but it has to move for the realtime messages … as far as I can read from the midi spec.

Midi on generally purpose computers has jitter full stop. I can’t get solid timing from Ableton Live to outboard gear with a MIDI port dedicated to midi sync.

I got decent timing between Live and Rack just sending steady 16th notes over Bridge. There was a delay in the recorded audio but you can just line it up after you record.

Nothing can fix clock jitter on general purpose computers, they’re literally built out of jitter. No one at Microsoft ever pounded their fist on the table & yelled “sub-millisecond solid MIDI timing or you’re all fired!”

2 Likes

usually MTC was sent down the wire by itself, so there were no realtime messages getting in-between. I can assure you it was designed for accurate sync.

Also, at 30 fps a quarter frame is 1/(4 * 30) = 1/120 seconds per quarter frame message, isn’t it?

it’s not the computer, it’s the operating system. In the “old days” you could hook a hardware interrupt directly and be super accurate. This worked on DOS, Windows 1, 2, and 3, and Mac up to OS-9.

Introducing the MMU and virtualization of interrupts made modern computes much more stable, but made midi timing terrible. When the world decided they wanted windows music software I stopped making it.

1 Like

I never programmed MTC time sync, I just read this:

"When the time is running continuously, the 32-bit time code is broken into 8 4-bit pieces, and one piece is transmitted each quarter frame. I.e. 96—120 times per second, depending on the frame rate. Since it takes eight quarter frames for a complete time code message, the complete SMPTE time is updated every two frames. "

Depends how you lock your clock phases i guess, but if i was to code something to sync over MIDI, i’d prefer " System Real Time Messages" - Just saying.

If it’s possible to make VCV more accurate or not - future will tell. Others succeded in getting lower jitter than VCV Rack - Even on windows.

Alsa midi seq implements two queue’s - one for realtime, and one for PPQN time. https://vovkos.github.io/doxyrest/samples/alsa/page_seq.html

“apply their own tempo map” … which makes it not too useful of a comparison where there’s a host with a tempo map and a timeline, and plugins are supposed to follow it.

MTC can provide you with an accurate “wall-clock” reference, but can’t connect that to musical time. You need a tempo map for that, and the only relevant tempo map in this context is in the host. Plugins have no direct access to it; plugin APIs only allow the plugin to ask about the musical time “right now, and coming up soon”.

Also, many of those pro-sequencers from the 80s relied on MMC play/stop commands as much as the actual MTC timecode stream, although I agree that a number of them could use MTC too (but only because they defined their own tempo map).

1 Like

Again, MTC has no relevance for musical time sync, which is what most sync-via-MIDI-for-DAWs-hardware-and-plugins is all about.

MTC is video timecode transcoded into MIDI messages. It does not define tempo, beats, bars or any other musical time in anyway whatsoever.

Want tight timing, buy a mpc3000.

People still keep msdos computers around today to run my ms dos sequencer from to early 80s. Plenty tight.

1 Like

Or just audio impulse to trigger midi? Im using sync gen pro and havent looked back since then, but its only midi trigger without data!

For this reason I created the ‘MIDI over Audio’ Module.

I made this module before MIDI output was added to ‘VCV Host’.
The complement VST can also run inside a DAW.

3 Likes

So wait through the host module and this u can send midi impulse and all its data from lets say sequencer into hardware gear? If I got it right?

No, you can’t send anything out of the VCV Host module, except into the VCV Rack itself.

You need some software like JackAudio or an audio interface that provides audio loopback (e.g. the Motu UltraLite). Then you can use my VST inside a DAW of your choice to send MIDI over audio out to, let’s say JackAudio and route it to the VCV Rack.

I think I should make a video on that topic.

5 Likes

Your module/vst plugin look interesting Ahornberg - but if one is going to do this via an audio channel, isn’t it worth just going the whole hog and using an audio pulse in a sampler (or audio clock plugin in the DAW like Silent Way sync or Ableton CV clock) for sample accurate timing?

Impromptu Clocked is rock solid when externally clocked with an audio pulse.

1 Like

The pulse would be accurate but couldn’t have any more semantics than MIDI Clock (ie. just a regular pulse). If you want a more general way to deliver arbitrary MIDI, then Ahornberg’s module would be required (e.g. for absolute position references such as MIDI Song Position Pointer). Depending on what you’re trying to sync, sometimes MIDI Clock is enough, and sometimes it isn’t.

1 Like

You should

More tests:

  • Midi clock from VCV to Max ~ 1 ms
  • Midi clock Logic Pro X to Max ~ 0.001 ms
  • Midi clock Reaper to Max ~ 0.001 ms

The easiest way is always the best, so I would also prefer using an audio pulse for a clock signal.

here is the video:

1 Like

thats sick mate, will give it a shot later on. Im about to purchase ultralite mk4 too