Reverb Class Reference
juce_audio_basics » utilities

Performs a simple reverb effect on a stream of audio data. More...

## Classes

struct | Parameters
| Holds the parameters being used by a Reverb object. More...

## Public Member Functions

| Reverb ()
const Parameters & | getParameters () const noexcept
| Returns the reverb's current parameters. More...
void | setParameters (const Parameters &newParams)
| Applies a new set of parameters to the reverb. More...
void | setSampleRate (const double sampleRate)
| Sets the sample rate that will be used for the reverb. More...
void | reset ()
| Clears the reverb's buffers. More...
void | processStereo (float *const left, float *const right, const int numSamples) noexcept
| Applies the reverb to two stereo channels of audio data. More...
void | processMono (float *const samples, const int numSamples) noexcept
| Applies the reverb to a single mono channel of audio data. More...

## Detailed Description

Performs a simple reverb effect on a stream of audio data.

This is a simple stereo reverb, based on the technique and tunings used in FreeVerb. Use setSampleRate() to prepare it, and then call processStereo() or processMono() to apply the reverb to your audio data.

See also
  ReverbAudioSource

## Constructor & Destructor Documentation

## Reverb()

Reverb::Reverb | ( |  | ) |

References setParameters(), and setSampleRate().

## Member Function Documentation

## getParameters()

const Parameters& Reverb::getParameters | ( |  | ) | const

noexcept

Returns the reverb's current parameters.

## setParameters()

void Reverb::setParameters | ( | const Parameters & | newParams | ) |

Applies a new set of parameters to the reverb.

Note that this doesn't attempt to lock the reverb, so if you call this in parallel with the process method, you may get artifacts.

References Reverb::Parameters::dryLevel, Reverb::Parameters::freezeMode, SmoothedValue< FloatType, SmoothingType >::setTargetValue(), Reverb::Parameters::wetLevel, and Reverb::Parameters::width.

Referenced by Reverb().

## setSampleRate()

void Reverb::setSampleRate | ( | const double | sampleRate | ) |

Sets the sample rate that will be used for the reverb.

You must call this before the process methods, in order to tell it the correct sample rate.

References int(), jassert, and SmoothedValue< FloatType, SmoothingType >::reset().

Referenced by Reverb().

## reset()

void Reverb::reset | ( |  | ) |

Clears the reverb's buffers.

## processStereo()

void Reverb::processStereo | ( | float *const | left,
|  | float *const | right,
|  | const int | numSamples
| ) |  |

noexcept

Applies the reverb to two stereo channels of audio data.

References SmoothedValue< FloatType, SmoothingType >::getNextValue(), and jassert.

## processMono()

void Reverb::processMono | ( | float *const | samples,
|  | const int | numSamples
| ) |  |

noexcept

Applies the reverb to a single mono channel of audio data.

References SmoothedValue< FloatType, SmoothingType >::getNextValue(), and jassert.

The documentation for this class was generated from the following file:

- juce_audio_basics/utilities/juce_Reverb.h