This filter is an emulation of the "Threeler" VCF by Ian Fritz (https://ijfritz.byethost4.com/Threeler_board_doc.pdf). More...
| Namespaces | |
| namespace | OnePoleHPF | 
| namespace | OnePoleHPF_FB | 
| namespace | OnePoleLPF | 
| namespace | OnePoleLPF_FB | 
| namespace | ResWaveshaper | 
| Enumerations | |
| enum | thr_coeffs { thr_b0 = 0 , thr_a0 , thr_b1 , thr_a1 , thr_b2 , thr_a2 , thr_k , n_thr_coeff } | 
| enum | thr_state { thr_z0 , thr_x0 , thr_z1 , thr_x1 , thr_z2 , thr_x2 , thr_fb , thr_fb1 } | 
| Functions | |
| template<typename TuningProvider > | |
| void | makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, int, float sampleRate, TuningProvider *provider) | 
| template<FilterSubType subtype> | |
| SIMD_M128 | process (QuadFilterUnitState *__restrict f, SIMD_M128 in) | 
| Variables | |
| constexpr float | res_gain = 1.5f | 
| constexpr float | in_gain = 4.0f | 
| constexpr float | out_gain = 1.0f / in_gain | 
| constexpr int | nIterGlobal = 3 | 
| constexpr int | nIterStage = 1 | 
| constexpr float | ota1bp = 0.88f | 
| constexpr float | ota1bn = 1.0f | 
| constexpr float | ota2bp = 0.9f | 
| constexpr float | ota2bn = 0.97f | 
| constexpr float | ota3bp = 0.95f | 
| constexpr float | ota3bn = 1.025f | 
| constexpr float | Iabc = 8.0f | 
| constexpr float | Rload = 220.0f | 
| const auto | res_factor_db = std::log10(Iabc * Rload) | 
This filter is an emulation of the "Threeler" VCF by Ian Fritz (https://ijfritz.byethost4.com/Threeler_board_doc.pdf).
The filter consists of three one-pole filters with nonlinear resonance and global feedback. The filter has four "modes":
The details of the emulation are derived in a Python notebook here: https://github.com/surge-synthesizer/surge-python/blob/main/scripts/dsp_simulations/ThreelerAnalysis.ipynb
| enum thr_coeffs | 
| enum thr_state | 
| void makeCoefficients | ( | FilterCoefficientMaker< TuningProvider > * | cm, | 
| float | freq, | ||
| float | reso, | ||
| int | , | ||
| float | sampleRate, | ||
| TuningProvider * | provider | ||
| ) | 
References FilterCoefficientMaker< TuningProvider >::FromDirect(), sst::filters::n_cm_coeffs, res_factor_db, thr_a0, thr_a1, thr_a2, thr_b0, thr_b1, thr_b2, and thr_k.
Referenced by FilterCoefficientMaker< TuningProvider >::MakeCoeffs().
| SIMD_M128 process | ( | QuadFilterUnitState *__restrict | f, | 
| SIMD_M128 | in | ||
| ) | 
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
Referenced by process().
| 
 | constexpr | 
| 
 | constexpr | 
Referenced by makeCoefficients().