JUCE: Reverb Class Reference

JUCE

Classes | Public Member Functions | List of all members
Reverb Class Reference
juce_audio_basics » utilities

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

`#include <juce_Reverb.h>`

## 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, 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(), and jassert.

Referenced by Reverb().

## ◆ reset()

void Reverb::reset | ( |  | ) |

Clears the reverb's buffers.

References gl::j.

## ◆ 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 gl::input, gl::j, jassert, JUCE_BEGIN_IGNORE_WARNINGS_MSVC, JUCE_END_IGNORE_WARNINGS_MSVC, gl::left, and gl::right.

## ◆ processMono()

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

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

References gl::input, gl::j, jassert, JUCE_BEGIN_IGNORE_WARNINGS_MSVC, JUCE_END_IGNORE_WARNINGS_MSVC, gl::output, and gl::samples.

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

- juce_audio_basics/utilities/juce_Reverb.h