[2.2.102 & 3.0.24] MIDI Clock tempo deviation (invalid bytes sent with MIDI Clock from VST Live)

Hello,

I have found a possible MIDI Clock issue in VST Live.

When sending MIDI Clock from VST Live to external hardware, the tempo received by the device is not correct. As a result, synced functions such as the arpeggiator or LFO slowly drift out of sync over time.

Example:

  • Song tempo in VST Live: 152 BPM
  • Tempo shown on Nord Lead A1: around 155–158 BPM

After about 60 bars, the timing drift becomes clearly audible (arp and LFO are no longer in sync).

Test setup

  • MacBook Pro M4 Pro, 48 GB Ram
  • VST Live 2 & 3
  • Cubase 14 Pro
  • Nord Lead A1

Connections tested

  1. USB MIDI directly to the Nord
  2. DIN MIDI via MIDI interface CME U6MIDI Pro

Both connections show the same behavior.

Important:
When sending MIDI Clock from Cubase 14 Pro using the same hardware and MIDI port, the tempo is correct and stable (152 BPM).

Additional tests

To exclude other causes I also tested:

  • new empty project
  • no program changes
  • only MIDI Clock active

The problem still occurs.

Additional observation

Using MIDI Monitor on macOS shows this pattern when VST Live sends MIDI Clock:

Clock
Invalid (2 bytes)
Clock
Invalid (2 bytes)

When sending MIDI Clock from Cubase, only valid messages appear:

Clock
Clock
Clock

This might indicate that malformed MIDI data is being sent after the clock messages in VST Live, which could explain why the Nord Lead A1 does not receive the correct tempo.

Could someone please check this?

Thanks!

2 Likes

Additionally, here are 2 videos from Cubase and VST Live in connection with Nord Lead A1:

VST Live 3 (incorrect tempo on Nord Lead A1):

Cubase 14 (exact tempo on Nord Lead A1):

3 Likes

So I actually get a similar thing. Been using tempo for my guitar rig and it’s started not matching the tempo of the song. Out by just a little - like song is steady 110bpm but my rig now receiving deviating tempos from 96-99. Strange. Will test on some other devices.

Tempo is also off using DMXDesktop via MIDI loopback. Windows 11 latest updates.

1 Like

Will check this once again, but there is no “invalid” MIDI byte except 0xF4, 0xF5, 0xF9, and 0xFD (let me know what its value is supposed to be).

VST Live also sends MIDI continue (0xfa), MIDI Stop (0xfb) and MIDI Song Position Pointer (0xF2 followed by 2 bytes), but should send nothing in between clocks (except channel messages sent by Layers, MIDI tracks etc of course).

Thanks for looking into this.

I monitored the MIDI Clock output again using the app MIDI Monitor on macOS, this time with Expert mode (including the data column).

The “Invalid” entries reported by MIDI Monitor always show the following data:

00 00 00

Example when sending MIDI Clock from VST Live:

Continue   FB
Invalid    00 00 00
Clock      F8
Invalid    00 00 00
...
Stop       FC
Invalid    00 00 00

The main reason I started monitoring the MIDI stream was to understand why the received tempo is not correct on some external synths.

I am not sure whether these “Invalid” entries are related to the tempo deviation, but this is currently the only observable difference I could find between Cubase and VST Live.

When sending MIDI Clock from Cubase using the same setup, no such entries appear:

Continue   FB
Clock      F8
Clock      F8
Clock      F8
...
Stop       FC

In addition, the tempo is always correct and stable in Cubase, while in VST Live it is not (e.g. 152 BPM project tempo results in ~155 - 158 BPM on the Nord Lead A1).

So even if the “Invalid” entries are just a monitoring artefact, there still seems to be a difference in the MIDI clock behaviour between Cubase and VST Live.

Let me know if further tests would be helpful.

Thanks!

3 Likes

does your monitor not name “invalid”? Clock is f8, invalid is…what?

Had a debug point for any invalid (those mentioned above) midi bytes directly at the driver port output, no such occurences.

Hi,

unfortunately I don’t know what Invalid means. I’m using MIDI Monitor from Snoize ( snoize: MIDI Monitor )

Please watch the video, which shows what I’m doing and what the MIDI monitor output looks like.

The invalid part is always sent simultaneously with the MIDI clock.


For the sake of completeness, here’s a video using Cubase:

Invalid in this case are 3 bytes 00 00 00, sorry.

That’s Mac, was testing on Windows. Will check, thanks for the info.

3 Likes

We found the problem (Mac only).

It should not really confuse a MIDI receiving device if wrong data are sent to it. But it might, so please try again with the next version. Sorry for the inconvenience.

Thanks for fixing the invalid byte issue — this is resolved now, and no more invalid data is sent.

However, the original problem unfortunately still remains: the MIDI clock tempo is not correct on the Nord Lead A1.

I noticed an interesting behavior:

  • At 136 BPM the tempo is stable (136–137 BPM on the Nord)

  • At 152 BPM it consistently shifts to ~156 BPM

So the issue seems to depend on the selected tempo, not just general MIDI clock stability.

Cannot confirm. Sending MIDI Clock at tempo 152, the receiving clock analyser shows t=152 continuously as expected, and nowhere near 156.

This only happens with my Nord Lead A1 and only when MIDI clock is sent from VST Live. On my Yamaha Montage M7 the tempo is always consistent.

I have tested also with Ableton Live 11, Cubase 14 and MainStage, there is no inconsistency there - the Nord always shows the correct tempo as set in the apps.

Problem is often the same: user says “it works with a and b, but not with VST Live” (or whatever other app). We send MIDI Clocks as the standard suggests, which is approved by two MIDI Clock analysers (intern, MidiOx) - so what are we supposed do now, any idea?

1 Like

I have no idea what causes this. I can only observe that with the exact same setup it works correctly in Cubase, while in VST Live the tempo is not consistent.

1 Like

Seems you’re not the only one - somebody has this issue with Ableton https://m.facebook.com/groups/199605690584812/permalink/821493595062682/?

Have you tried a different method to connect MIDI?

Are you sending a lot of MIDI or is something else possibly sending clock or maybe sysex?

1 Like

Actually I have made some tests using different MIDI connections, also with a new VSTL Project (no SysEx, no additional MIDI CC or something)

Tested with:

  1. Connection via USB between Nord Lead A1 and MacBook Pro M4 Pro, set the MIDI Clock to Nord Lead A1 USB
  2. Used MIDI Interface CME U6MIDIPRO => MIDI OUT to MIDI IN of the Nord (without USB cable connected)
  3. Used the separate MIDI OUT from MONTAGE M to the Nord (MONTAGE M has a separate MIDI port for external MIDI units)
  4. Checked with MIDI OUT from RME Babyface Pro FS to Nord, MIDI Clock sent to Babyface Pro => Nord

Always the same problem and only with VSTL. Works fine on Ableton Live 11, Cubase 14, Logic Pro (current version), MainStage (current version).

… we are looking again to it. Thank you,
Michael.

We’ve made some improvements here. When pre-release 3.0.32 becomes available tomorrow (Friday), could you give it another try and let us know how it goes?

Thank you!
Michael.