|
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=0) | |
| Constructs a PartitionedConvolver. | |
| PartitionedConvolver (const PartitionedConvolver &)=delete | |
| PartitionedConvolver & | operator= (const PartitionedConvolver &)=delete |
| PartitionedConvolver (PartitionedConvolver &&other) noexcept | |
| Move constructor for the partitioned convolver. | |
| PartitionedConvolver & | operator= (PartitionedConvolver &&other) noexcept |
| Move assignment operator for the partitioned convolver. | |
| void | Process (const AudioBuffer &input, AudioBuffer &output) noexcept SFFDN_NONBLOCKING 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 noexcept SFFDN_NONBLOCKING override |
| Gets the number of input channels supported. | |
| uint32_t | OutputChannelCount () const noexcept SFFDN_NONBLOCKING 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 | |
Additional Inherited Members | |
Protected Member Functions inherited from sfFDN::AudioProcessor | |
| AudioProcessor (const AudioProcessor &)=default | |
| AudioProcessor & | operator= (const AudioProcessor &)=default |
| AudioProcessor (AudioProcessor &&) noexcept=default | |
| AudioProcessor & | operator= (AudioProcessor &&) noexcept=default |
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 = 0 ) |
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. A value of zero automatically selects a schedule based on the FIR length. 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.
|
inlineoverridevirtualnoexcept |
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.
|
inlineoverridevirtualnoexcept |
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.