Hi, 

I've started porting a Pd project to C++ and I'm working with the RtAudio 
library to interface with my soundcard (Focusrite Scarlett 6i6). There I 
noticed that I get a *much* better performance than in Pd regarding audio IO. I 
can play several thousand sawtooth tones with a blocksize of 1 and a buffer 
size of 64 samples (~ 1ms in my ASIO settings) and still get a clean and stable 
output on my Lenovo L440 laptop. In Pd, on the other hand, I get dropouts on a 
single testtone when I put the ASIO latency down to the same value. The 'delay' 
setting in Pd is 20ms - which is quite generous - so for me it's clearly an IO 
problem. I don't know if the reason is Pd or rather portaudio, though. 

The Focusrite Scarlett interfaces are 'special' in a way that they only let you 
choose a latency in ms, which is pretty annoying in some circumstances. 

I noticed some things when playing around with RtAudio:

If you requeste a buffersize (via RtAudio::openStream) which is *smaller* than 
the current latency set in Scarlett MixControl (in ms), it will pick that 
latency instead and you get strange buffersizes like 442 samples (~ 10 ms). If 
your requested buffersize is *greater*, you get this very buffersize.

Regarding performance: choosing 1 ms in MixControl and requesting 64 samples 
via RtAudio works beautifully, but in Pd I cannot achieve any decent and stable 
IO with the same latency setting. 

I don't know if I'd go so far and say that ASIO is broken in Pd, but on some 
soundcards it's definitely not working well. I have the suspicion that 
Scarlett's odd latency setting might be the culprit. But I remember that I also 
had bad results with an RME babyface. I have to check again, though.

Does anyone have more insight in how Pd communicates with portaudio when using 
ASIO? How is the ASIO buffersize being handled? What are your experiences with 
latency settings for Pd + ASIO? 

Christof

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to