|
sfFDN
|
DelayMatrix implementation as presented in [1]. More...
#include <delay_matrix.h>
Public Member Functions | |
| DelayMatrix (uint32_t order, std::span< const uint32_t > delays, const ScalarFeedbackMatrix &mixing_matrix) | |
| Constructs a DelayMatrix with the specified size and delay values. | |
| DelayMatrix (const DelayMatrix &) | |
| Copy constructor. | |
| DelayMatrix & | operator= (const DelayMatrix &) |
| Copy assignment operator. | |
| DelayMatrix (DelayMatrix &&) noexcept | |
| Move constructor. | |
| DelayMatrix & | operator= (DelayMatrix &&) noexcept |
| Move assignment operator. | |
| void | Process (const AudioBuffer &input, AudioBuffer &output) noexcept override |
| Processes the input audio buffer through the delay matrix. | |
| uint32_t | InputChannelCount () const override |
| Returns the number of input channels this processor expects. | |
| uint32_t | OutputChannelCount () const override |
| Returns the number of output channels this processor produces. | |
| void | Clear () override |
| Clears the internal delay buffers. | |
| void | PrintInfo () const |
| Prints information about the delay matrix. | |
| std::unique_ptr< AudioProcessor > | Clone () const override |
| Creates a copy of the delay matrix. | |
Public Member Functions inherited from sfFDN::AudioProcessor | |
DelayMatrix implementation as presented in [1].
[1] S. J. Schlecht and E. A. P. Habets, "Dense Reverberation with Delay Feedback Matrices," in 2019 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), Oct. 2019, pp. 150–154. doi: 10.1109/WASPAA.2019.8937284.
| sfFDN::DelayMatrix::DelayMatrix | ( | uint32_t | order, |
| std::span< const uint32_t > | delays, | ||
| const ScalarFeedbackMatrix & | mixing_matrix ) |
Constructs a DelayMatrix with the specified size and delay values.
| order | the size of the square matrix (order x order) |
| delays | the delay values for each channel. The size of the delays span must match order. |
| mixing_matrix | the feedback matrix to apply to the delayed signals. The size of the matrix must match order x order. |
|
overridevirtual |
Clears the internal delay buffers.
This sets all delay buffers to zero without changing the delay values or mixing matrix.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Creates a copy of the delay matrix.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Returns the number of input channels this processor expects.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Returns the number of output channels this processor produces.
Implements sfFDN::AudioProcessor.
| void sfFDN::DelayMatrix::PrintInfo | ( | ) | const |
Prints information about the delay matrix.
For debugging purposes.
|
overridevirtualnoexcept |
Processes the input audio buffer through the delay matrix.
| input | the input audio buffer |
| output | the output audio buffer |
Implements sfFDN::AudioProcessor.