MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ compute_biquad()

void MayaFlux::Nodes::Network::ResonatorNetwork::compute_biquad ( ResonatorNode &  r)
private

Compute RBJ biquad bandpass coefficients and push them into a resonator's IIR.

Parameters
rResonator to update (reads r.frequency, r.q, m_sample_rate)

Definition at line 166 of file ResonatorNetwork.cpp.

167{
168 const auto biquad = Kinesis::Discrete::biquad_bandpass(r.frequency, r.q, m_sample_rate);
169
170 r.filter->setACoefficients({ 1.0, biquad.a1, biquad.a2 });
171 r.filter->setBCoefficients({ biquad.b0, biquad.b1, biquad.b2 });
172 r.filter->reset();
173}
void biquad_bandpass(double frequency, double q, double sample_rate, std::vector< double > &a, std::vector< double > &b)
Second-order bandpass coefficients, constant 0 dB peak gain.

References MayaFlux::Kinesis::Discrete::biquad_bandpass(), MayaFlux::Nodes::Network::ResonatorNetwork::ResonatorNode::filter, MayaFlux::Nodes::Network::ResonatorNetwork::ResonatorNode::frequency, MayaFlux::Nodes::Network::NodeNetwork::m_sample_rate, and MayaFlux::Nodes::Network::ResonatorNetwork::ResonatorNode::q.

Referenced by apply_preset(), build_resonators(), set_frequency(), and set_q().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: