Bass mono below a certain frequency - slider

Hi there,

I am new to JUCE dev and have started to create a basic utility plugin. I am wondering how one would go about making frequencies below a slider value mono? For example, similar to Ableton’s utility plugin, there is a way to select a frequency via a slider and then all the frequencies below that threshold are mono. Screenshot attached. Thanks so much!

multiband split the signal, linkwitz riley filters, then on the lower band go
mid = (left + right) * .5f;
left = mid;
right = mid;

make sure to always check if the plugin is on a stereo track at all before doing this

alternative solution:
mid/side split signal. then apply linear phase lowcut on side

1 Like

thanks for the quick response! I will look into using the Linkwitz Riley Filter for this and will report my findings.

I recommend the M+S method for this, however I’m not sure if JUCE is equipped with linear phase filters — @Mrugalla does that exist?

You can make linear phase filters with:
JUCE: dsp::FIR::Filter< SampleType > Class Template Reference.
Will introduce a latency however.

1 Like

mostly:

IIR = “normal” filters
FIR = linear phase filters

If I was doing something like this, I’d implement both for maximum flexibility and let the user choose which algorithm to use

i’d just choose what fits better to the vision of the plugin. the multiband split for instance would give the advantage that you can easily add some more processors into the chain of each band. people would often like to saturate their lowend a bit for example. but the other option might perform a little better

Mhm, I think this simple statement might confuse people not too familiar with filter theory. So just for the record, FIR filters are not linear phase filters generally. FIR filters can model filter with any kind of phase response, including linear phase filters but also filters with an arbitrary non-linear phase response. It’s up to the filter design method used to calculate the coefficients if the Filter will be linear phase or not. The FIR design methods found in juce::dsp::FilterDesign all design linear phase filters.

3 Likes

this is what i implied with “mostly”