Midi Clock jitter Bug with repetitive pattern.

Hi Steinberg,

I noticed a Midi Clock Jitter Bug with a repetative pattern.

  • Create empty project.

  • Add midi track.

  • Transport/Project Synchronisation Setup :

  • Set Midi CLock Destination to a Midi-Port

  • Uncheck MidiClock Follows project.

  • Uncheck Always Send Start Message

  • Uncheck Send MIDI Clock in Stop Mode

  • Set Tempo to 100 BPM

  • Get an Arduino Micro and build a programme that reports the time between midi clock pulses, start Serial Plotter in the arduino software, and the you get these graphs.

(there are other ways to analyze midi clock data, but I’m building an analog BB-delay with midi sync, the Arduino is doing the syncing and clock generation for the BB-chip, that’s the reason for the Arduino)

[Cubase MIDI Clock Graph]
Cubase9.5_MidiClock.png

  • And see, there is very clear repetative jitter pattern (starting from clock pulse 26 in the graph), always in a cycle of 6 clock pulses. The blue line is a counter resetting every 6 clockpulses, for reference.
    The first 26 pulses in the graph show how stable Cubas Midi Clock can be, unfortunately this short period of nearly a Bar only takes place when hitting Play and then about every 6 Bars.


    @100BPM, the average time between 2 pulses should be 25000 micro seconds (uS)
    in the graph we have:
    x-axis : the clock pulse count, every gray line represents a clock pulse
    y-axis (for red line): the time since the previous pulse, in micro seconds.

  • clock-pulse 1 = ~25000 uS : ok

  • clock-pulse 2 = ~26000 uS : 1000uS too long

  • clock-pulse 3 = ~24000 uS : 1000uS too short (compensation?)

  • clock-pulse 4 = ~25000 uS : ok

  • clock-pulse 5 = ~25000 uS : ok

  • clock-pulse 6 = ~25000 uS : ok

So what we see here is a huge variation in Midi tempo within the time of a beat.
1000/25000 = 0,04 = 4% jitter up an down thats 8% speed difference!

This explains why my Arturia DrumBrute’s BPM display is always jumping up and down when synced to Cubase Pro 9.5. I also checked Cubase Pro 8.5, and it shows the same problem.

For reference I also checked the Midi Clock jitter of my DrumBrute, and as the thightness of the machine does suspect, it hardly shows any jitter.
This is the amount of jitter I expected Cubase to have, and it seems Cubase is able to do this, but for now only maintains this tightness for 3 beats every 6 Bars…

[DrumBrute MIDI Clock Graph]
DrumBrute_MidiClock.png
As you can see in the DrumBrute graph:
Max 25050uS and Min 24950uS that means 50/25000 = 0.002 = 0,2% jitter.
That’s 20x tighter then Cubase!

Both my RME and MOTU gave the same timing results, so that would probably exclude driver issues.

The clock starts Jittering when the MIDI clock is synced to audio or sequencer…

If you change the setting:

  • check Send MIDI Clock in Stop Mode
    You can see MIDI clock is much more constant when Cubase is stopped, instead of playing and the distinct pattern in the Clock Jitter also disappears when Cubase is stopped.

Because of the steady repetition of this timing deviation, I think there must be a calculation error in the code or something like that.
Counting from 0 or counting from 1…Mayby be a rounding problem, or some other stupig mistake.

I don’t know, what I do know is that MIDI-sync has not been working properly for a while, and this is is the reason.

Please check this, shouldn’t be too hard to fix.
Tight MIDI would make a lot of people happy, it actually is the basics of a sequencer.


Grt,
Sander.

Cubase Pro 9,5,20
MacOS 10.13.4
iMac17,1
Motu MidiExpress128
RME FF800

3 Likes

A simple way to see the MIDI clock timing problem is using MIDI Monitor.app ( snoize: MIDI Monitor )

  • only monitor the midi output to which the MIDI clock is send.
  • have Cubase playing @125.0 BPM. So clock pulses should come every 20ms, then a late clock pulse is easy to spot.

As you can see 1 in every 6 clock pulses is 1millisecond late.
This late clock pulse is a problem for sequencers or time synced effects syncing to cubase:
In every 1/16note there is a speed change of +4% and -4% due to this. That is a HUGE wobble.
Some sequencers/effects may average out this time warp, but not all of them and probably not totally unnoticeable.

