Simple 3 band EQ

pr8x

Member
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?

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 :) )
 
Back
Top