|
Sound Byte Libs 29c5ff3
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
|
#include <allpass.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 | clear () |
| 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) | |
Definition at line 24 of file allpass.hpp.
|
inline |
Construct with caller-provided buffer.
| buffer | Float buffer (must outlive the AllpassFilter) |
| delay | Delay length in samples (buffer size) |
Definition at line 33 of file allpass.hpp.
|
default |
Default constructor for array initialization (must call init() before use)
|
inline |
Zero the buffer and reset write position.
Definition at line 85 of file allpass.hpp.
Referenced by sbl::widgets::proc::PlateReverb::reset().
|
inline |
Delay length in samples.
Definition at line 93 of file allpass.hpp.
Referenced by init().
|
inline |
Current feedback coefficient.
Definition at line 82 of file allpass.hpp.
|
inline |
Initialize after default construction.
| buffer | Float buffer (must outlive the AllpassFilter) |
| delay | Delay length in samples |
Definition at line 44 of file allpass.hpp.
References delay().
Referenced by sbl::widgets::proc::PlateReverb::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 59 of file allpass.hpp.
Referenced by sbl::widgets::proc::PlateReverb::process().
|
inline |
Set feedback coefficient.
| g | Feedback gain, typically 0.5–0.7 for reverb diffusion |
Definition at line 79 of file allpass.hpp.
Referenced by sbl::widgets::proc::PlateReverb::init().
|
inline |
Current write position (for external tap reads)
Definition at line 96 of file allpass.hpp.
Referenced by sbl::widgets::proc::PlateReverb::process().