[LAD] Again MIDI jitter - tested with Fons test applications

Ralf Mardorf ralf.mardorf at alice-dsl.net
Sat Mar 27 17:26:33 UTC 2010


Hi Fons :)

fons at kokkinizita.net wrote:
> On Sat, Mar 27, 2010 at 09:09:38AM +0100, Ralf Mardorf wrote:
>
>   
>> Regular it shifted between 2395 and 2404, but with a few exceptions,
>> one time 2302, three times 2304, two times 2305 and two time 2494.
>> See attachment.
>> What might cause this exceptions? Could it be access to the RAM by
>> the graphics? Is there something bad because of the IRQs?
>>
>> Regular shift 2404 - 2395 = 9 frames of jitter, exceptional maximal
>> shift 2494 - 2302 =  192 frames of jitter.
>>
>> I guess this does mean ...
>> 5.3 ms / 512 frames = 0.010351562 ms/frame
>> Maximal difference for regular jitter 0.093164062 ms.
>> Maximal difference for exceptional jitter 1.9875 ms.
>> ... am I wrong?
>>     
>
> Wrong once or twice, if twice in such a way that the two
> errors cancel out.
>
> First note that the test prints the difference between 
> events. That means that e.g. if *one* note is 100 samples
> late you could see  2400 2500 2300 2400.
>
> The '2300' is just because the previous one was late,
> not because this one arrives too early. So you should
> divide the jitter as you measure it by two.
>   

Aha, okay this is plausible.

> Second, 5.33 ms = 256 frames at 48 kHz. But maybe you
> are using 96 kHz ??
>   

So you didn't read the attachment ;), yes I did use 96 KHz.

>> If you play one drum sound after the other using hardware MIDI and
>> you record one sound after the other to audio tracks, than jitter
>> needs to be less 2 ms. I don't know how much under 2 ms, but more
>> than 2 ms is audible and sounds horrible.
>>     
>
> I have some difficulty in believing this. It will sound
> horrible of you mix sounds that have more or less the same
> spectrum - any delay there will lead to cancellations.
>   

No, let's say I would record the HiHat two times, than you would be 
right, this would be heard as a phasing and not as a bad timing, but if 
you would record first the kick and than the HiHat the groove would be 
broken, perhaps not for non-musicians, but for the gifted musicians I 
know and btw. for myself too, but because I'm the tester I prefer to 
refer to musicians who doesn't know that I playback the result of a test.

> But doing that is a bad idea anyway, even without using
> MIDI. You get the same problem if the same sound is captured
> by two mics at a different distance.
>   

Circulation period for stereo microphoning is a completely other issue. 
Just use a C64, Atari ST or any hardware sequencer from the 80ies. This 
jitter is unacceptable. Any musician having such a bad timing never ever 
would be allowed to study music on any German university. You need to 
differentiate. "Human touch" might be similar less precise, but please 
take a look at "less precise" syncopation, while the "human jitter" 
tends always to be to early, nothing bad for a syncope, for Linux MIDI 
jitter it also could be a little bit to late. Perhaps it's possible to 
cover a Lady Gaga song, but free jazz is impossible ... and it was 
impossible even for the C64 ;).
> Second, 2ms is 0.6m, which is less than the size of a drum
> kit. It is also less than the time required to send a 3-note
> chord over MIDI.
>
> Finally, Jack MIDI uses ALSA when talking to HW ports.
> If Jack can do it right, any application using ALSA 
> should be capable of doing that as well.
>
> Ciao,
>   

If I understand your comment correctly you are saying, my system isn't 
bad, this is normal for Linux?

If so, than Linux MIDI for hardware equipment can't be used by musicians!

This is important for me. I could tray to get another PC for Linux, or I 
could try to repair my Atari ST.

The timing issues are audible, not only for me, but also for musicians 
who don't know that some songs just were timing tests.

Are you sure, that you are unable to here this by yourself? Please 
record a HiHat, a Snare and a Kick, one after the other. If you should 
have the same jitter, you might here the effect too. In addition play 
some syncopated chords to the drums. You should notice that the 
syncopation sometimes limps.

:(
Ralf



More information about the Linux-audio-dev mailing list