I think this is quite a serious problem for a SEQUENCER/DAW like Cubase, I checked other DAW’s, Bitwig and Studio One and they don’t show this problem.

If you care about good MIDI timing and tight sync, please do this test and show Steindberg this is not only a problem on my system but on every system.

Output from MIDI Monitor

22:49:25.872 > To Express128 Port 8 Clock ← 1ms late
22:49:25.891 To Express128 Port 8 Clock
22:49:25.911 To Express128 Port 8 Clock
22:49:25.931 To Express128 Port 8 Clock
22:49:25.951 To Express128 Port 8 Clock
22:49:25.971 To Express128 Port 8 Clock
22:49:25.992 > To Express128 Port 8 Clock ← 1ms late
22:49:26.011 To Express128 Port 8 Clock
22:49:26.031 To Express128 Port 8 Clock
22:49:26.051 To Express128 Port 8 Clock
22:49:26.071 To Express128 Port 8 Clock
22:49:26.091 To Express128 Port 8 Clock
22:49:26.112 > To Express128 Port 8 Clock ← 1ms late
22:49:26.131 To Express128 Port 8 Clock
22:49:26.151 To Express128 Port 8 Clock
22:49:26.171 To Express128 Port 8 Clock
22:49:26.191 To Express128 Port 8 Clock
22:49:26.211 To Express128 Port 8 Clock
22:49:26.232 > To Express128 Port 8 Clock ← 1ms late
22:49:26.251 To Express128 Port 8 Clock
22:49:26.271 To Express128 Port 8 Clock
22:49:26.291 To Express128 Port 8 Clock
22:49:26.311 To Express128 Port 8 Clock
22:49:26.331 To Express128 Port 8 Clock
22:49:26.352 > To Express128 Port 8 Clock ← 1ms late
22:49:26.371 To Express128 Port 8 Clock
22:49:26.391 To Express128 Port 8 Clock
22:49:26.411 To Express128 Port 8 Clock
22:49:26.431 To Express128 Port 8 Clock
22:49:26.451 To Express128 Port 8 Clock
22:49:26.472 > To Express128 Port 8 Clock ← 1ms late
22:49:26.491 To Express128 Port 8 Clock
22:49:26.511 To Express128 Port 8 Clock
22:49:26.531 To Express128 Port 8 Clock
22:49:26.551 To Express128 Port 8 Clock
22:49:26.571 To Express128 Port 8 Clock
22:49:26.592 > To Express128 Port 8 Clock ← 1ms late
22:49:26.611 To Express128 Port 8 Clock
22:49:26.631 To Express128 Port 8 Clock
22:49:26.651 To Express128 Port 8 Clock

2 Likes

Is this not important enough?

1 Like

Possibly, repro jitter issues like this are like opening a can of worms. I think jitter issues are very complex and not only hard to fix but hard to establish.
I have done some tests long ago (previous Cubase versions) and easily found jitter in midi input, many others have confirmed as well input jitter in various forms, too.
Hard to establish as a priority maybe because so many people use midi in Cubase in professional situations…
Seaching for previous issues will easily show other issues, I don’t know if they share exact details of your found issue or not.
I guess first thing is to try and establish whether or not the issue really is present in Cubase (which OS and version PC/MAC?) which hardware, etc. So many variables that we need many users to be able to follow reproduction steps using various OS, hardware, controllers, etc.

Hi Beerbong,

Jitter issue can indeed be complex, but this issue is not really a jitter issue, nor is it complex.
It’s just a matter of faulty calcutions.

As you can see below every 6th clockpulse is 1000000 nanoseconds late.
That can not be caused by system instabillity or performance issues or stuf like that.
Jitter with those causes is not very likely to appear in exact steps of 1000000 nanoseconds (1.000000 milliseconds).
Other DAW’s like StudioOne and Bitwig would very likely also have this problem on my system, but they don’t.

Maybe i shouldn’t have used the word “jitter”.
But it certainly is a pattern and a bug.


Could you or anyone please do the test like described in my first post and post the result here?
It would be very helpful.



