"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