[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