|
sfFDN
|
A filter feedback matrix processor. More...
#include <filter_feedback_matrix.h>
Public Member Functions | |
| FilterFeedbackMatrix (const CascadedFeedbackMatrixOptions &options) | |
| Constructs a filter feedback matrix with a specified number of channels. | |
| FilterFeedbackMatrix (const FilterFeedbackMatrix &other)=delete | |
| FilterFeedbackMatrix & | operator= (const FilterFeedbackMatrix &other)=delete |
| FilterFeedbackMatrix (FilterFeedbackMatrix &&other) noexcept | |
| Move constructor for the filter feedback matrix. | |
| FilterFeedbackMatrix & | operator= (FilterFeedbackMatrix &&other) noexcept |
| Move assignment operator for the filter feedback matrix. | |
| void | Process (const AudioBuffer &input, AudioBuffer &output) noexcept override |
| Processes the input audio buffer and produces the output audio buffer. | |
| 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. | |
| void | Clear () override |
| Clears the internal state of the processor. | |
| void | PrintInfo () const |
| Prints information about the filter feedback matrix to the standard output. | |
| bool | GetFirstMatrix (std::span< float > matrix) const |
| Retrieves the coefficients of the first feedback matrix in the cascade. | |
| std::unique_ptr< AudioProcessor > | Clone () const override |
| Creates a copy of the filter feedback matrix. | |
Public Member Functions inherited from sfFDN::AudioProcessor | |
A filter feedback matrix processor.
This processor implements a filter feedback matrix as described in [1]
Structure: Input──[D₀]──[U₁]──[D₂]──[U₂]──...──[Uₖ]──[Dₖ]──Output Where: Dᵢ = delay bank, Uᵢ = mixing matrix, K = number of stages
[1] S. J. Schlecht and E. A. P. Habets, “Scattering in feedback delay networks,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 28, June 2020.
| sfFDN::FilterFeedbackMatrix::FilterFeedbackMatrix | ( | const CascadedFeedbackMatrixOptions & | options | ) |
Constructs a filter feedback matrix with a specified number of channels.
| options | The information structure containing channel and stage counts, delays, and matrices. |
|
noexcept |
Move constructor for the filter feedback matrix.
| other | The filter feedback matrix to move from. |
|
overridevirtual |
Clears the internal state of the processor.
This function clears the internal state of all delay banks.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Creates a copy of the filter feedback matrix.
Implements sfFDN::AudioProcessor.
| bool sfFDN::FilterFeedbackMatrix::GetFirstMatrix | ( | std::span< float > | matrix | ) | const |
Retrieves the coefficients of the first feedback matrix in the cascade.
| matrix | A span to fill with the coefficients of the first feedback matrix in column-major order. The span must be of size channel_count_ * channel_count_. |
|
inlineoverridevirtual |
Returns the number of input channels supported by this processor.
Implements sfFDN::AudioProcessor.
|
noexcept |
Move assignment operator for the filter feedback matrix.
| other | The filter feedback matrix to move from. |
|
inlineoverridevirtual |
Returns the number of output channels produced by this processor.
Implements sfFDN::AudioProcessor.
|
overridevirtualnoexcept |
Processes the input audio buffer and produces the output audio buffer.
| input | AudioBuffer containing the input audio data. The number of channels must match the channel count. |
| output | AudioBuffer containing the output audio data. The number of channels must match the channel count. |
Implements sfFDN::AudioProcessor.