Delay compensation when bypassed (VST3/AU)

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

does anyone know if VST3 and AU plugins that have processing latency should delay the incoming audio when they are bypassed to match the processing latency when they are not bypassed? I know this is true for RTAS/AAX but not sure about VST3 and AU.

thanks,

oli

Post

i think it should depend of the dev , I use waves plugin and when i bypass it , no more latency delay....

Post

Not sure about AU but with VST3 you should do that. Otherwise you get clicks (or the playback position jumps) when toggling the bypass.


Chris

Post

mahaya wrote:Not sure about AU but with VST3 you should do that. Otherwise you get clicks (or the playback position jumps) when toggling the bypass.


If the effect is doing anything at all interesting, you're likely to get some click on bypass anyway.

I think the best possible answer would be to switch between the wet and bypassed versions of the output signal with a short (~10-50ms?) crossfade to eliminate any click, and in that case going to a no-delay bypass would be beneficial. That's a lot of work though.
Image
Don't do it my way.

Post

so it seems you are expected to delay the bypassed signal in VST3, from the FAQ:

"Q: How does Audio Processing Bypass work?"

... The Plug-in must take care of artifact-free switching (ramping, parallel processing or algorithm changes) and must also provide a delayed action if your Plug-in has a latency"

Post

I am not familiar with VST3, but how does not delaying the bypassed signal mean anything? If anything it makes things easier using PDC, but is the spec inforcing this or just sternly recommending it?

Post

Borogove wrote:If the effect is doing anything at all interesting, you're likely to get some click on bypass anyway.
That is correct, but I think there is a difference between a click in between two samples and jumping several hundred samples back and forward. At least I find it quite annoying when I try to compare dry/wet (and that is one of the main applications for a bypass, I would say).
camsr wrote:I am not familiar with VST3, but how does not delaying the bypassed signal mean anything?
If the plugin doesn't add the latency in bypass mode either the track's audio is ahead of the other tracks (which are delayed to compensate for the latency) or the host would need to update it's PDC.
In the latter case the host would need to recalculate the PDC each time the plugin's bypass gets toggled (which might introduce other problems like the latency being bigger than the block size) or add the needed latency itself.


Chris

Post

mahaya wrote:
Borogove wrote:If the effect is doing anything at all interesting, you're likely to get some click on bypass anyway.
That is correct, but I think there is a difference between a click in between two samples and jumping several hundred samples back and forward. At least I find it quite annoying when I try to compare dry/wet (and that is one of the main applications for a bypass, I would say).
That's entirely dependent on the signal and the function of the plugin. Consider a phase inverter.
Image
Don't do it my way.

Post

I've incorrectly posted a message to this thread instead of posting it to another (the antialiasing thread), and then I couldn't delete it, thus for that reason this message is here.
~stratum~

Post

Borogove wrote:That's entirely dependent on the signal and the function of the plugin. Consider a phase inverter.
I'm not sure I can follow. A phase inverter usually doesn't introduce a latency.


Chris

Post Reply

Return to “DSP and Plugin Development”