[PD] Which Linux distribution are you using?

Martin Schied crinimal at gmx.net
Thu Nov 18 01:35:13 CET 2010


>     "Doesn't use JACK add latency?
>
> There is /NO/ extra latency caused by using JACK for audio input and 
> output. When we say none, we mean absolutely zero. The only impact of 
> using JACK is a slight increase in the amount of work done by the CPU 
> to process a given chunk of audio, which means that in theory you 
> could not get 100% of the processing power that you might get it if 
> your application(s) used ALSA or CoreAudio directly. However, given 
> that the difference is less than 1%, and that your system will be 
> unstable before you get close to 80% of the theoretical processing 
> power, the effect is completely disregardable."
>
> but of course, if you just run pd, you don't need it and you can set 
> latency into pd, I forgot that. I mostly interface pd with other soft 
> ( ardour or any recorder, midi sequencer, some plugin via jack-rack or 
> calf etc...), and I plug midi controllers, but you can do it in 
> qjackctl without running jack (alsa tab in connection window)...
>
>>
>> Practically speaking - on systems I used until now I could always 
>> achieve lower buffer sizes using pd standalone and thus get lower 
>> round trip delays too.
>>>> I couldn't tell by ear which config was faster, Pd alone or Pd plus 
>>>> JACK.
>>> maybe I'm wrong, but I thing only jack can provide rt...
>> you can run pd with the -rt flag, without jack. fo me it has proven 
>> to be far more stable at the lowest possible latencies than using 
>> jack. but this depends on your setup too. I don't use jack when I 
>> don't need it.
>>
>> Martin
as said, it depends also on the setup you are using. assuming you get pd 
to run with alsa or oss and a buffer of 256 samples @ 48kHz you have a 
minimum delay of 256/48000 s = 5.3 ms. now add a bit for the soundcard's 
own buffer for in- and output and you have a delay of slightly more than 
5.3ms. This would be the case for a stand alone pd.

Now you use jack and use 256 samples as buffer. This will cause pd to 
use the 256 samples buffer too and no latency is introduced (this is 
what the jack homepage states too).

However this never worked for me without tweaking my system for hours. I 
always had to use a slightly increased buffer, for example 3 * 128  or 2 
* 256 samples to run stable. This might depend on the kernel's real time 
capabilities (don't know) and also the setting of irq and application 
priorities (tried and succeeded). Ideally with a proper configured 
system you can use the same buffer size in jack as in pd stand alone. 
But since lots of people don't know how to configure it properly you 
will almost always end up with an increased buffer size.

Also note, the default setting of jack which works in almost all systems 
is 2 * 1024 samples -> the buffer size is 42ms. It's likely any 
'realtime' tools uses smaller buffers by default when using oss / alsa. 
(for example the dj mixing tool xwax.)

Thes's nothing wrong about using jack, but you will have to spend more 
time if you want to make it bulletproof against xruns.

Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20101118/ea87bcea/attachment.htm>


More information about the Pd-list mailing list