This contains an adaptation of the filter found at https://ccrma.stanford.edu/~jatin/ComplexNonlinearities/NLBiquad.html with coefficient calculation from https://webaudio.github.io/Audio-EQ-Cookbook/audio-eq-cookbook.html. More...
Enumerations | |
| enum | Saturator { SAT_TANH = 0 , SAT_SOFT } |
| enum | nls_coeffs { nls_a1 = 0 , nls_a2 , nls_b0 , nls_b1 , nls_b2 , n_nls_coeff } |
| enum | dlf_state { nls_z1 , nls_z2 , nls_z3 , nls_z4 , nls_z5 , nls_z6 , nls_z7 , nls_z8 } |
Functions | |
| template<typename TuningProvider > | |
| void | makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, int type, float sampleRate, TuningProvider *provider) |
| template<FilterSubType subtype> | |
| SIMD_M128 | process (QuadFilterUnitState *__restrict f, SIMD_M128 input) |
This contains an adaptation of the filter found at https://ccrma.stanford.edu/~jatin/ComplexNonlinearities/NLBiquad.html with coefficient calculation from https://webaudio.github.io/Audio-EQ-Cookbook/audio-eq-cookbook.html.
A lot of code here is duplicated from NonlinearFeedback.cpp, perhaps in future they could be merged, but for the time being they're separate and nothing is shared.
| enum Saturator |
| enum nls_coeffs |
| enum dlf_state |
| void makeCoefficients | ( | FilterCoefficientMaker< TuningProvider > * | cm, |
| float | freq, | ||
| float | reso, | ||
| int | type, | ||
| float | sampleRate, | ||
| TuningProvider * | provider | ||
| ) |
References FilterCoefficientMaker< TuningProvider >::FromDirect(), sst::filters::fut_resonancewarp_bp, sst::filters::fut_resonancewarp_hp, sst::filters::fut_resonancewarp_lp, sst::filters::fut_resonancewarp_n, sst::filters::n_cm_coeffs, nls_a1, nls_a2, nls_b0, nls_b1, and nls_b2.
Referenced by FilterCoefficientMaker< TuningProvider >::MakeCoeffs().
| SIMD_M128 process | ( | QuadFilterUnitState *__restrict | f, |
| SIMD_M128 | input | ||
| ) |