15#include "Dynamics/crossfade.h"
16#include "Utility/dcblock.h"
17#include "Utility/delayline.h"
18#include "Filters/onepole.h"
44 void Init(
float sample_rate);
76 static constexpr size_t kDelayLineSize = 1024;
78 enum StringNonLinearity
80 NON_LINEARITY_CURVED_BRIDGE,
81 NON_LINEARITY_DISPERSION
84 template <String::StringNonLinearity non_linearity>
85 float ProcessInternal(
const float in);
88 DelayLine<float, kDelayLineSize / 4> stretch_;
90 float frequency_, non_linearity_amount_, brightness_, damping_;
100 float dispersion_noise_;
101 float curved_bridge_;
106 float out_sample_[2];
Definition crossfade.h:42
Definition delayline.h:29
One Pole Lowpass / Highpass Filter.
Definition onepole.h:27
Comb filter / KS string.
Definition KarplusString.h:36
float Process(const float in)
Definition KarplusString.cpp:43
void SetBrightness(float brightness)
Definition KarplusString.cpp:69
void Init(float sample_rate)
Definition KarplusString.cpp:8
void SetFreq(float freq)
Definition KarplusString.cpp:58
void SetDamping(float damping)
Definition KarplusString.cpp:74
void SetNonLinearity(float non_linearity_amount)
Definition KarplusString.cpp:64
void Reset()
Definition KarplusString.cpp:29
FIR Filter implementation, generic and ARM CMSIS DSP based.
Definition adenv.h:16