|
sfFDN
|
A partitioned convolution engine that can filter audio signals with an FIR filter. More...
#include <partitioned_convolver.h>
Public Member Functions | |
| PartitionedConvolver (uint32_t block_size, std::span< const float > fir, uint32_t rep_count=8) | |
| Constructs a PartitionedConvolver. | |
| PartitionedConvolver (const PartitionedConvolver &)=delete | |
| PartitionedConvolver & | operator= (const PartitionedConvolver &)=delete |
| PartitionedConvolver (PartitionedConvolver &&) noexcept | |
| Move constructor for the partitioned convolver. | |
| PartitionedConvolver & | operator= (PartitionedConvolver &&) noexcept |
| Move assignment operator for the partitioned convolver. | |
| void | Process (const AudioBuffer &input, AudioBuffer &output) noexcept override |
| Processes the audio buffer. | |
| uint32_t | GetBlockSize () const |
| Gets the block size used for processing. | |
| void | DumpInfo () const |
| Dumps internal information to the standard output for debugging purposes. | |
| std::string | GetShortInfo () const |
| Gets a short string representation of the internal state of the convolver for debugging purposes. | |
| uint32_t | InputChannelCount () const override |
| Gets the number of input channels supported. | |
| uint32_t | OutputChannelCount () const override |
| Gets the number of output channels supported. | |
| void | Clear () override |
| Clears the internal state of the processor. | |
| std::unique_ptr< AudioProcessor > | Clone () const override |
| Creates a copy of the PartitionedConvolver. | |
Public Member Functions inherited from sfFDN::AudioProcessor | |
A partitioned convolution engine that can filter audio signals with an FIR filter.
| sfFDN::PartitionedConvolver::PartitionedConvolver | ( | uint32_t | block_size, |
| std::span< const float > | fir, | ||
| uint32_t | rep_count = 8 ) |
Constructs a PartitionedConvolver.
| block_size | The block size to use for processing. |
| fir | The FIR filter coefficients. |
| rep_count | The number of times to repeat each block in the partitioned convolution. The PartitionedConvolver only works if the block size stays constant during use. Process() expects the input and output buffers to have a sample count equal to the block size. |
|
overridevirtual |
Clears the internal state of the processor.
This function resets the internal buffers and states of the convolver, but keeps the FIR filter intact.
Implements sfFDN::AudioProcessor.
|
overridevirtual |
Creates a copy of the PartitionedConvolver.
Implements sfFDN::AudioProcessor.
| uint32_t sfFDN::PartitionedConvolver::GetBlockSize | ( | ) | const |
Gets the block size used for processing.
| std::string sfFDN::PartitionedConvolver::GetShortInfo | ( | ) | const |
Gets a short string representation of the internal state of the convolver for debugging purposes.
|
inlineoverridevirtual |
Gets the number of input channels supported.
This is always 1, as PartitionedConvolver processes one channel at a time.
Implements sfFDN::AudioProcessor.
|
noexcept |
Move assignment operator for the partitioned convolver.
|
inlineoverridevirtual |
Gets the number of output channels supported.
This is always 1, as PartitionedConvolver processes one channel at a time.
Implements sfFDN::AudioProcessor.
|
overridevirtualnoexcept |
Processes the audio buffer.
| input | The input audio buffer. |
| output | The output audio buffer. The input and output buffers must have the same number of samples equal to the block size. |
Implements sfFDN::AudioProcessor.