sst-filters
Filters submodule for the Surge Synthesizer
Namespaces | Macros | Enumerations | Functions
ResonanceWarp.h File Reference

Namespaces

 sst
 Parent namespace for all Surge Synth Team code.
 
 sst::filters
 DSP code for Surge filters.
 
 sst::filters::ResonanceWarp
 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.
 

Macros

#define F(a)   SIMD_MM(set_ps1)(a)
 
#define M(a, b)   SIMD_MM(mul_ps)(a, b)
 
#define A(a, b)   SIMD_MM(add_ps)(a, b)
 
#define S(a, b)   SIMD_MM(sub_ps)(a, b)
 

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)
 

Macro Definition Documentation

◆ F

#define F (   a)    SIMD_MM(set_ps1)(a)

◆ M

#define M (   a,
 
)    SIMD_MM(mul_ps)(a, b)

◆ A

#define A (   a,
 
)    SIMD_MM(add_ps)(a, b)

◆ S

#define S (   a,
 
)    SIMD_MM(sub_ps)(a, b)