Namespaces | |
sst | |
Parent namespace for all Surge Synth Team code. | |
sst::filters | |
DSP code for Surge filters. | |
sst::filters::OBXDFilter | |
This namespace contains an adaptation of the filter from https://github.com/reales/OB-Xd/blob/master/Source/Engine/Filter.h. | |
Enumerations | |
enum | Poles { TWO_POLE, FOUR_POLE } |
enum | Obxd12dBCoeff { g12, R12, multimode, bandpass, self_osc_push, n_obxd12_coeff } |
enum | Obxd24dBCoeff { g24, R24, rcor24, rcor24inv, pole_mix, pole_mix_inv_int, pole_mix_scaled, n_obxd24_coeff } |
enum | Params { s1, s2, s3, s4 } |
Functions | |
template<typename TuningProvider > | |
void | makeCoefficients (FilterCoefficientMaker< TuningProvider > *cm, Poles p, float freq, float reso, int sub, float sampleRateInv, TuningProvider *provider) |
__m128 | diodePairResistanceApprox (__m128 x) |
__m128 | NewtonRaphson12dB (__m128 sample, QuadFilterUnitState *__restrict f) |
__m128 | process_2_pole (QuadFilterUnitState *__restrict f, __m128 sample) |
__m128 | NewtonRaphsonR24dB (__m128 sample, __m128 lpc, QuadFilterUnitState *__restrict f) |
__m128 | process_4_pole (QuadFilterUnitState *__restrict f, __m128 sample) |
Variables | |
const __m128 | zero = _mm_set1_ps(0.0f) |
const __m128 | nine_two_zero = _mm_set1_ps(0.00920833f) |
const __m128 | zero_zero_five = _mm_set1_ps(0.05f) |
const __m128 | eight_seven_six = _mm_set1_ps(0.0876f) |
const __m128 | one_zero_three = _mm_set1_ps(0.0103592f) |
const __m128 | one_eight_five = _mm_set1_ps(0.185f) |
const __m128 | zero_four_five = _mm_set1_ps(0.45f) |
const __m128 | zero_five = _mm_set1_ps(0.5f) |
const __m128 | one = _mm_set1_ps(1.0f) |
const __m128 | one_three_five = _mm_set1_ps(1.035f) |
const __m128 | two = _mm_set1_ps(2.0f) |
const __m128 | three = _mm_set1_ps(3.0f) |
const __m128 | gainAdjustment2Pole = _mm_set1_ps(0.74f) |
const __m128 | gainAdjustment4Pole = _mm_set1_ps(0.6f) |