Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::detail::DualTapResonatorT< SampleType > Class Template Reference

Dual-tap TPT state-variable resonator (Zavalishin topology, identical to SvfT) returning the highpass and lowpass outputs from ONE tick. More...

#include <speaker_cabinet.hpp>

Classes

struct  Taps

Public Member Functions

void set_coefficients (double cutoff_hz, double q, double sample_rate)
Taps tick (SampleType input)
void reset ()

Detailed Description

template<typename SampleType>
class pulp::signal::detail::DualTapResonatorT< SampleType >

Dual-tap TPT state-variable resonator (Zavalishin topology, identical to SvfT) returning the highpass and lowpass outputs from ONE tick.

The two taps are the whole trick of the Thiele-Small stage: the highpass IS the radiated pressure (pressure is proportional to cone acceleration, so the piston-band response is second-order high-pass), and the lowpass of the same resonator is proportional to cone DISPLACEMENT. The physics hands the excursion signal over for free, which is what the nonlinear stage needs.

RT contract: set_coefficients() costs one tangent; tick() and reset() are arithmetic only. Nothing allocates.

Member Function Documentation

◆ reset()

template<typename SampleType>
void pulp::signal::detail::DualTapResonatorT< SampleType >::reset ( )
inline

◆ set_coefficients()

template<typename SampleType>
void pulp::signal::detail::DualTapResonatorT< SampleType >::set_coefficients ( double cutoff_hz,
double q,
double sample_rate )
inline

◆ tick()

template<typename SampleType>
Taps pulp::signal::detail::DualTapResonatorT< SampleType >::tick ( SampleType input)
inline

The documentation for this class was generated from the following file: