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

Namespaces

 sst
 Parent namespace for all Surge Synth Team code.
 
 sst::filters
 DSP code for Surge filters.
 
 sst::filters::CutoffWarp
 This namespace contains an adaptation of the filter found at https://ccrma.stanford.edu/~jatin/ComplexNonlinearities/NLFeedback.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 , SAT_OJD , SAT_SINE }
 
enum  nlf_coeffs {
  nlf_a1 = 0 , nlf_a2 , nlf_b0 , nlf_b1 ,
  nlf_b2 , nlf_makeup , n_nlf_coeff
}
 
enum  dlf_state {
  nlf_z1 , nlf_z2 , nlf_z3 , nlf_z4 ,
  nlf_z5 , nlf_z6 , nlf_z7 , nlf_z8
}
 

Functions

template<typename TuningProvider >
void makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, int type, int subtype, 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)