Parameter smoothing - is it utopia to expect to eliminate 100% of clicks and pops when switching the Bypass button on/off in my plugin, or do-able?

I’ve got a plugin applying various effects, and distortion etc.
I’ve used parameter smoothing so switching between these effects is pretty smooth, I get the occasional pop once in a long while.

But the Bypass button is a huge change in the audio. I am currently automating/smoothing the Mix knob and thats helped a lot and eliminated the clicks and pops by 90%. But there’s that 10% of the time where I hear the click/pop.
(The Bypass button is a big “Power On” button on my GUI, not the bypass switch in my DAW)

Is it uptopia to expect a total elimination of the clicks and pops, or totally do-able?

1 Like

Typically you ramp your output up/down when you toggle your plugin’s bypass state.

3 Likes

If your plugin has latency, try delaying the “bypassed” (i.e. unprocessed) signal by the same amount (or rounded to the nearest sample) using juce::delayline. Use thiran interpolation if you delay by a non-integer number of samples.
Then don’t report any change in latency to the host when the in-plugin bypass is engaged.

5 Likes

Do you mean the volume level of the outgoing signal matching the incoming signal?

When Mix = 0%, thats the original signal for me, volume is same. I’m automating the Mix down to 0% (in 0.20 seconds with the smoothedValue) when I switch the Power Button off, and back up to its original level when the user switches the Power Button back on.

“ If your plugin has latency, try delaying the “bypassed” (i.e. unprocessed) signal by the same amount (or rounded to the nearest sample) using juce::delayline. Use thiran interpolation if you delay by a non-integer number of samples.
Then don’t report any change in latency to the host when the in-plugin bypass is engaged.”

This is exactly what I had to do.

2 Likes