Midimonitor output: monitoring a midi output.
- cubase running @125.0BPM
- Send midiclock: on
- Created an Empty project. (not important) 


------1000000
------v------
2441952922783	To Express128 Port 8	Clock		
2441971922783	To Express128 Port 8	Clock		
2441991922783	To Express128 Port 8	Clock		
2442011922783	To Express128 Port 8	Clock		
2442031922783	To Express128 Port 8	Clock		
2442051922783	To Express128 Port 8	Clock		
2442072942713	To Express128 Port 8	Clock <<		
2442091942712	To Express128 Port 8	Clock		
2442111942712	To Express128 Port 8	Clock		
2442131942713	To Express128 Port 8	Clock		
2442151942713	To Express128 Port 8	Clock		
2442171942713	To Express128 Port 8	Clock		
2442192926155	To Express128 Port 8	Clock <<	
2442211926155	To Express128 Port 8	Clock		
2442231926155	To Express128 Port 8	Clock		
2442251926155	To Express128 Port 8	Clock		
2442271926155	To Express128 Port 8	Clock		
2442291926155	To Express128 Port 8	Clock		
2442313082772	To Express128 Port 8	Clock <<		
2442332082772	To Express128 Port 8	Clock		
2442352082772	To Express128 Port 8	Clock		
2442372082772	To Express128 Port 8	Clock		
2442392082772	To Express128 Port 8	Clock		
2442412082772	To Express128 Port 8	Clock		
2442433078925	To Express128 Port 8	Clock <<		
2442452078925	To Express128 Port 8	Clock		
2442472078925	To Express128 Port 8	Clock		
2442492078925	To Express128 Port 8	Clock		
2442512078925	To Express128 Port 8	Clock		
2442532078925	To Express128 Port 8	Clock
1 Like

bump

1 Like

update to version 9.5.41 : MIDI CLOCK bug is still present.

Steinberg support is still absent.
I also reported this bug as a support issue, but that didn’t give me more than a case number.

We are almost at 8 months of silence from Steinberg.

and now Steinberg expects me to buy version 10 ?


bye,
Disappointed Customer.

1 Like

If someone is wondering why the BPM counters of their external sequencers are not steady when slaving to cubase midiclock, this is why…

If someone is wondering what Steinberg Support means, I don’t know.

1 Like

I also encountered the same problem
Sep 24, 2020
https://imgur.com/a/oyr4wzu

1 Like

suffering from the same problems. posted a thread few days ago that has been “approved” by the admin’s today but no any comment or any interest from the support team. very furstrating problem that just getting more and more irritant. i found my self sitting for hours to eliminate or overcome that timing issues instead of creating any tune … started to download demo of abelton to experience and check if that midi clock problem related to that DAW allso. so furstrating cause cubase is my “go to” for more then 20 years but with that kind of problem i have no choice rather finding a better option. hope Steinberg will do somthing in order to release an hot fix ASAP . i was just a “click” from buying the new 10.5 untill i found out the problem exist allso there so whats the point to “upgrade” and still stay at the same situation

1 Like

update after experienceing with Ableton live 10 and testing that specific timing with midi clock i can say Ableton holds tempo perfectly !
both cases it behaves like a charm with internal sync and external sync from the beat step pro. my sh 101 getting clock from Ableton connected to my RME HDSP-Aio through the midi ports and sits tight on grid without any bumps or agressive drifts

1 Like

I am experiencing this with cubase 11

1 Like

It is still present in Cubase 12.0.60.

I mad an easier test, utilizing the built-in arpeggiator of an Akai MPK mini3. It is synced to Cubase’s MIDI clock and should output a note every 16th bar. The PPQ is set to default 480 (120 ticks to a subbeat) , so that in an ideal world the start positions should be from x.x.x.118 to x.x.x.2

Note how Cubase starts well and then decides to accelerate until the positions stabilize from x.x.x.94 to x.x.x.100.

Why the tempo increase?

I counter-checked the internal timing stability of the Akai arp, which yielded max. 2 ticks variation.

On this PC I use Windows MIDI as I couldn’t get the Akai to work with WinRT. Not sure if Windows would mess with outgoing clock signals, though.

1 Like