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

Namespaces

 sst
 Parent namespace for all Surge Synth Team code.
 
 sst::filters
 DSP code for Surge filters.
 
 sst::filters::K35Filter
 This namespace contains an adaptation of the filter from https://github.com/TheWaveWarden/odin2/blob/master/Source/audio/Filters/Korg35Filter.cpp.
 

Macros

#define F(a)   _mm_set_ps1(a)
 
#define M(a, b)   _mm_mul_ps(a, b)
 
#define D(a, b)   _mm_div_ps(a, b)
 
#define A(a, b)   _mm_add_ps(a, b)
 
#define S(a, b)   _mm_sub_ps(a, b)
 

Enumerations

enum  k35_coeffs {
  k35_G = 0, k35_lb, k35_hb, k35_k,
  k35_alpha, k35_saturation, k35_saturation_blend, k35_saturation_blend_inv
}
 
enum  k35_state { k35_lz, k35_hz, k35_2z }
 

Functions

template<typename TuningProvider >
void makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, float freq, float reso, bool is_lowpass, float saturation, float sampleRate, float sampleRateInv, TuningProvider *provider)
 
void processCoeffs (QuadFilterUnitState *__restrict f)
 
__m128 process_lp (QuadFilterUnitState *__restrict f, __m128 input)
 
__m128 process_hp (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)

◆ D

#define D (   a,
 
)    _mm_div_ps(a, b)

◆ A

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

◆ S

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