[PD-dev] Alternative to Portaudio under Windows
Thomas Grill
gr at grrrr.org
Sun Sep 14 22:09:38 CEST 2008
>
> Well, I've seen latencies down to 6 msec in linux using
> ringbuffers. They
> theoretically only add 64 samples of latency. So I don't think that
> in itself
> is the problem.
>
> I think the problem in Windows is the "audio server" that non-ASIO
> audio I/O
> apparently always goes through. Also, I think it's not feasible to
> use audio
> callbacks in Windows since Pd can make system calls (e.g., allocate
> memory)
> during the callback -- linux and Mac allow this but Windows doc says
> not
> to do that. (This shold be a leftover warning from older times but
> I've been
> heeding it anyway.)
>
Well, trying the forbidden way to use callbacks (and portaudio/ASIO or
WDMKS, as implemented in the devel_0_39 branch) actually yield ADDA
latencies below 5s for e.g. RME hardware, so the question is where the
additional approx. 20ms of latency for the ringbuffer-based ASIO PD
implementation come from. I've tried around a lot with the ringbuffer
implementation, but it seems the "theoretical limit" of the ringbuffer
implementation is just not approachable in Windows, for whatever
reason. Besides that, I think we can just forget MMIO or DirectX for
serious real-time audio.
Also, this thread brings up the question how other programs do it
(like Max/MSP or audio editing apps) - do they do something forbidden?
Huh?!
gr~~~
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2407 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20080914/b370478f/attachment.bin>
More information about the Pd-dev
mailing list