10#ifndef DSY_RESONATOR_H
11#define DSY_RESONATOR_H
15#include "Utility/dsp.h"
33template <
int batch_size>
52 state_1_[
i] = state_2_[
i] = 0.0f;
56 template <FilterMode mode,
bool add>
57 void Process(
const float*
f,
74 h[
i] = 1.0f / (1.0f +
r[
i] *
g[
i] +
g[
i] *
g[
i]);
110 static constexpr float kPiPow3 = PI_F * PI_F * PI_F;
111 static constexpr float kPiPow5 = kPiPow3 * PI_F * PI_F;
112 static inline float fasttan(
float f)
114 const float a = 3.260e-01 * kPiPow3;
115 const float b = 1.823e-01 * kPiPow5;
117 return f * (PI_F +
f2 * (
a +
b *
f2));
173 float frequency_, brightness_, structure_, damping_;
175 static constexpr int kMaxNumModes = 24;
176 static constexpr int kModeBatchSize = 4;
177 static constexpr float ratiofrac_ = 1.f / 12.f;
178 static constexpr float stiff_frac_ = 1.f / 64.f;
179 static constexpr float stiff_frac_2 = 1.f / .6f;
183 float CalcStiff(
float sig);
185 float mode_amplitude_[kMaxNumModes];
Definition delayline.h:29
Resonant Body Simulation.
Definition resonator.h:134
void SetDamping(float damping)
Definition resonator.cpp:129
void Init(float position, int resolution, float sample_rate)
Definition resonator.cpp:6
float Process(const float in)
Definition resonator.cpp:46
void SetStructure(float structure)
Definition resonator.cpp:119
void SetFreq(float freq)
Definition resonator.cpp:114
void SetBrightness(float brightness)
Definition resonator.cpp:124
SVF for use in the Resonator Class .
Definition resonator.h:35
FIR Filter implementation, generic and ARM CMSIS DSP based.
Definition adenv.h:16