|
Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
|
Definition at line 25 of file allpass_filter.hpp.
#include <allpass_filter.hpp>
Public Member Functions | |
| AllpassFilter (float *buffer, uint32_t delay) | |
| Construct with caller-provided buffer. | |
| AllpassFilter ()=default | |
| Default constructor for array initialization (must call init() before use) | |
| void | init (float *buffer, uint32_t delay) |
| Initialize after default construction. | |
| float | process (float x) |
| Process a single sample. | |
| void | set_feedback (float g) |
| Set feedback coefficient. | |
| float | feedback () const |
| Current feedback coefficient. | |
| void | reset () |
| Zero the buffer and reset write position. | |
| uint32_t | delay () const |
| Delay length in samples. | |
| uint32_t | write_pos () const |
| Current write position (for external tap reads) | |
|
inline |
Construct with caller-provided buffer.
| buffer | Float buffer (must outlive the AllpassFilter) |
| delay | Delay length in samples (buffer size) |
Definition at line 34 of file allpass_filter.hpp.
|
default |
Default constructor for array initialization (must call init() before use)
|
inline |
Initialize after default construction.
| buffer | Float buffer (must outlive the AllpassFilter) |
| delay | Delay length in samples |
Definition at line 45 of file allpass_filter.hpp.
References delay().
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::init().
|
inline |
Process a single sample.
Schroeder allpass: y = -g*x + x[n-d] + g*y[n-d] where the buffer stores the output history.
| x | Input sample in [-1.0, 1.0] |
Definition at line 60 of file allpass_filter.hpp.
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::process().
|
inline |
Set feedback coefficient.
| g | Feedback gain, typically 0.5–0.7 for reverb diffusion |
Definition at line 80 of file allpass_filter.hpp.
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::init(), and sbl::dsp::modules::AlgoReverb< ScalePercent >::process().
|
inline |
Current feedback coefficient.
Definition at line 83 of file allpass_filter.hpp.
|
inline |
Zero the buffer and reset write position.
Definition at line 86 of file allpass_filter.hpp.
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::reset().
|
inline |
|
inline |
Current write position (for external tap reads)
Definition at line 97 of file allpass_filter.hpp.
Referenced by sbl::dsp::modules::AlgoReverb< ScalePercent >::process().