|
Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
|
Definition at line 134 of file plate_reverb.hpp.
#include <plate_reverb.hpp>
Public Member Functions | |
| AlgoReverb ()=default | |
| void | init (float *pool, uint32_t pool_size) |
| Initialize with a pre-allocated float buffer pool. | |
| void | set_decay_su (float su) |
| Set decay [0,1] → [0, 0.99] linear (structural, 50ms settling) | |
| void | set_damping_su (float su) |
| Set damping [0,1] → [0, 1.0] linear (structural, 50ms settling) | |
| void | set_predelay_su (float su) |
| Set pre-delay [0,1] → [0, max] samples linear (structural, 50ms settling) | |
| void | set_width_su (float su) |
| Set stereo width [0,1] → [0, 1.0] linear (timbral, 20ms settling) | |
| void | set_mix_su (float su) |
| Set wet/dry mix [0,1] → [0, 1.0] linear (gain, 15ms settling) | |
| void | set_bandwidth_su (float su) |
| void | set_tank_hp_su (float su) |
| void | set_input_diffusion_su (float su) |
| void | set_output_scale_su (float su) |
| Set output tap scale [0,1] → [0.001, 1.0] linear (gain, 15ms) | |
| float | decay () const |
| float | damping () const |
| float | mix () const |
| float | width () const |
| float | max_predelay_ms () const |
| Maximum pre-delay in milliseconds for this scale. | |
| void | process (float *left, float *right, uint16_t frames) |
| Process a stereo block in-place (float) | |
| void | reset () |
Static Public Attributes | |
| static constexpr uint32_t | BUFFER_SIZE |
| Total float buffer size required for init() | |
Friends | |
| struct | AlgoReverbTestAccess |
|
default |
|
inline |
Initialize with a pre-allocated float buffer pool.
| pool | Float buffer pool (must outlive the reverb) |
| pool_size | Pool size in floats (must be >= BUFFER_SIZE) |
Definition at line 210 of file plate_reverb.hpp.
References sbl::dsp::modules::AlgoReverb< ScalePercent >::BUFFER_SIZE, sbl::dsp::modules::reverb::DECAY_DIFFUSION1, sbl::dsp::primitives::AllpassFilter::init(), sbl::dsp::primitives::DelayLine::init(), sbl::dsp::modules::reverb::INPUT_DIFFUSION1, sbl::dsp::modules::reverb::INPUT_DIFFUSION2, sbl::dsp::modules::AlgoReverb< ScalePercent >::reset(), and sbl::dsp::primitives::AllpassFilter::set_feedback().
|
inline |
Set decay [0,1] → [0, 0.99] linear (structural, 50ms settling)
Definition at line 267 of file plate_reverb.hpp.
|
inline |
Set damping [0,1] → [0, 1.0] linear (structural, 50ms settling)
Definition at line 274 of file plate_reverb.hpp.
|
inline |
Set pre-delay [0,1] → [0, max] samples linear (structural, 50ms settling)
Definition at line 281 of file plate_reverb.hpp.
|
inline |
Set stereo width [0,1] → [0, 1.0] linear (timbral, 20ms settling)
Definition at line 288 of file plate_reverb.hpp.
|
inline |
Set wet/dry mix [0,1] → [0, 1.0] linear (gain, 15ms settling)
Definition at line 295 of file plate_reverb.hpp.
|
inline |
Set input bandwidth LP [0,1] → [100, 20000] Hz exponential (structural, 50ms) Exponential mapping is handled by OnePole::set_cutoff_su() using the configured range.
Definition at line 304 of file plate_reverb.hpp.
|
inline |
Set tank HP cutoff [0,1] → [0, 500] Hz (structural, 50ms) su = 0 disables the HP filter. OnePoleHP maps [0,1] exponentially across the configured range.
Definition at line 313 of file plate_reverb.hpp.
|
inline |
Set input diffusion [0,1] → d1=[0, 0.95], d2=[0, 0.79] (structural, 50ms) Preserves the Dattorro d2/d1 ratio (0.625/0.75) across the range.
Definition at line 321 of file plate_reverb.hpp.
|
inline |
Set output tap scale [0,1] → [0.001, 1.0] linear (gain, 15ms)
Definition at line 329 of file plate_reverb.hpp.
|
inline |
Definition at line 339 of file plate_reverb.hpp.
|
inline |
Definition at line 340 of file plate_reverb.hpp.
|
inline |
Definition at line 341 of file plate_reverb.hpp.
|
inline |
Definition at line 342 of file plate_reverb.hpp.
|
inline |
Maximum pre-delay in milliseconds for this scale.
Definition at line 345 of file plate_reverb.hpp.
References sbl::dsp::types::SAMPLE_RATE_F.
|
inline |
Process a stereo block in-place (float)
Definition at line 353 of file plate_reverb.hpp.
References sbl::dsp::modules::reverb::DECAY_DIFFUSION2_BASE, sbl::dsp::modules::reverb::DECAY_DIFFUSION2_SCALE, sbl::dsp::primitives::ParameterSmoother::process(), sbl::dsp::primitives::AllpassFilter::process(), sbl::dsp::primitives::OnePole::process(), sbl::dsp::primitives::OnePoleHP::process(), sbl::dsp::primitives::DelayLine::read(), sbl::dsp::primitives::DelayLine::read_cubic(), sbl::dsp::primitives::OnePole::set_coefficient(), sbl::dsp::primitives::OnePole::set_cutoff_su(), sbl::dsp::primitives::OnePoleHP::set_cutoff_su(), sbl::dsp::primitives::AllpassFilter::set_feedback(), sbl::dsp::primitives::DelayLine::write(), sbl::dsp::primitives::AllpassFilter::write_pos(), and sbl::dsp::primitives::DelayLine::write_pos().
|
inline |
Definition at line 512 of file plate_reverb.hpp.
References sbl::dsp::modules::AlgoReverb< ScalePercent >::reset(), sbl::dsp::primitives::AllpassFilter::reset(), sbl::dsp::primitives::DelayLine::reset(), sbl::dsp::primitives::OnePole::reset(), sbl::dsp::primitives::OnePoleHP::reset(), and sbl::dsp::primitives::ParameterSmoother::reset().
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::init(), and sbl::dsp::modules::AlgoReverb< ScalePercent >::reset().
|
friend |
Definition at line 555 of file plate_reverb.hpp.
|
staticconstexpr |
Total float buffer size required for init()
Definition at line 195 of file plate_reverb.hpp.
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::init().