OpenWareLaboratory
|
State Variable Filter based on Andy Simper's code and analysis: http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf This is a so-called Zero Delay Feedback, trapezoidal integration filter and is suited to audio rate modulation of filter coefficients. More...
Public Member Functions | |
AbstractStateVariableFilter (float sr) | |
void | setAllPass (float fc, float q) |
void | setBandPass (float fc, float q) |
void | setBell (float fc, float q, float gain) |
void | setCutoff (float fc, float q) |
void | setHighPass (float fc, float q) |
void | setHighShelf (float fc, float q, float gain) |
void | setLowPass (float fc, float q) |
void | setLowShelf (float fc, float q, float gain) |
void | setNotch (float fc, float q) |
void | setPeak (float fc, float q) |
Protected Member Functions | |
float | kvalue (float fc, float q) |
Protected Attributes | |
float | a1 = 0.0f |
float | a2 = 0.0f |
float | a3 = 0.0f |
float | m0 = 0.0f |
float | m1 = 0.0f |
float | m2 = 0.0f |
const float | pioversr |
State Variable Filter based on Andy Simper's code and analysis: http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf This is a so-called Zero Delay Feedback, trapezoidal integration filter and is suited to audio rate modulation of filter coefficients.
Andy provides two versions of the algorithm: bounded form, and with unbounded 'g' term. Define SVF_COMPUTE_BOUNDED to use the bounded form (default).
Definition at line 18 of file StateVariableFilter.h.
|
inline |
Definition at line 33 of file StateVariableFilter.h.
|
inlineprotected |
Definition at line 20 of file StateVariableFilter.h.
References a1, a2, a3, and pioversr.
Referenced by setAllPass(), setBandPass(), setBell(), setCutoff(), setHighPass(), setHighShelf(), setLowPass(), setLowShelf(), setNotch(), and setPeak().
|
inline |
|
inline |
Definition at line 53 of file StateVariableFilter.h.
References kvalue(), m0, m1, and m2.
Referenced by StateVariableFilter::processBandPass().
|
inline |
|
inline |
Definition at line 35 of file StateVariableFilter.h.
Referenced by StateVariableFilter::processLowBandHighPass().
|
inline |
Definition at line 47 of file StateVariableFilter.h.
References kvalue(), m0, m1, and m2.
Referenced by StateVariableFilter::processHighPass().
|
inline |
|
inline |
Definition at line 40 of file StateVariableFilter.h.
References kvalue(), m0, m1, and m2.
Referenced by StateVariableFilter::processLowPass().
|
inline |
|
inline |
|
inline |
|
protected |
Definition at line 110 of file StateVariableFilter.h.
Referenced by kvalue(), MultiStateVariableFilter::process(), StateVariableFilter::process(), and StateVariableFilter::processLowBandHighPass().
|
protected |
Definition at line 111 of file StateVariableFilter.h.
Referenced by kvalue(), MultiStateVariableFilter::process(), StateVariableFilter::process(), and StateVariableFilter::processLowBandHighPass().
|
protected |
Definition at line 112 of file StateVariableFilter.h.
Referenced by kvalue(), MultiStateVariableFilter::process(), StateVariableFilter::process(), and StateVariableFilter::processLowBandHighPass().
|
protected |
Definition at line 113 of file StateVariableFilter.h.
Referenced by MultiStateVariableFilter::process(), StateVariableFilter::process(), StateVariableFilter::processLowBandHighPass(), setAllPass(), setBandPass(), setBell(), setCutoff(), setHighPass(), setHighShelf(), setLowPass(), setLowShelf(), setNotch(), and setPeak().
|
protected |
Definition at line 114 of file StateVariableFilter.h.
Referenced by MultiStateVariableFilter::process(), StateVariableFilter::process(), setAllPass(), setBandPass(), setBell(), setHighPass(), setHighShelf(), setLowPass(), setLowShelf(), setNotch(), and setPeak().
|
protected |
Definition at line 115 of file StateVariableFilter.h.
Referenced by MultiStateVariableFilter::process(), StateVariableFilter::process(), setAllPass(), setBandPass(), setBell(), setHighPass(), setHighShelf(), setLowPass(), setLowShelf(), setNotch(), and setPeak().
|
protected |
Definition at line 105 of file StateVariableFilter.h.
Referenced by kvalue().