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)   _mm_set_ps1(a)
 
#define M(a, b)   _mm_mul_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define S(a, b)   _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>
__m128 process (QuadFilterUnitState *__restrict f, __m128 input)
 

Macro Definition Documentation

◆ F

#define F (   a)    _mm_set_ps1(a)

◆ M

#define M (   a,
 
)    _mm_mul_ps(a, b)

◆ A

#define A (   a,
 
)    _mm_add_ps(a, b)

◆ S

#define S (   a,
 
)    _mm_sub_ps(a, b)