Main Content

Reverberator

Add reverberation to audio signal

  • Library:
  • Audio Toolbox / Effects

  • Reverberator block

Description

TheReverberatorblock adds reverberation to mono or stereo audio signals. You can tune parameters of theReverberatorblock to mimic different acoustic environments.

Ports

Input

expand all

  • Matrix input –– Each column of the input is treated as an independent channel.

  • 1-D vector input –– The input is treated as a single channel.

This port is unnamed unless you specify additional input ports.

Data Types:single|double

Dependencies

来enable this port, selectSpecify from input portfor thePre-delay (s)parameter.

Data Types:single|double

Dependencies

来enable this port, selectSpecify from input portfor theHighcut frequency (Hz)parameter.

Data Types:single|double

Dependencies

来enable this port, selectSpecify from input portfor theDiffusionparameter.

Data Types:single|double

Dependencies

来enable this port, selectSpecify from input portfor theDecay factorparameter.

Data Types:single|double

Dependencies

来enable this port, selectSpecify from input portfor theHigh frequency dampingparameter.

Data Types:single|double

Dependencies

来enable this port, selectSpecify from input portfor theWet/dry mixparameter.

Data Types:single|double

Output

expand all

TheReverberatorblock outputs a signal with the same data type as the input signal. The size of the output depends on the size of the input:

  • Matrix input –– The block outputs a matrix of the same size and data type as the input signal.

  • 1-D vector input –– The block outputs anN-by-1 matrix (column vector), whereNis the number of elements in the 1-D vector.

Data Types:single|double

Parameters

expand all

If a parameter is listed as tunable, then you can change its value during simulation.

Pre-delay for reverberationis the time between hearing direct sound and the first early reflection. The value ofPre-delay (s)is proportional to the size of the room being modeled.

来specifyPre-delay (s)from an input port, selectSpecify from input portfor the parameter.

Tunable:Yes

Lowpass filter cutoffis the –3 dB cutoff frequency for the single-pole lowpass filter at the front of the reverberator structure. It prevents the application of reverberation to high-frequency components of the input.

来specifyHighcut frequency (Hz)from an input port, selectSpecify from input portfor the parameter.

Tunable:Yes

Diffusionis proportional to the rate at which the reverb tail builds in density. IncreasingDiffusionpushes the reflections closer together, thickening the sound. ReducingDiffusioncreates more discrete echoes.

来specifyDiffusionfrom an input port, selectSpecify from input portfor the parameter.

Tunable:Yes

Decay factoris inversely proportional to the time it takes for reflections to run out of energy. To model a large room, use a long reverb tail (low decay factor). To model a small room, use a short reverb tail (high decay factor).

来specifyDecay factorfrom an input port, selectSpecify from input portfor the parameter.

Tunable:Yes

High frequency dampingis proportional to the attenuation of high frequencies in the reverberation output. SettingHigh frequency dampingto a large value makes high-frequency reflections decay faster than low-frequency reflections.

来specifyHigh frequency dampingfrom an input port, selectSpecify from input portfor the parameter.

Tunable:Yes

Wet/dry mixis the ratio of wet (reverberated) signal to dry (original) signal that yourReverberatorblock outputs.

来specifyWet/dry mixfrom an input port, selectSpecify from input portfor the parameter.

Tunable:Yes

When you select this parameter, the block inherits its sample rate from the input signal. When you clear this parameter, you specify the sample rate inInput sample rate (Hz).

Tunable:Yes

Dependencies

来enable this parameter, clear theInherit sample rate from inputparameter.

  • Interpreted execution– Simulate the model using the MATLAB®interpreter. This option reduces startup time and the simulation speed is comparable toCode generation. In this mode, you can debug the source code of the block.

  • Code generation– Simulate the model using generated C code. The first time you run a simulation, Simulink®generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change. This option requires additional startup time, but the speed of the subsequent simulations is comparable toInterpreted execution.

Block Characteristics

Data Types

double|single

Direct Feedthrough

no

Multidimensional Signals

no

Variable-Size Signals

是的

Zero-Crossing Detection

no

Algorithms

expand all

The algorithm to add reverberation follows the plate-class reverberation topology described in[1]and is based on a 29,761 Hz sample rate.

The algorithm has five stages.

The description for the algorithm that follows is for a stereo input. A mono input is a simplified case.

References

[1] Dattorro, Jon. "Effect Design, Part 1: Reverberator and Other Filters."Journal of the Audio Engineering Society. Vol. 45, Issue 9, 1997, pp. 660–684.

[2] Dattorro, Jon. "Effect Design, Part 2: Delay-Line Modulation and Chorus."Journal of the Audio Engineering Society. Vol. 45, Issue 10, 1997, pp. 764–788.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2016a

See Also