Stuck with a SynthEdit project?

Tag: Reverberation

A more advanced reverb

Third Party Modules.

Requires the TD Allpass Dly2 module.

The Moorer Model of Reverb.

James Moorer’s version improves on Schroeder’s model of reverb, which tends to suffer from the disadvantage of a somewhat metallic sound (unless of course you want that sound).
Moorer suggested the use of low-pass filters in the comb filters’ feedback
path to emulate the sort natural high frequency damping to be found in rooms and halls full of people.
He also generated early reflections using tapped delay lines. Moorer’s reverb model employs six comb filters in parallel, the outputs of which are summed and fed into just one all-pass filter. The image below outlines its schematic.

The Delay and it’s feedback loop.

In our structure each comb filter’s feedback loop includes a one-pole low-pass filter as you can see below: (Moorer Delay prefab). As is usual to have a feedback loop in a SynthEdit structure we need to have a special Feedback – Volts module in the structure to allow this, but although this is going to introduce a delay in the loop this really won’t be all that noticeable in this application.
The only settings of note are:
1) Pitch to voltage: The Pitch control parameter should be set to 1 V/ kHz on all low pass filters. We need all filters behaving identically.
2) The Filters: 1 Pole LPF is all you need in the feedback loop. If we have any steeper cutoff it just won’t sound natural. The filter is only affecting the feedback loop because we don’t want to colour the incoming sounds in any way. We also really don’t want to introduce any resonance into the loop either.
3) Feedback: We need to ensure that the Feedback plug has its parameter set to 0. Because we are using an external feedback loop we don’t wany any feedback whatsoever in the delay module.

Having completed our delay with damped feedback we now come to the structure of our Reverb 6 container which has the structure shown below. This is where we have our six delays connected in parallel, with their structure of delay times.
This prefab employs the same delay times that were originally used by
Moorer: 50 mS, 53 mS, 61 mS, 68 mS, 72 mS, and 78 mS. These values could obviously be changed slightly to allow for different room/hall/ sizes.
Notes:
Delay times: Remember we are looking at reverb, not echo so we don’t want such a long delay that the repeated sounds become noticeably separated from each other, varying the voltages by +/- 0.3V would be plenty.
Consistency: However do keep them to the same time differences to keep the effect sounding consistent.
Suggestion: If you decide to implement a method of changing the delay times to alter the room “size” my suggestion would be to use switching to change the voltages rather than a control knob.
Warning: Do not modulate the delay times as this will introduce unwanted and unpleasant pitch changes,

The voltages set in the Fixed Values module are shown below.

Preset delay times

The final structure for our reverb, has two All Pass filters following the Reverb 6 modules just to “smear” the reverberated sound a little, the values used in the Fixed Value for the left and right channel All Pass filters are shown below.

Preset All Pass phase times

To avoid creating a ringing metallic effect as well as reverb, you need to limit the Maximum Decay parameter to around one volt (using the usual Min/Max settings in the control preferences).

An improved Reverb design in Synthedit .

Third Party modules.

Requires the TD Allpass Dly2 module.

Using a single Delay2 for a very basic reverb effect is all well and good, but has its limitations, one of which is that at the short delay times we are using there can be noticeable peaks and troughs in the frequency response, as what we are setting up is basically a comb filter, so we can get some ringing effects on transients at certain frequencies, and also a “drainpipe” like effect on other sounds. Not good. So what’s the answer?

The Schroeder Model of Reverb.

If we put a sharp transient sound such as a handclap into a delay line then
exponentially decaying impulses follow the first impulse. Though this
is similar to an exponentially decaying reverb, in the frequency
response peaks occur at equally spaced frequencies like the teeth of a
comb, hence the name comb filter.

How sound decays (fades away) in a room or hall.

This will result in a ringing metallic sound, especially once feedback is added into the mix. Digital audio pioneer Manfred Schroeder proposed using parallel delays with differing delay times, in combination with all-pass filters for digital reverb. His idea proposed a structure with four parallel delays and two serial all-pass filters. The delays create the reflections, and the all-pass filters “smear” any transients thus making the reverb more diffuse and reducing any resonances. Schroeder’s design is shown below in block form. Each comb is a Delay2 module.

Block diagram of the Schroeder type reverb

