juce::dsp::Phaser::setMix: max wet mix is at 0.5

For some reason I am getting what appears to be a 100% mix (this is based on what I hear) at 0.5 rather than 1.0 for setMix with the dsp::Phaser class. I verified what values were being sent to the “setMix” function, and at 0.5 the phaser is indeed fully wet, but by 0.8 it is sounding dry again.

There is no “custom” code here. I have verified that I am sending 0.0 to 1.0 in 0.1 increments to Phaser::setMix, and that it has the most effect at 0.5, with no effect at 0.0 and 1.0.

I’m on JUCE 6.1.6

only using mix to 50% in a phaser is for musical reasons. if you dial in 100% mix on a bunch of allpass filters the difference in sound becomes unnoticable again, just like with 0% mix, because humans can only “hear phase” when they simultanously hear a strongly correlated signal, like the dry signal. and as you probably know phasers are basically a bunch of modulated allpass filters. or in other words: the 100% wet signal is in fact different from the 0% wet signal, but the difference is only exposed in the in between stages, and that’s why the 50-100% stuff basically has no musical value.

the solution here is: make your parameter paint a string that goes from 0 to 100%, but actually let it output 0 to .5 while going into the phaser

1 Like

A phaser is created by passing the signal through a bunch of allpass filters and then mixing it again with the input signal. What’s happening I think is that the mix control simply cross fades between the dry and the filtered signal. So at 0.5 is where the effect is pronounced the strongest. At 1.0 you only get the allpass filtered signal, which sounds the same as the input.

But then I don’t know why one would implement a phaser in this way. I’d expect it to be “fully wet” at 1.0 as well.

Thank you both. This makes a whole lot of sense. I was completely looking at the perceived “problem” the wrong way. Easy fix!