|
sfFDN
|
Implements a bank of IIR filters. More...
#include <filterbank.h>
Public Member Functions | |
| IIRFilterBank () | |
| Constructs an empty IIR filter bank. | |
| IIRFilterBank (const IIRFilterBank &)=delete | |
| IIRFilterBank & | operator= (const IIRFilterBank &)=delete |
| IIRFilterBank (IIRFilterBank &&) noexcept | |
| Move constructor for the IIR filter bank. | |
| IIRFilterBank & | operator= (IIRFilterBank &&) noexcept |
| Move assignment operator for the IIR filter bank. | |
| void | Clear () override |
| Clears the internal state of the processor. | |
| void | SetFilter (std::span< const FilterCoefficients > coeffs, uint32_t channel_count) |
| Sets the biquad coefficients for each stage. | |
| void | Process (const AudioBuffer &input, AudioBuffer &output) noexcept override |
| Processes a block of input samples through the filter bank. | |
| uint32_t | InputChannelCount () const override |
| Returns the number of input channels supported by this processor. | |
| uint32_t | OutputChannelCount () const override |
| Returns the number of output channels produced by this processor. | |
| std::unique_ptr< AudioProcessor > | Clone () const override |
| Creates a copy of the filter bank. | |
Public Member Functions inherited from sfFDN::AudioProcessor | |
Implements a bank of IIR filters.
On MacOS, this uses the Accelerate framework for optimized processing. On other platforms, this is equivalent to using a FilterBank with CascadedBiquads filters.
|
overridevirtual |
Clears the internal state of the processor.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Creates a copy of the filter bank.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Returns the number of input channels supported by this processor.
This is equal to the number of filters in the filter bank.
Implements sfFDN::AudioProcessor.
|
noexcept |
Move assignment operator for the IIR filter bank.
|
overridevirtual |
Returns the number of output channels produced by this processor.
This is equal to the number of filters in the filter bank.
Implements sfFDN::AudioProcessor.
|
overridevirtualnoexcept |
Processes a block of input samples through the filter bank.
| input | The input audio buffer. |
| output | The output audio buffer. The input and output buffers must have the same number of channels and sample count. The number of channels must be equal to the number of filters in the filter bank. |
Implements sfFDN::AudioProcessor.
| void sfFDN::IIRFilterBank::SetFilter | ( | std::span< const FilterCoefficients > | coeffs, |
| uint32_t | channel_count ) |
Sets the biquad coefficients for each stage.
| coeffs | A span of FilterCoefficients, one for each biquad stage. |
| channel_count | The number of channels (filters) in the filter bank. Will throw an exception if coeffs.size() is not a multiple of channel_count. |