midi jitter

Apr 28, 2013 at 12:50pm

midi jitter

Is it possible to pass midi through a max for live patch without introducing jitter? the jitter gets larger with live’s buffer. Is this a basic limitation?
I’m making various drum processing devices, and it seems hard to get anything on the money without a very small buffer.

#67909
Apr 28, 2013 at 1:47pm

Yes, it’s a basic limitation. Each M4L device (audio or midi) introduces latency depending on Live’s audio buffer. Unfortunately this behavior is not mentioned in the official documentation.

Strictly speaking, it’s not jitter but predictable latency which remains constant unless the audio buffer of Live is changed.

#244146
Apr 29, 2013 at 5:33am

There is noticeable jitter on my machine , worse at higher buffers 512 is unusable for drums, 128 passable. This is in addition to uncompensated latency. Do others have this jitter?

#244147
Apr 29, 2013 at 9:50am

In my experience and based on timing tests, processing midi through M4L devices introduces no jitter provided that the devices communicate via standard routings of Live, ie. no extra routings with send/receive objects.

Maybe you should explain your situation in more detail. Are you referring to midi input when playing live or just playback from clips or sequencers? What happens if you record the processed notes into a clip? Are the timing variations visible in piano roll?

#244148
Apr 29, 2013 at 11:24am

If I play a hihat sample on sixteenths at 120bpm, and put a max midi device containing just the standard two objects, midiin to midiout, before the sampler, and record the audio output to a resampling track, at a buffer of 512, a jitter of around 8ms is introduced. About half the hats are on the money and the rest are 8ms early. The same pattern of jitter is also apparent if I remove the sampler and record the midi output to another track.

#244149
Apr 29, 2013 at 11:51am

I can’t imagine that jitter is introduced by an empty max midi device. What happens if you remove the device and record the played sixteenths directly to another track?

#244150
Apr 29, 2013 at 4:11pm

They are all bang on the money , zero jitter.

#244151
Apr 29, 2013 at 6:27pm

Just did a quick test, playing a midi clip with 16th notes through an empty max midi effect and recording to another track. It turns out that all recorded notes appear with perfect timing even at highest resolution 1/16384 (~0.1msec} as shown in the picture.

[attachment=222385,5509]

Attachments:
  1. Picture1.png
#244152
Apr 29, 2013 at 6:31pm

Are you sure that this is midi jitter? I did following test – Miditrack 1 holds max monosequencer which plays16th notes. Miditrack 2 set to receive midi notes from Miditrack 1. After recording midi output from max monosequencer device I can't observe any jitter in recorded Miditrack 2 – check attached screenshot of recorded 16th. If you talk about audio buffers than this jitter most likely is introduced on interpreting midi notes by audio device and probably has nothing to do with max midi processing.

[attachment=222386,5510]

Attachments:
  1. jittertest.jpg
#244153
Apr 29, 2013 at 6:33pm

heh, we are nearly in sync :)

#244154
Apr 30, 2013 at 9:16am

Broc, what buffer size did you use? Can you try a big buffer 2048 or 1024 and see what happens? I get jitter of 20ms or more at these buffer sizes

Gjvti , its not the audio device. The audio device is sample accurate at all buffer sizes. The timing errors are introduced when midi enters max for live, at larger buffer sizes.

It would be helpful if anyone can replicate this so i know its not my setup.

I’m running an Imac core 2 duo. Latest versions of live and max.

#244155
Apr 30, 2013 at 10:54am

I’ve repeated my test with buffer 2048 and get the same perfect timing as before.

This is on Mac OS 10.5.8, Live 8.4, Max 5.1.9

I can’t believe that other versions behave differently since midi jitter *inside* a DAW would be a fundamental flaw.

#244156
Apr 30, 2013 at 4:38pm

I'm on Mac 2.4ghz core 2 duo OS 10.7.5
Max 6.1.1
Live 9.0.2

CPU showed 1% when I did the same test as you, at buffer 2048, empty song, just a max midi device, recording 16ths into another track.
The jitter is pretty big as you can see. Bypassing the max device banishes the jitter completely.

[attachment=222464,5518]

Attachments:
  1. ScreenShot20130430at17.18.08.png
#244157
Apr 30, 2013 at 4:59pm

Even more confusingly, this is intermittent. I just closed all applications and restarted my machine and the problem has vanished.
After I have been working for a while, the problem re appears, even if I create a new empty song. I have no idea what causes it to re-appear. I think this problem also occurred with Live 8 and Max 5.

#244158
Apr 30, 2013 at 6:15pm

It could be a memory (RAM) problem, ie. system overload caused by swapping. Look at the Activity Monitor how your system memory is used, in particular number of page outs.

#244159
May 2, 2013 at 11:43am

OK, Ive had Live running normally for a couple of days, and the problem has come back again, same as previously, 30ms jitter at 2048. I don't really understand what page outs or swapping are. Here is a screenshot of the Activity monitor while this problem is occurring.

[attachment=222598,5535]

Attachments:
  1. ScreenShot20130502at12.24.42.png
#244160
May 2, 2013 at 2:34pm

The number of page outs > 0 means that at some point (since last system restart) there wasn’t enough RAM to load required data and thus some “old” data had to be saved/swapped to disc. The screenshot shows free RAM but apparently swapping has occurred in the past. You could do a system restart (setting page outs to 0) and observe if and when the number increases.

Of course system overload by swapping is just a theory. For proper investigation of the issue it would be helpful to have a simple reproducible scenario.

#244161
May 2, 2013 at 5:21pm

I don’t understand why a lack of memory previously could leadto timing errors.
I can’t find a specific way to reproduce the problem. It just seems to start after a while of continual use.

#244162

You must be logged in to reply to this topic.