Forums > MaxMSP

MIDI clock jitter using sync~

October 18, 2010 | 6:12 pm

In my very straightforward patch below, I notice a pretty noticeable jitteriness in the BPM readout when using either Logic (8.02) or Ableton (8.1.1) on my Mac (10.6.4), and using Max 5.1.5. I’ve noticed the same on a PC.

Is this just a function of MIDI beat clock and its inherent jitteriness, or is there some way that I can improve my Max patch and/or Max environment settings to improve steadiness of sync?

– Pasted Max Patch, click to expand. –

Thanks…


October 18, 2010 | 8:58 pm

The attached patch calculates BPM directly from MIDI clock intervals.
When feeding it from Logic over IAC the fluctuations are about +/- 0.5 BPM.
You may compare this with your method.

– Pasted Max Patch, click to expand. –

PS.
Of course the fluctuations can be reduced by calculating the average of multiple intervals.
But this would also reduce the reaction time on fast tempo changes.


October 18, 2010 | 9:27 pm

Thanks broc – it’s essentially the same thing as my patch, except I believe sync~ does what you do with Max objects internally. I thought it (sync~) might be faster, since it operates at audio rate versus scheduler rate…. But basically I get very similar results with each approach…


October 19, 2010 | 9:40 am

Yes, I think the BPM jitter directly reflects MIDI jitter.
It looks irritating but in general has no audible effect.


October 19, 2010 | 12:49 pm

Thanks – for my application (a step sequencer), it does have some ramifications though, as any imprecision is additive; if one beat is delayed, then all subsequent beats are delayed…Unless of course some beats are a bit early in coming too. Then I suppose it would all even out in the end.


October 19, 2010 | 1:18 pm

Yes, it will even out since the jitter consists of +/- deviations. For example, I’ve calculated the average from 48 clock intervals at 120 BPM and got an exact value of 120.000.


October 19, 2010 | 2:45 pm

Good to know, thanks.


October 24, 2010 | 11:30 am

hi I was wondering, with this patch, how would you modify it so that you get a bang on each ‘beat’, so when the bpm is 120, it gives 120 bangs a minute? I want to use it to trigger a video effect based on the bpm from an external MIDI clock.


October 24, 2010 | 1:02 pm

MIDI clock delivers 24 clock events per beat. So a ‘beat clock’ can simply be implemented with a counter (patch below). You may add a counter reset to 0 if you want stop and restart exactly on the beat.

– Pasted Max Patch, click to expand. –

October 27, 2010 | 10:51 am

thanks!


Viewing 10 posts - 1 through 10 (of 10 total)