audio::effects::Reverb
An EAX-style reverb effect, as a template audio processor.
template <typename T, int OUTPUT_CHANNELS = 1, int REVERB_BUFFERSIZE = 2048u, int MAX_AMBI_COEFFS = 4> class audio::effects::Reverb
| Declared in | src/libs/libaudio/audio/effects/reverb/Reverb.hpp |
| Inherits | IAudioProcessor |
| Group | audio |
Detailed description
Reverb implements IAudioProcessor. One input signal passes through an initial delay, early reflections, a decorrelator, cyclic late-reverb delay lines and an echo line, with a modulator on the delay times and high- and low-pass filters on the whole. T is the sample type and OUTPUT_CHANNELS the number of output channels.
init() prepares the effect for an audio format, and process() renders a block of samples. loadPreset() takes a reverb::Settings parameter set, and update() recomputes the delay lines and filters for the sample rate. All delay lines share one sample buffer.
The effect is a value member of its user: CreepyVoice and the bahn tracker's ReverbProcessor each hold one.
See also DelayLine.