I am trying to create a simple 3-band EQ. My current approach uses a BiquadFilter and sets low shelf / high shelf to control lows and highs. There I can simply pass a gain. But for the mids I am not too sure. Should I use a bandpass filter there?
Or do I need to chain 3 BiquadFilter with low, band and high pass to get the desired effect?
(Sorry, I am new to Audio DSP stuff, so bear with me )
Code:
void set_filter_lowpass(float v) {
constexpr uint32_t LowFreqTreshold = 300;
constexpr uint32_t MaxGain = 40;
_filterL->setLowShelf(0, LowFreqTreshold, v * MaxGain);
_filterR->setLowShelf(0, LowFreqTreshold, v * MaxGain);
}
void set_filter_highpass(float v) {
constexpr uint32_t HighFreqTreshold = 5000;
constexpr uint32_t MaxGain = 40;
_filterL->setHighShelf(1, HighFreqTreshold, v * MaxGain);
_filterR->setHighShelf(1, HighFreqTreshold, v * MaxGain);
}
void apc::audio::deck::set_filter_bandpass(float v) {
//TODO
}
Or do I need to chain 3 BiquadFilter with low, band and high pass to get the desired effect?
(Sorry, I am new to Audio DSP stuff, so bear with me )