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: