96 kHz.org
Advanced Audio Synthesis

An envelope generator for electronic audio synthesis

Common music synthesizers typically use a classic envelope following the ADSR scheme as introduced in the early 1970tees. There  are four phases named Attack, Decay, Sustain and Release.


4-stage Version

Envelope of classical Synthesizers


 Attack is the time it takes for a note to rise from zero to the maximum set volume after a key is pressed. Decay describes the fading out which is the time it takes to drop from this temporary maximum to a sustain level. This sustain level is the volume that continues to sound as long as the key remains pressed. After the key is released, the release phase begins. This is the time it takes for the sound to fade away completely. In fact 3 of the parameters given describe time values while sustain is a level value.

However there are a few exceptions to this: For example, devices from E-MU offer 6 phases:

6-stage Version

 The classic ADSR has been expanded to include a delay and a hold time. The figure below shows a setting:

 

envelope of rack modules from EMU-Systems

 

The curve and therefore the sound is delayed after pressing the key and released after another dedicated time after releasing it. This improvement opens up new options for sound design, which is particularly advantageous for electronic sounds used in e.g. trance music. Instead of the simple classic 4-point waveforms highly flexible sound designs are possible then. For example, multiple voices can be layered with a different time delay to mix the voices and fade in between them. 

 

several superimposed voices caused with delay


8-stage Version

 A new approach will be presented here: an automated repeat function! For the first time, this method makes it possible to repeat an envelope curve in its entirety, triggering multiple notes without having to press the key again. This is necessary, for example, when playing pizzicato on violins or for very fast and complex drum sounds. Even the sound of machine-gun fire or raindrops can be generated this way.

Two new parameters are introduced: “Repeat Level” and “Repeat Time.” The first sets the volume level at which the envelope is repeated after it ends. Values below 100 percent cause the repeats to fade out. A value of zero effectively disables the repeat. The second parameter explicitly limits the number of possible repeats. This makes it possible to repeat an envelope exactly N times at full volume or to define a specific echo with a fading volume. This allows you to adapt to the rhythm. A value of zero completely disables the repeats. This strategy enables multi-stage and rhythmic waveforms:

 

8-parameter envelope (C) 96kHz.org - Jürgen Schuhmacher - 2004

 

The classic ADSR is then used as usual, while the two additional parameters, PreDelay and Hold, are used in a similar way to how we know them from EMU sound modules!  Their values are simply reinterpreted as speeds as needed to make them easier to calculate in digital systems. In the realisation in my Chameleon Synthesizer, integer based calculation is used. Furthermore I use the character W for "wait" to distinguish from D = Delay. 

Get Smooth

 As a further enhancement, a filter can be applied to the curve to smooth it. Classical IIR-filters are used for this. This results in an even softer transition between the individual phases of the envelope, which, when properly adjusted, brings even more dynamics and life to the sound.

An smoothed envelope of an 8-parameter ADSR

 

Conclusion and Summary
 
With a modern DSP enhanced envelope curves shall be used to shape normalized waves in electronical instruments for musical use. Using filtering techniques a most smoothed curve can be achieved. 

 

© 2004 Jürgen Schuhmacher