As we learned in the previous article, an envelope generator (EG) produces a rising and falling control signal, the envelope itself. And we saw how it was used to control the volume parameter of the amp. Envelopes are routinely used in sound programming to control much more than just volume, concepts we’ll explore after first learning about the EG’s controls.
Figure 1: a typical ADSR envelope generator with slide controls
Figure 2: The rotary controls of the ADSR from the Korg MonoPoly
The acronym ADSR represents the four controls of the traditional, 4-segment EG: attack, decay, sustain, and release. By adjusting these controls you can create a variety of rising & falling shapes, gestures, or contours that begin when you play a key (this triggers the envelope generator) and end when you release the key.
To understand how EGs are used to influence the properties of sound, just think about what would happen if the rising/falling action of an EG would have on those properties: when an EG is used to control volume, the envelope causes the volume to rise and fall. Couldn’t be simpler! When an EG is used to control pitch—a feature found on many synths—the pitch will rise and fall according to the contour of the envelope.
But perhaps the most obvious and important use of EGs are to control the filter, where the envelope’s rising/falling action moves the cutoff frequency up and down. The dynamic changes in timbre we’re used to hearing from synths—everything from evolving pads that slowly get brighter and darker over time, to bass sounds that go “neeeeeowwww”—are usually created by an EG controlling cutoff. In fact, this is such routine use for EGs that all but the most rudimentary of synths feature more than one; typically, one controls the amp, another controls the filter (see Figure 4).
Figure 4: Dedicated Filter and Amp EG’s on the Pro-53 plugin, a faithful emulation of the Sequential Circuits Prophet 5
Note: It may be helpful to refer to Figure 3 above when reading the following descriptions of the ADSR’s controls. As shown, upon playing a key, the envelope starts from a value of zero and rises to a peak level which I’ll refer to simply as “max”. When you release the key, the level falls back to zero.
• Attack Time—the speed at which the envelope signal rises from zero to max within the envelope generator itself.
• Decay Time—the speed at which the envelope signal falls to the level determined by the next control, sustain level.
• Sustain Level—unlike attack and decay, this parameter controls a level, not a rate of speed. The level can be set to values from zero to “max”, and here’s how it works: after the envelope rises from zero to max during the attack stage, it then decays down to, and settles on, the level set by the sustain control. The envelope will remain at this level until you release the key. Note that setting sustain to values of either zero or max raises two special circumstances (see Special Cases below).
• Release Time—the amount of time it takes for the envelope to fall from the sustain level back to zero after you release a key.
Special Cases for the Sustain Control
Sustain Level = 0
When you play and hold a key, the envelope will attack from zero to max (at the attack rate) and then decay back down to zero (at the decay rate). Thus, when sustain = 0, the sustain segment of the envelope has no effect other than to allow the decay segment to fall completely back to zero. And if you hold the key long enough so that the decay stage completely falls back to this zero level, the release stage will have no effect.
Sustain Level = Max (100%)
When you play and hold a key, the envelope will attack from zero to max as usual. But since the sustain level is set to max, the envelope will have no place to decay down to. So when sustain = max, the decay segment of the envelope is essentially ignored, and the sustain level of “max” will be maintained as long as you hold the key. When you release the it, the envelope will fall from max to zero at the rate of the release control.
It’s important to note that how long you hold down a key has an influence on the envelope shape. In Figure 3, we see an envelope shape representing ADSR settings for long (slow) attack, decay, and release times. If you were to play a key but let it go before the attack stage reached “max”, the envelope would seamlessly transition to the release stage and play itself out to zero.
Similarly, if you held a key so that the attack stage completed (reached “max”) but let it go before the decay level had a chance to fall completely to the sustain level, the envelope will transition to the release stage.
When it comes to setting up the envelope generator’s controls to affect volume, I first think of the overall volume shape or gesture I want the sound to have, from the time I play the key to the time I release it. For example, if I want to create an evocative, evolving pad where the sound fades in slowly, remains at maximum loudness while I hold a key, and fades out slowly when I release it, I’ll set a long attack time, max sustain, and long release time (see Figure 5a). But for an organ or gate-like response, I think about that gesture upon playing a key: instant on (zero attack time), full volume while holding the keys (sustain 100%), instant release (zero release time), as shown in Figure 5b.
After you gain some experience with ADSRs and how they can be used to affect loudness, timbre, and pitch, you too will start to associate various sonic shapes and gestures with the appropriate settings for EGs used to control those properties.
Depending on which synth you’re working with, you may encounter EG designs that differ from the traditional ADSR. The “complex” type of EGs available in Spectrasonic’s Omnisphere make for an obvious example (see Figure 6a & b). These EGs can be programmed to have fewer or greater the number of stages than the traditional ADSR, aren’t restricted to starting and ending at zero, and don’t even have to include a sustain level segment. These types of envelopes are created directly on Omnisphere’s GUI.￼
For contrast, some envelope generators are extremely rudimentary. In Figure 7 we see Logic’s ES-E which features a simple AR envelope. It could be called an ASR, because this envelope does indeed have a sustain level, but it’s permanently fixed at “max”. The envelope shape as programmed in Figure 7 would result in the shape shown in Figure 8.
Figure 7: An AR envelope generator from Logic’s ES-E plugin.￼
Figure 8: Depiction of the envelope shape of the ES-E plug as programmed above.
Note that in the illustrations of envelopes shown above (except the second Omnisphere complex envelope), the horizontal lines representing the sustain portion don’t indicate an actual duration of elapsed time. Rather, they are just a illustrative representation of the sustain portion of the envelope. How long it actually lasts depends on how long you hold down the key that triggered the envelope in the first place.
The more you explore different synths by different manufacturers and developers, the more you’ll likely encounter additional variants in envelope generator design. One type worth mentioning is the AHDSR, where the H stands for “hold”. The hold segment is essentially a timer that holds the max level achieved at the end of the attack stage for a specified period of time before moving on to the decay stage.
But what’s interesting is regardless of novel (and useful) advances in EG design over the years, the ADSR-style envelope hasn’t fallen out of favor. ADSR’s are still implemented in the design of even the most up-to-date synths, and they remain a simple yet powerful means for creating interesting and satisfying sonic shapes and gestures.￼