O3A Reverb - Shaped Convolution

O3A Reverb - Shaped Convolution

Host Support

Host TypeSupport
AAXYes
VST2Yes

Audio

ChannelsContent
Input16O3A
Output16O3A

Controls

Description

This plugin has the features of the simpler O3A Reverb - Convolution plugin, but adds more. If you are not familiar with that plugin, we suggest you read its documentation before proceeding here, because things here are not simple.

This reverb has additional pre-processing controls that allow the directivity of its output to be "shaped" by the directivity of the live input signal. This is an extremely powerful feature, but quite mind-bending. You may wish to read this section quite carefully - but we think you will find it worthwhile!

This plugin can create significant CPU loads. Please use it with care.

The Directivity Shaping Envelope

The difference between this and the O3A Reverb - Convolution plugin is the presence of a "directivity shaping envelope" which runs along the length of the reverb impulse response. In other ways, this is a conventional envelope with a delay, a start value, a transition time and an end value. It is shown in the user interface, overlayed on the impulse response. Directivity shaping values are between zero and one.

Shaped Convolver Envelope

When the directivity shaping value is zero, the spatial output of the reverb is the same as with the simpler O3A Reverb - Convolution reverb, so the directivity of the output is entirely determined by the content of the impulse response file.

When the directivity shaping value is one, the output still has the timbral character and reverb decay of the impulse response file, but its directivity is overridden by the directivity of the live input signal at the time it was fed into the reverb.

The envelope allows the directivity shaping to change as the reverb tail progresses.

Why on Earth would I want that?

Without directivity shaping, conventional ambisonic convolution reverb will produce a wet reverb with directivity determined entirely by the impulse response.

For the later stages of the reverb, this can produce a very natural and realistic reproduction of a real space, with detailed reverberation coming from appropriate directions.

However, at the start of the reverb, the impulse response will typically contain highly directional elements relating to the original direct sound path and early reflections. These again can be highly realistic, but the directivity is fixed by the impulse response file. For instance, if the impulse response file includes a recorded direct path from the left, the reverb will always reproduce a direct path from the left, regardless of the directivity of the live input. This can be limiting when the reverb is to be added to a mix which already contains detailed sound placement.

Directivity shaping changes this. It allows the impulse file directivity to be overridden by the directivity of the live input. Further, this override can be controlled at different times along the impulse response, so it changes as the reverb decays.

Directivity shaping is typically applied strongly at the start of the impulse response, fading away to zero over a small fraction of a second. This allows the first, direct path part of the impulse response to be overridden by the "correct" directions present in the live input, but leaves later stages of the reverb decay unmodified. Slower transitions can result in a "blooming" effect starting from the original live input directions but ending with the full ambient directivity of the impulse response.

Shaped Convolver Directivity

If early reflections are already present in the live input, for instance due to use of the O3A Shoebox or O3A Early Reflection plugins, these early reflections will also retain their position when directivity shaping is in use. This can be an effective way to combine dynamic early reflections with recorded late reverb.

The directivity shaping value does not have to end at zero. For instance, if it is set to one for the entire duration of the impulse response, the resulting reverberation will decay in directions driven entirely by the live input signal. This can be produce quite interesting results and, because the directivity is determined entirely by the live input, will work with just a mono impulse response file.

A number of presets (without impulse response filenames) are available to help configure the plugin.

The envelope controls are not intended as real-time automation parameters. Changing them will result in the impulse response file being loaded and processed again, which can take a while.

Memory Use and CPU Load

This plugin can use even more memory and CPU resources than O3A Reverb - Convolution, so be careful how you configure it.

Directivity shaping results in much higher resource use than with the simpler convolver. To keep this under control, it is worth looking at the directivity shaping envelope and ensuring that the envelope value is exactly zero as much as possible. This can generally be achieved by setting the "Envelope End" control to zero and ensuring that the "Envelope Delay" and "Envelope Time" are not set too high.

Setting "Locality" to exactly zero or exactly one will also save resources in some situations.

The "Precision" control can be used to save resources by limiting the spatial detail of the reverb output; but listen carefully to ensure the loss of spatial detail is acceptable.

Also note that pre-processing the impulse response file takes much longer if its sample rate does not match that of the DAW project you are working with. This will show in the Status panel as an "SRC" item. This can make a big difference to usability if you are changing the pre-processing parameters repeatedly for a long impulse response.

The plugin is available in the O3A Reverb plugin library.

Controls

Controls: Dry Gain and Wet Gain

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

Control: Env Delay

This is the number of seconds that the directivity shaping control stays at its start value before starting to change. This time is measured along the reverb impulse response.

This control triggers pre-processing and should not be changed in real-time.

Control: Env Time

This is the number of seconds that the directivity shaping control takes to transition from its start value to its end value. This happens after the delay period above. This time is measured along the reverb impulse response.

This control triggers pre-processing and should not be changed in real-time.

Control: Env Start

This is the directivity shaping control value during the envelope delay period. During the transition period the value fades from this start value to the end value.

This control triggers pre-processing and should not be changed in real-time.

Control: Env End

This is the directivity shaping control value after the envelope transition period. During the transition period the value fades from the start value to this end value.

This control triggers pre-processing and should not be changed in real-time.

Control: Locality

When directivity shaping is in use, the reverb direction is affected by the input signal. In these cases, the character of the reverb (timbre, decay and so on) can be set to be the same for all input directions or to vary depending on how the reverb varied spatially in the impulse response file. Locality values are between zero and one, with a value of zero giving no variation and a value of one giving maximum variation.

For example, assume that directivity shaping is in full use so the output directivity is determined entirely by the live input. Then, assume the reverb tail in the impulse response file is shorter and brighter on the left than the right. In this case, when the locality is set to one, the reverb will be shorter and brighter for sounds on the left in the input signal. When the locality is set to zero, the reverb length and timbre will be the same for all directions.

This can be even more mind-bending than other aspects of this plugin and does not make a noticeable difference with some impulse response files. If in doubt, we recommend setting the locality control to exactly zero as this can significantly reduce memory and CPU use.

This control triggers pre-processing and should not be changed in real-time.

Control: Precision

Precision can be reduced to save CPU and produce a less sharp image. The precision value corresponds directly to the internal ambisonic order used for processing. A value of three indicates that full third order ambisonics (O3A) will be used.

This control triggers pre-processing and should not be changed in real-time.

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.

Presets

Presets are available for this plugin:

  • Mono->Ambi, Ambi IR
  • Quick Bloom, Ambi IR
  • Slow Bloom, Long Ambi IR
  • Directional, Mono IR
  • Directional, Ambi IR
  • Gentle, Ambi IR
  • Tilt, Ambi IR