O3A Reverb - Convolution

O3A Reverb - Convolution

Host Support

Host TypeSupport





This plugin provides basic convolution reverb, but designed to be easy to use with O3A streams. It is a simple plugin and does not provide impulse response editing or capture; it is assumed that you have a suitable impulse response from somewhere else (however, see the notes below on Editing Impulse Responses).

You may be familiar with convolution reverb for stereo and perhaps surround. The principles here are much the same. The essential idea is that an acoustic path in a real acoustic, or another reverb, can be captured as an "impulse response", which is the output of acoustic when it is fed with an "impulse" (i.e. a theoretical, mono, frequency-flat "click"). Capture techniques for real spaces generally use a speaker playing a sine sweep and a spatial microphone, and then calculate the impulse response from the recorded results. Cruder measurement can be performed with a starter pistol (but please get permission and warn people first!).

The plugin has a 16 channel O3A input, but this is mostly to allow some of the O3A dry signal to be mixed in to the output. The input to the convolution algorithm itself uses just the first, omnidirectional channel of the O3A and so does not depend on the spatial content of the input.

However, the output of the convolution algorithm does include spatial content, where the spatial content is derived from the impulse response. For instance, if the impulse response has a large amount of acoustic energy on the left hand side, this will be heard in the convolution results.

Impulse Responses

Impulse responses must be stored in standard PCM-encoded WAV files. The impulse response need not be at the same sample rate as the plugin; in this case, the plugin will resample the impulse response but will take significantly longer to initialise.

For best results, a 16 channel O3A impulse response should be used. Recordings of real spaces done this way are currently relatively rare. However, first or second order ambisonic B-Format impulse responses (4 channel or 9 channel) will work too. They are spatially less precise, but this is often acceptable for reverberation.

To select an impulse response, enter a path name into the File Selection box provided, or click the "Browse" button and select a file that way. If the file is changed on disk it can be loaded again with the "Reload" button.

Both SN3D and FuMa impulse responses are supported, but it is important that you tell the plugin which you are using by setting the file format.

Sourcing Impulse Responses

A number of recorded and modelled B-Format impulse responses are available from the Open Acoustic Impulse Response (Open AIR) Library at https://www.openairlib.net, under a variety of licenses.

Impulse responses can also be generated by acoustic modelling software. Realistic impulses responses can be generated for real or imaginary buildings. Software that can do this includes:

Memory Use and CPU Load

Convolution reverb is typically much more expensive in terms of memory use and CPU load than "algorithmic" reverbs (such as the MS3). Further, the CPU load is typically roughly proportional to the length of the impulse response used, so long impulses responses can be very costly indeed. Be careful what you use as an impulse response!

You may wish to consider setting up convolution reverbs on separate tracks and sending to them, so that multiple sounds can be processed by the same reverb.

Editing Impulse Responses

This plugin does not include a sound editor to edit the impulse response. Instead, we recommend you edit the impulse response externally as an ordinary O3A sound file and press the "Reload" button to bring those changes into the plugin.

For instance, you can reduce the length of the impulse response by editing the overall envelope (shape). With a little careful mixing it is often possible to increase the length too. Applying equalization to the impulse response will change the frequency response of the reverb.

The impulse response itself can be thought of as an O3A file and can be created and/or modified using a variety of O3A plugins. For instance, you might use O3A upmixers to convert a 5.1 impulse response to O3A, apply spatial equalization, or use manipulations to change the acoustic perspective.

Impulse responses often include the "direct path" from the source to the receiver (microphone). This can be useful when convolution reverb is used to simulate sound from one specific location, but it tends to be less useful when a general reverberation is wanted. In these cases, you may wish to edit out the original direct path to avoid conflicts with other direct (dry) signals, for instance from panners or the O3A Shoebox plugin. In the latter case, or if you are also using the O3A Early Reflection plugin, you may also wish to remove or fade some of the early reflections in the impulse response to ensure they do not conflict.

Hybrid Reverb

You may also wish to consider using a "hybrid" approach to reverb, for instance using the O3A Shoebox plugin for detailed dynamic early reflections for individual sources, before sending to a shared convolution reverb for a realistic "late tail". If you do this, you may wish to remove or fade early parts of the impulse response.

Another option is to use the O3A Reverb - Shaped Convolution plugin below.

Input Signal and Levels

The "dry" signal is passed through directly, at the given input level, for instance when reverb is being added directly to an O3A mix.

The "wet" (convolved) part of the output of this plugin is not derived in a way that depends on the input directivity. Only the mono, or omnidirectional, component (the first channel) of the O3A is used and the others are ignored.

As only the first (omnidirectional) channel is used to derive the wet signal, this plugin can be used to produce reverb from a mono signal if that is placed in the first channel of the O3A input. Basic O3A panners will place audio into this first channel at the correct level. Used in this way, the dry level should normally be set to "-inf".

The plugin is available in the O3A Reverb plugin library.


Controls: Dry Gain and Wet Gain

These control how much unmodified "dry" input and modified "wet" material is included in the output.

Control: File Format

The file format should be set to match the style of ambisonics used in the impulse response file. Setting this incorrectly may give strange results. The options are:

  • "SN3D" (in the ACN channel ordering) is the format used by the O1A and O3A plugins. It is used by some recent first order microphones and is sometimes known as "AmbiX".
  • First order "FuMa" is the same as classic WXYZ B-Format, which dates back to the 1970's. It was used in versions of these plugins prior to version 2.0 and some hardware and software uses it, including a number of 3D microphones.