[PD] MIDI In-to-Out Latency

Jim Aikin midiguru23 at sbcglobal.net
Sun Jun 6 05:04:23 CEST 2010

Thanks for taking the time to help with this, Pedro. I appreciate it. 
I've observed a couple of new things, which I will share.

> Its possible to track when the message is generated, the issue is with 
> cubase not being an open system is not possible (in my mind) to check 
> its arrival with precision.

I seem to detect a bit of Linux snobbery in that comment. I'm a big fan 
of open-source software, and if you can suggest an open-source DAW for 
Windows that has all of the features of Cubase (by which I do mean 
"all," not "some"), I'll be overjoyed to switch to it as my primary 
platform! But if I have to do without important features ... not gonna 

In fact, it's perfectly feasible to check when the message arrives in 
Cubase. Cubase is a low-latency system that uses the ASIO driver. It 
responds to MIDI note messages within about 10ms. It is very stable and 
consistent. Thus, if the output from Cubase is delayed when the MIDI 
message is being passed through Pd, the cause is certainly a delay 
introduced by Pd.
> >I haven't tried it yet, but it's irrelevant to me. I don't want to 
> play a simple sine wave. I'll try it just >because I'm curious, but 
> even if it's perfect, that won't help me.
> It can give you some hint/clue about the problem.

I don't have a patch handy that will play a sine wave, and my Pd 
programming is so horribly rusty it would take me an hour to set one up. 
Instead, I loaded poly.synth.pd, which comes with the system. Its 
latency in response to MIDI (the MIDI is arriving directly from the 
Firewire 410's MIDI driver when I play the keyboard) is about the same 
-- on the order of 100ms.

When I look in Pd's audio settings box, I find something rather 
disturbing. It doesn't give me access to the ASIO driver. So the latency 
with internally generated audio will _inevitably_ be 100ms or more. But: 
That should not affect the MIDI through routing when no audio is being 
generated! If it does, Pd is in serious need of optimization. It doesn't 
take 100ms to route three bytes through a buffer. Or at least, it shouldn't.

But again, I don't want to jump to conclusions. My settings may need to 
be tweaked somehow. Or perhaps Pd (being free, open-source software, 
unlike Cubase) simply hasn't been updated to be fully compatible with 
Windows 7 because nobody has gotten around to doing it yet. I wouldn't know.

--Jim Aikin

More information about the Pd-list mailing list