Midi Clock jitter Bug with repetitive pattern.

Use this forum for an overview of issues and to report new ones.
Post Reply
Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

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
(28.54 KiB) Not downloaded yet
- 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
(21.62 KiB) Not downloaded yet

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
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

A simple way to see the MIDI clock timing problem is using MIDI Monitor.app ( https://www.snoize.com/MIDIMonitor/ )

- 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
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

Is this not important enough?
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

beerbong
Member
Posts: 847
Joined: Thu Apr 07, 2011 6:06 pm
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by beerbong »

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.
BB - Intel Quad/RME/Nvidia Video, RME Raydat, Win10 Home
Cubase 8.5 64 bit / Cubase 9.5 / Wavelab Elements / Halion 6 / Padshop Pro

Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

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.


Code: Select all

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
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

bump
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

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.
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

Sander37
New Member
Posts: 9
Joined: Tue Apr 03, 2018 2:38 am
Contact:

Re: Midi Clock jitter Bug with repetitive pattern.

Post by Sander37 »

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.
Cubase Pro 9.5.50
iMac17,1 | i7-6700K | 16GB RAM
macOS 10.14.6
Motu MIDI Express 128
RME FireFace800

Post Reply

Return to “Issues”

Who is online

Users browsing this forum: No registered users and 0 guests