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.

In this section