|
sfFDN
|
A single Schroeder allpass filter. More...
#include <schroeder_allpass.h>
Public Member Functions | |
| SchroederAllpass ()=default | |
| Constructs a SchroederAllpass filter. | |
| SchroederAllpass (uint32_t delay, float g) | |
| Constructs a SchroederAllpass filter. | |
| SchroederAllpass (const SchroederAllpass &)=delete | |
| SchroederAllpass & | operator= (const SchroederAllpass &)=delete |
| SchroederAllpass (SchroederAllpass &&)=default | |
| Move constructor for the SchroederAllpass filter. | |
| SchroederAllpass & | operator= (SchroederAllpass &&)=default |
| Move assignment operator for the SchroederAllpass filter. | |
| void | SetDelay (uint32_t delay) |
| Sets the delay in samples. | |
| void | SetG (float g) |
| Sets the feedback gain. | |
| uint32_t | GetDelay () const |
| Gets the current delay in samples. | |
| float | GetG () const |
| Gets the filter gain. | |
| float | Tick (float input) |
| Processes a single sample through the filter. | |
| void | ProcessBlock (std::span< const float > in, std::span< float > out) |
| Processes a block of samples through the filter. | |
| void | ProcessBlockAccumulate (std::span< const float > in, std::span< float > out) |
| Processes a block of samples through the filter and accumulates the output. | |
| void | Clear () |
| Clears the filter state. | |
A single Schroeder allpass filter.
The allpass filter is implemented by cascading a feedback comb filter and a feedforward comb filter.
| sfFDN::SchroederAllpass::SchroederAllpass | ( | uint32_t | delay, |
| float | g ) |
Constructs a SchroederAllpass filter.
| delay | The delay in samples. |
| g | The feedback gain. |
| void sfFDN::SchroederAllpass::Clear | ( | ) |
Clears the filter state.
This sets the internal delay buffer to zero.
|
default |
Move assignment operator for the SchroederAllpass filter.
| void sfFDN::SchroederAllpass::ProcessBlock | ( | std::span< const float > | in, |
| std::span< float > | out ) |
Processes a block of samples through the filter.
| in | The input samples. |
| out | The output samples. The input and output spans must have the same size. |
| void sfFDN::SchroederAllpass::ProcessBlockAccumulate | ( | std::span< const float > | in, |
| std::span< float > | out ) |
Processes a block of samples through the filter and accumulates the output.
| in | The input samples. |
| out | The output samples. The input and output spans must have the same size. |
| void sfFDN::SchroederAllpass::SetDelay | ( | uint32_t | delay | ) |
Sets the delay in samples.
| delay | The delay in samples. |
| void sfFDN::SchroederAllpass::SetG | ( | float | g | ) |
Sets the feedback gain.
| g | The feedback gain. |
| float sfFDN::SchroederAllpass::Tick | ( | float | input | ) |
Processes a single sample through the filter.
| input | The input sample. |