6 x Delay container:
A set of six Delay2 modules pre-set to differing delay times within the range of 10 to 60 mS which is the ideal range for reverb, any longer and we start to get an echo effect, and shorter and there’s no noticeable reverb effect.
All the outputs from the Delay2 modules are fed into the Input 1 of a Divide module, this is because if we just feed all the signals into a normal module they will all be added together, more than likely exceeding the input range of the module causing clipping. Input 2 of the divide module is set to 6 (the number of delay modules) to restore the normal signal range. There have been various calculations made for the “ideal” delay times, but in practice a natural reverb depends on the shape and size of the area, and the things in that area.
There has been a calculation made of the “ideal” delay times which are
50, 53, 61, 68, 72, and 78 ms

All Pass Container:
The All Pass container uses two more Delay two modules in series one set to 17mS, and another to 74mS these two delays give an added “blurring” effect to any transients, along with a 1pole Low Pass filter for variable HF damping on the reverb “tail”

All pass section

Feedback Container:
The feedback container has a Feedback – Volts module to allow feedback. A combination of the inherent time delay in a feedback loop in SynthEdit, and the two All Pass filter modules adds further frequency dependant phase shifting to further reduce ringing and metallic sounding transients. Again the frequencies of the All Pass filters are fairly random, but spaced out to try and give maximum effectiveness in reducing unwanted audio artefacts.

The feedback section

Creating a very basic Reverb effect in Synthedit with the Delay2 Module.

BBD Reverbs.
First there were plate and spring line reverbs, then along came an electronic “chip” called a Bucket Brigade Delay (BBD). This used high impedance CMOS devices and capacitors to pass the electric charge (audio) along the line, each stage in the line adding a small delay. These worked well, and eliminated the problems of external noise entering the signal chain. However the way they worked introduced their own artefacts such as aliasing at high frequencies, filtering was used filtering to restrict this, and they also introduced a certain amount of distortion, which gave them their own unique low-fi sound. By using multiple chips with different delay times you could get some quite complex reverbs.

Delay2.

Creates a delay (echo or reverb) effect on audio signals very similar to BBD chips.
Note: If you intend to modulate the delay time, you should enable interpolation, this reduces clicks and “zipper” noise.

The SynthEdit Delay2 module

Plugs.
Left Hand Side:
Signal In:- (Voltage) Input Signal
Modulation:- (Voltage) Varies the delay time dynamically (0 to 10V)
Feedback:- (Voltage) Controls the amount of feedback of the delayed signal.

Right Hand Side:
Signal Out: – (Voltage) Audio output signal
Parameters:
Delay Time (secs): – Maximum delay time in Seconds. The delay time is limited to a maximum of 10 seconds.
Interpolate Output: – Provides smoother modulation of delay time, but with an increase in CPU load.

Basis BBD style, single delay reverb effect.
We can emulate this in a SynthEdit module, which takes the audio input, and much like the old BBD chips, slices up the audio into samples and passes them down the delay line.
Shown below is our very basic reverb effect.
Delay Time:- Set the delay time to 0.001 Seconds (10mS) in properties
Delay control:– Set the maximum voltage for the delay slider to 0.06 volts, this gives us a delay time range of 10mS to 70mS.
Feedback:– Set the maximum voltage for the Feedback slider to 8 volts, as we don’t want the absolute maximum feedback level as it will just give uncontrolled oscillation.
Wet/Dry:- This control will default to a range of -5 volts to +5 volts. Leave this as it is to give the full range of wet to dry effect.

Very basic reverb structure

There’s one important point to note, if this reverb is being included as part of a Synthesizer VST we need to think about polyphony. It really isn’t needed for a reverb effect so we need to containerise our reverb, put a Voice Combiner module in place in the input- the voice combiner forces then the Modules in this container to stay Monophonic. Otherwise every time you play more than one note on your Synth plug in it will create an un-necessary clone of the reverb module wasting CPU and memory.

Optimising CPU with your reverb

Making the Reverb Stereo.

Stereo Reverb

Converting to Stereo is easy, we just create two identical Reverb chains, one for the left channel, and one for the right channel. Keep the two delay and feedback levels linked otherwise some very peculiar (and unwanted) phase and stereo imaging effects can be introduced.

Limitations of basic Delay reverbs.

This is structure is OK for a very basic reverb effect, but has its limitations, one of which is that at the short delay times we are using there can be noticeable peaks and troughs in the frequency response, as what we are setting up is basically a comb filter, so we can get some ringing effects on transients at certain frequencies, and also a “drainpipe” like effect on other sounds. Not so good. So what’s the answer?
Fortunately there is one that was devised by Manfred Schroeder, known as the Schroeder Model of reverb.