template<typename Sample, bool cookbookBandwidth = false>
class signalsmith::filters::BiquadStatic< Sample, cookbookBandwidth >
A standard biquad.
This is not guaranteed to be stable if modulated at audio rate.
The default highpass/lowpass bandwidth (defaultBandwidth
) produces a Butterworth filter when bandwidth-compensation is disabled.
Bandwidth compensation defaults to BiquadDesign::oneSided
(or BiquadDesign::cookbook
if cookbookBandwidth
is enabled) for all filter types aside from highpass/lowpass (which use BiquadDesign::bilinear
).
|
Sample | operator() (Sample x0) |
|
void | reset () |
|
std::complex< Sample > | response (Sample scaledFreq) const |
|
Sample | responseDb (Sample scaledFreq) const |
|
BiquadStatic & | addGain (double factor) |
|
BiquadStatic & | addGainDb (double db) |
|
|
BiquadStatic & | lowpass (double scaledFreq, double octaves=defaultBandwidth, BiquadDesign design=BiquadDesign::bilinear) |
|
BiquadStatic & | lowpassQ (double scaledFreq, double q, BiquadDesign design=BiquadDesign::bilinear) |
|
void | lowpass (double scaledFreq, double octaves, bool correctBandwidth) |
|
BiquadStatic & | lowpass (double scaledFreq, BiquadDesign design) |
|
|
BiquadStatic & | highpass (double scaledFreq, double octaves=defaultBandwidth, BiquadDesign design=BiquadDesign::bilinear) |
|
BiquadStatic & | highpassQ (double scaledFreq, double q, BiquadDesign design=BiquadDesign::bilinear) |
|
void | highpass (double scaledFreq, double octaves, bool correctBandwidth) |
|
BiquadStatic & | highpass (double scaledFreq, BiquadDesign design) |
|
|
BiquadStatic & | bandpass (double scaledFreq, double octaves=defaultBandwidth, BiquadDesign design=bwDesign) |
|
BiquadStatic & | bandpassQ (double scaledFreq, double q, BiquadDesign design=bwDesign) |
|
void | bandpass (double scaledFreq, double octaves, bool correctBandwidth) |
|
BiquadStatic & | bandpass (double scaledFreq, BiquadDesign design) |
|
|
BiquadStatic & | notch (double scaledFreq, double octaves=defaultBandwidth, BiquadDesign design=bwDesign) |
|
BiquadStatic & | notchQ (double scaledFreq, double q, BiquadDesign design=bwDesign) |
|
void | notch (double scaledFreq, double octaves, bool correctBandwidth) |
|
BiquadStatic & | notch (double scaledFreq, BiquadDesign design) |
|
void | bandStop (double scaledFreq, double octaves=1, bool correctBandwidth=true) |
|
|
BiquadStatic & | peak (double scaledFreq, double gain, double octaves=1, BiquadDesign design=bwDesign) |
|
BiquadStatic & | peakDb (double scaledFreq, double db, double octaves=1, BiquadDesign design=bwDesign) |
|
BiquadStatic & | peakQ (double scaledFreq, double gain, double q, BiquadDesign design=bwDesign) |
|
BiquadStatic & | peakDbQ (double scaledFreq, double db, double q, BiquadDesign design=bwDesign) |
|
BiquadStatic & | peak (double scaledFreq, double gain, BiquadDesign design) |
|
|
BiquadStatic & | highShelf (double scaledFreq, double gain, double octaves=defaultBandwidth, BiquadDesign design=bwDesign) |
|
BiquadStatic & | highShelfDb (double scaledFreq, double db, double octaves=defaultBandwidth, BiquadDesign design=bwDesign) |
|
BiquadStatic & | highShelfQ (double scaledFreq, double gain, double q, BiquadDesign design=bwDesign) |
|
BiquadStatic & | highShelfDbQ (double scaledFreq, double db, double q, BiquadDesign design=bwDesign) |
|
BiquadStatic & | highShelf (double scaledFreq, double gain, double octaves, bool correctBandwidth) |
|
BiquadStatic & | highShelfDb (double scaledFreq, double db, double octaves, bool correctBandwidth) |
|
|
BiquadStatic & | lowShelf (double scaledFreq, double gain, double octaves=2, BiquadDesign design=bwDesign) |
|
BiquadStatic & | lowShelfDb (double scaledFreq, double db, double octaves=2, BiquadDesign design=bwDesign) |
|
BiquadStatic & | lowShelfQ (double scaledFreq, double gain, double q, BiquadDesign design=bwDesign) |
|
BiquadStatic & | lowShelfDbQ (double scaledFreq, double db, double q, BiquadDesign design=bwDesign) |
|
BiquadStatic & | lowShelf (double scaledFreq, double gain, double octaves, bool correctBandwidth) |
|
BiquadStatic & | lowShelfDb (double scaledFreq, double db, double octaves, bool correctBandwidth) |
|
|
BiquadStatic & | allpass (double scaledFreq, double octaves=1, BiquadDesign design=bwDesign) |
|
BiquadStatic & | allpassQ (double scaledFreq, double q, BiquadDesign design=bwDesign) |
|