This namespace contains an adaptation of the filter from https://github.com/reales/OB-Xd/blob/master/Source/Engine/Filter.h. More...
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) |
SIMD_M128 | diodePairResistanceApprox (SIMD_M128 x) |
SIMD_M128 | NewtonRaphson12dB (SIMD_M128 sample, QuadFilterUnitState *__restrict f) |
SIMD_M128 | process_2_pole (QuadFilterUnitState *__restrict f, SIMD_M128 sample) |
SIMD_M128 | NewtonRaphsonR24dB (SIMD_M128 sample, SIMD_M128 lpc, QuadFilterUnitState *__restrict f) |
SIMD_M128 | process_4_pole (QuadFilterUnitState *__restrict f, SIMD_M128 sample) |
Variables | |
const auto | zero = SIMD_MM(set1_ps)(0.0f) |
const auto | nine_two_zero = SIMD_MM(set1_ps)(0.00920833f) |
const auto | zero_zero_five = SIMD_MM(set1_ps)(0.05f) |
const auto | eight_seven_six = SIMD_MM(set1_ps)(0.0876f) |
const auto | one_zero_three = SIMD_MM(set1_ps)(0.0103592f) |
const auto | one_eight_five = SIMD_MM(set1_ps)(0.185f) |
const auto | zero_four_five = SIMD_MM(set1_ps)(0.45f) |
const auto | zero_five = SIMD_MM(set1_ps)(0.5f) |
const auto | one = SIMD_MM(set1_ps)(1.0f) |
const auto | one_three_five = SIMD_MM(set1_ps)(1.035f) |
const auto | two = SIMD_MM(set1_ps)(2.0f) |
const auto | three = SIMD_MM(set1_ps)(3.0f) |
const auto | gainAdjustment2Pole = SIMD_MM(set1_ps)(0.74f) |
const auto | gainAdjustment4Pole = SIMD_MM(set1_ps)(0.6f) |
This namespace contains an adaptation of the filter from https://github.com/reales/OB-Xd/blob/master/Source/Engine/Filter.h.
enum Poles |
enum Obxd12dBCoeff |
enum Obxd24dBCoeff |
enum Params |
void sst::filters::OBXDFilter::makeCoefficients | ( | FilterCoefficientMaker< TuningProvider > * | cm, |
Poles | p, | ||
float | freq, | ||
float | reso, | ||
int | sub, | ||
float | sampleRateInv, | ||
TuningProvider * | provider | ||
) |
References bandpass, FilterCoefficientMaker< TuningProvider >::FromDirect(), g12, g24, multimode, sst::filters::n_cm_coeffs, pole_mix, pole_mix_inv_int, pole_mix_scaled, R12, R24, rcor24, rcor24inv, self_osc_push, and TWO_POLE.
Referenced by FilterCoefficientMaker< TuningProvider >::MakeCoeffs().
SIMD_M128 sst::filters::OBXDFilter::diodePairResistanceApprox | ( | SIMD_M128 | x | ) |
References nine_two_zero, one, one_eight_five, one_zero_three, and zero_zero_five.
Referenced by NewtonRaphson12dB().
SIMD_M128 sst::filters::OBXDFilter::NewtonRaphson12dB | ( | SIMD_M128 | sample, |
QuadFilterUnitState *__restrict | f | ||
) |
References diodePairResistanceApprox(), eight_seven_six, g12, one, one_three_five, R12, s1, s2, self_osc_push, and two.
Referenced by process_2_pole().
SIMD_M128 sst::filters::OBXDFilter::process_2_pole | ( | QuadFilterUnitState *__restrict | f, |
SIMD_M128 | sample | ||
) |
References bandpass, g12, gainAdjustment2Pole, multimode, n_obxd12_coeff, NewtonRaphson12dB(), one, s1, s2, zero, and zero_five.
Referenced by sst::filters::GetCompensatedQFPtrFilterUnit().
SIMD_M128 sst::filters::OBXDFilter::NewtonRaphsonR24dB | ( | SIMD_M128 | sample, |
SIMD_M128 | lpc, | ||
QuadFilterUnitState *__restrict | f | ||
) |
SIMD_M128 sst::filters::OBXDFilter::process_4_pole | ( | QuadFilterUnitState *__restrict | f, |
SIMD_M128 | sample | ||
) |
References g24, gainAdjustment4Pole, n_obxd24_coeff, NewtonRaphsonR24dB(), one, pole_mix_inv_int, pole_mix_scaled, R24, rcor24, rcor24inv, s1, s2, s3, s4, three, two, zero, and zero_four_five.
Referenced by sst::filters::GetCompensatedQFPtrFilterUnit().
const auto zero = SIMD_MM(set1_ps)(0.0f) |
Referenced by sst::filters::DiodeLadderFilter::process(), process_2_pole(), and process_4_pole().
const auto nine_two_zero = SIMD_MM(set1_ps)(0.00920833f) |
Referenced by diodePairResistanceApprox().
const auto zero_zero_five = SIMD_MM(set1_ps)(0.05f) |
Referenced by diodePairResistanceApprox().
const auto eight_seven_six = SIMD_MM(set1_ps)(0.0876f) |
Referenced by NewtonRaphson12dB().
const auto one_zero_three = SIMD_MM(set1_ps)(0.0103592f) |
Referenced by diodePairResistanceApprox().
const auto one_eight_five = SIMD_MM(set1_ps)(0.185f) |
Referenced by diodePairResistanceApprox().
const auto zero_four_five = SIMD_MM(set1_ps)(0.45f) |
Referenced by process_4_pole().
const auto zero_five = SIMD_MM(set1_ps)(0.5f) |
Referenced by process_2_pole().
const auto one = SIMD_MM(set1_ps)(1.0f) |
const auto one_three_five = SIMD_MM(set1_ps)(1.035f) |
Referenced by NewtonRaphson12dB().
const auto two = SIMD_MM(set1_ps)(2.0f) |
Referenced by NewtonRaphson12dB(), sst::filters::VintageLadder::RK::process(), and process_4_pole().
const auto three = SIMD_MM(set1_ps)(3.0f) |
Referenced by process_4_pole().
const auto gainAdjustment2Pole = SIMD_MM(set1_ps)(0.74f) |
Referenced by process_2_pole().
const auto gainAdjustment4Pole = SIMD_MM(set1_ps)(0.6f) |
Referenced by process_4_pole().