The FastConvolver provides a fast convolver - the user supplies the filter IR and the object snapshots the FFT of that filter IR. Input audio is fast-convovled with the filter FFT using complex multiplication and zero-padding.
More...
#include <fxobjects.h>
|
PhaseVocoder | vocoder |
| vocoder object
|
|
FastFFT | filterFastFFT |
| FastFFT object.
|
|
fftw_complex * | filterFFT = nullptr |
| filterFFT output arrays
|
|
double * | filterIR = nullptr |
| filter IR
|
|
unsigned int | inputCount = 0 |
| input sample counter
|
|
unsigned int | filterImpulseLength = 0 |
| IR length.
|
|
The FastConvolver provides a fast convolver - the user supplies the filter IR and the object snapshots the FFT of that filter IR. Input audio is fast-convovled with the filter FFT using complex multiplication and zero-padding.
Audio I/O:
- processes mono input into mono output.
Control I/F:
- Author
- Will Pirkle http://www.willpirkle.com
- Version
- Revision : 1.0
- Date
- Date : 2018 / 09 / 7
◆ getFilterIRLength()
unsigned int FastConvolver::getFilterIRLength |
( |
| ) |
|
|
inline |
◆ getFrameLength()
unsigned int FastConvolver::getFrameLength |
( |
| ) |
|
|
inline |
◆ initialize()
void FastConvolver::initialize |
( |
unsigned int |
_filterImpulseLength | ) |
|
|
inline |
setup the FFT for a given IR length
- Parameters
-
_filterImpulseLength | the filter IR length, which is 1/2 FFT length due to need for zero-padding (see FX book) |
◆ processAudioSample()
double FastConvolver::processAudioSample |
( |
double |
input | ) |
|
|
inline |
process an input sample through convolver
◆ setFilterIR()
void FastConvolver::setFilterIR |
( |
double * |
irBuffer | ) |
|
|
inline |
setup the filter IRirBuffer MUST be exactly filterImpulseLength in size, or this will crash!
The documentation for this class was generated from the following file: