class: mPlateReverb
plate reverb
Description
Implementation of “plate-style” reverb described in Jon Dattoro - Effect Design Part 1: Reverberator and Other Filters
Template Parameters
<template class T = int32_t>T: data type used internally in delay lines
Class Methods
Constructor
mPlateReverb(float decay = 0.6, float damping = 0.8, float bandwidth = 0.3, float mix = 0.5)decay: sets decay of reverb between 0 (short) and 1.0 (long)
damping: sets damping within reverberation network (0 to 1.0). High values correspond to more lowpass filtering, creating a dark reverb.
bandwidth: sets cutoff frequency of a lowpass filter at the input of the reverb (0 to 1.0). Low values correspond to more filtering, which mainly smooths sharp transients.
mix: sets dry/wet mix (0 to 1.0)
void setDecay(float decay)decay: sets decay of reverb between 0 (short) and 1.0 (long)
void setDamping(float damping)damping: sets damping within reverberation network (0 to 1.0). High values correspond to more lowpass filtering, creating a dark reverb.
void setBandwidth(float bandwidth)bandwidth: sets cutoff frequency of a lowpass filter at the input of the reverb (0 to 1.0). Low values correspond to more filtering, which mainly smooths sharp transients.
void setMix(float mix)mix: sets dry/wet mix (0 to 1.0)
T next(T in_sample)Send a sample of audio into the reverb and return a sample back. Note that clipping can occur within the reverb tank if input is too loud, especially at high decay times.
Example
//global declaration
mPlateReverb my_reverb(0.7, 0.3, 0.5, 0.5);
//in updateAudio
out_sample = my_reverb.next(oscillator_output); // where oscillator_output is the output of some previous sound-generating object