[linux-audio-dev] Old hat - comparison against windows

David Olofson david at olofson.net
Wed Jan 31 20:35:16 UTC 2007


On Wednesday 31 January 2007 21:02, Michael Ost wrote:
[...]
> We have a 32 sample setting (.7 msecs) in Receptor which I have yet
> to see in a Windows driver. And it actually works with some plugins,
> even a large sampler like Synthogy Ivory --- if you don't try to
> play too many notes. %)
[...]

Have you considered RTAI/LXRT (microsecond scale hard real time in 
user space, sort of) for really insane latencies? ;-)

You would have to wire any API calls used in real time threads to 
implementations over RTAI, as you'll be switched back to normal 
SCHED_FIFO if you try to make any normal system calls. Further, you'd 
have to use shared memory (ie raw DMA buffer) mode, and 
some "external" synchronization mechanism, so you can avoid talking 
directly to the audio driver from the RT thread.

Now, you still can't get below the minimum latency of the sound card, 
which is usually defined by the PCI DMA burst size. Scheduling jitter 
can be low enough to process one sample at a time at 44.1 kHz, but 
the only real use for that is better CPU utilization; that is, you 
can push closer to 100% load without getting dropouts.

Of course, all of this is pretty much moot, unless all code that runs 
in the real time thread is strictly deterministic. My point is just 
that with an Open Source OS, at least in environments where you can 
have total control over the whole system, you don't have to stop 
at "sensible" solutions. There really is no limit to what you can do, 
if you really have to or want to, and have the time and resources at 
hand.


//David Olofson - Programmer, Composer, Open Source Advocate

.-------  http://olofson.net - Games, SDL examples  -------.
|        http://zeespace.net - 2.5D rendering engine       |
|       http://audiality.org - Music/audio engine          |
|     http://eel.olofson.net - Real time scripting         |
'--  http://www.reologica.se - Rheology instrumentation  --'



More information about the Linux-audio-dev mailing list