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)   SIMD_MM(set_ps1)(a)
 
#define M(a, b)   SIMD_MM(mul_ps)(a, b)
 
#define D(a, b)   SIMD_MM(div_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  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)
 
SIMD_M128 process_lp (QuadFilterUnitState *__restrict f, SIMD_M128 input)
 
SIMD_M128 process_hp (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)

◆ D

#define D (   a,
 
)    SIMD_MM(div_ps)(a, b)

◆ A

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

◆ S

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