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

Namespaces

 sst
 Parent namespace for all Surge Synth Team code.
 
 sst::filters
 DSP code for Surge filters.
 
 sst::filters::VintageLadder
 This contains various adaptations of the models found at.
 
 sst::filters::VintageLadder::Common
 
 sst::filters::VintageLadder::RK
 
 sst::filters::VintageLadder::Huov
 

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)
 
#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  rkm_coeffs { rkm_cutoff = 0, rkm_reso, rkm_gComp, n_rkcoeff }
 
enum  huov_coeffs {
  h_cutoff = 0, h_res, h_fc, h_gComp,
  n_hcoeffs
}
 
enum  huov_regoffsets { h_stage = 0, h_stageTanh = 4, h_delay = 7 }
 

Functions

template<typename TuningProvider >
float clampedFrequency (float pitch, float sampleRate, TuningProvider *provider)
 
template<typename TuningProvider >
void makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, float sampleRate, bool applyGainCompensation, TuningProvider *provider)
 
__m128 clip (__m128 value, __m128 _saturation, __m128 _saturationinverse)
 
void calculateDerivatives (__m128 input, __m128 *dstate, __m128 *state, __m128 cutoff, __m128 resonance, __m128 _saturation, __m128 _saturationInv, __m128 gComp)
 
__m128 process (QuadFilterUnitState *__restrict f, __m128 input)
 
template<typename TuningProvider >
void makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, float sampleRate, float sampleRateInv, bool applyGainCompensation, TuningProvider *provider)
 
__m128 process (QuadFilterUnitState *__restrict f, __m128 in)
 

Macro Definition Documentation

◆ F [1/2]

#define F (   a)    _mm_set_ps1(a)

◆ M [1/2]

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

◆ A [1/2]

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

◆ S [1/2]

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

◆ F [2/2]

#define F (   a)    _mm_set_ps1(a)

◆ M [2/2]

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

◆ A [2/2]

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

◆ S [2/2]

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