Subject:
Re: [LAD] Again MIDI jitter - tested with Fons test
applications Date: Sat, 27 Mar 2010 18:26:33 +0100
From: Ralf Mardorf <ralf.mardorf(a)alice-dsl.net>
To: fons(a)kokkinizita.net
CC: linux-audio-dev(a)lists.linuxaudio.org
References: <4BADBD42.4030505(a)alice-dsl.net>
<20100327164326.GD1545@zita2>
Hi Fons :)
fons(a)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.
[snip]
Subject: Again MIDI jitter - tested with Fons test applications
Date: Sat, 27 Mar 2010 09:09:38 +0100
From: Ralf Mardorf <ralf.mardorf(a)alice-dsl.net>
To: Linux Audio Developers <linux-audio-dev(a)lists.linuxaudio.org>
When I once tested it by recording I got this
result for ALSA MIDI on
Linux, Cubase runs on Windows on the same machine:
||Cubase|HR tmr|System|PCM pl|PCM ca
------++------+------+------+------+------
500.0 || 493.0| 504.9| 505.6| 503.4| 503.2
1000.0|| 993.4|1005.4|1005.8|1005.3|1006.4
1500.0||1494.5|1503.6|1506.4|1507.4|1507.3
2000.0||1994.8|2003.8|2007.2|2007.9|2009.5
2500.0||2492.4|2504.1|2504.3|2503.6|2503.2
3000.0||2992.9|3006.0|3006.2|3005.9|3007.6
3500.0||3493.7|3502.7|3505.4|3506.5|3509.5
4000.0||3994.6|4003.1|4003.2|4008.8|4009.9
msec +/- 0.1 msec
maxDif|| 4.8| 6.0| 7.2| 8.8| 9.9
minDif|| -2.4| -2.7| -3.2| -3.4| -3.2
--------------+------+------+------+------
Jitter|| 2.4| 3.3| 4.0| 5.4| 6.7
msec +/- 0.2 msec
... as you can see, for Cubase I got this 2ms of jitter. So regarding
to your explanation Herman, Windows + ASIO + Cubase does a good job,
just the USB interface will limit it, while for Linux there seems to be
another issue too, but the USB interface. Btw. Linux HR tmr is a PITA,
just System, PCM pl and PCM ca are usable without issues for all Linux
apps.
What could be the cause that Windows just is limited to the USB
interface by 2.4 ms, but Linux comes with 4.0 ms on my machine?
Joshua Boyd on LAD wrote:
On Thu, Jun 17, 2010 at 10:37:25AM -0400, Gene
Heskett wrote:
>> At my school we transfered the CAD files per floppy to a DOS box
>> that controlled the CNC machine, guess that's for the same reason,
>> bad rt capabilities of newer OSes and machines.
>
> The RTAI works pretty well, I can start a job, switch away from that
> window, and talk to the guys on IRC, or browse the web without
> hurting the job. That to me is true multitasking.
So, that leaves me wondering why no one seems to be trying RTAI for
audio work? Or is someone doing that and I'm just not aware?
Today I tried to do so.
I tried to run JACK2 with -R switch by user and by sudo, the result was
the same as here, when I launched JACK2 without -R switch on 64 Studio
3.0 beta based on Ubuntu Hardy:
$ uname -r
2.6.24-16-rtai
$ jackd -dalsa -dhw:0 -r96000 -p512 -n2
jackdmp 1.9.3
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2009 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in non-realtime mode
creating alsa driver ...
hw:0|hw:0|512|2|96000|0|0|nomon|swmeter|-|32bit control open "hw:0" (No
such file or directory)
Cannot initialize driver
no message buffer overruns
JackServer::Open() failed with -1
Failed to start server
ALSA seq couldn't start too.
Which could be an interaction with the rtai kernel.