Synth Envelopes: The Simple Ones

In a past post, we’ve been discussing synth envelopes – both in theory and in actual implementations.

So far, we’ve been talking exclusively about the so-called four-stage¹ ADSR envelopes, not without a hint that we’ll be looking at expanded versions of those in the future.

We’re not going to do this today. Rather, we’re going to look at even simpler envelopes.

Recapitulating: The Four-Stage Envelope

We’ve been looking at a state diagram like this:


To summarize what was in the original article: If you hit a key when the envelope is idle (gate=on), the signal level rises in the attack stage. After a time defined with a parameter, the signal falls again in the decay stage (duration adjustable), and then falls to a level (adjustable) for the sustain stage and stays there until the key is released (gate=off), when the signal level falls to zero in the release stage (again, time adjustable).

I think it’s safe to say that this is the most often-used kind of envelope over the history of synthdom. And I already stated that these are not complex enough for a number of situations. But there are situations, especially for synths that are targeted at either some specific sounds (e.g. drums) or optimized for simplicity/low-cost where we can make this even simpler. So how simple can it be?

Zero-Stage Envelope?

That would be a constant voltage which you adjust with a knob. Describing this based on our four-stage design, this would be an envelope where gate is always on and you adjust the level with the sustain knob. While for theoretical thinking this is a valid concept, few people would call it an envelope. No gate input, and only one parameter.

But there’s a valid scenario for it – think of adjusting the VCA level for a drone-kind-of sound.

The knobs on these Eurorack VCAs by Synthrotek and 2hp can be considered as “zero-stage envelopes”.

One-Stage Envelope


A very simple thing: the envelope starts with a specific (let’s say “high”) level and once you trigger it, (say by a gate off->on transition, to stick with our terminology so far), it falls to another (let’s say “low”) level.

If you want to see and implementation of this, look no further than the almighty TB-303: its filter envelope is just of that kind, and has one parameter Decay on its panel to make it work.

And there’s a ton of those in the modular world as well, such as the Doepfer A-142 VCD, as seen in this video:


For a more recent implementation, take the Korg Volca Kick: its pitch envelope also goes from “high” to “low” and the “env mod” and “decay” knobs of the TB-303 are here called “bend” and “time”.

So case closed, right? Well, not exactly. Let’s just ask ourselves the question how the level gets back from low to high? It does so in what we before called the 0th stage – but this time, this is a stage where something happens. So we find that the level needs to rise up either during that idle stage – which that way becomes a stage of its own, or very quickly at the beginning of our only stage – meaning we have a two-stage envelope (albeit only with one parameter).

An Even Simpler One-Stage Envelope

Let’s stick with the TB-303 for a moment, though, and have a look what it does for controlling the signal level. Essentially, the gate signal we’ve been talking about here is used to control the VCA, completely skipping the envelope generator.

Not having an envelope generator doesn’t mean we don’t have an envelope, though: we can consider the gate signal itself as an envelope, which makes it a one-stage, zero-parameter envelope. The stage starts with the gate going from 0 to 1, and ends with the gate going from 1 to 0. Level is at max for gate 1, and zero otherwise. And with that, we have proper one-stage envelope that doesn’t even require an envelope generator. Practical example? Again, the TB-303 for the amplitude.

TB-303 front panel, image courtesy of Steve Sims (CC0 license)

Two-Stage Envelope

Once we have two stages, we neatly can solve the problem we’ve encountered before for the Decay-Only-Envelope.

This simple design will start an attack stage when gate turns from 0 to 1 and then run up an attack stage, at the end of which it starts to decay. Parameters for this would be attack and decay time, and a degenerate version of this one is if you set the attack to zero and end up with our Decay-Only-Envelope (or rather, an implementation that actually works).

Those kinds of envelopes can be found in synths aimed at percussion sounds. The aforementioned Korg Volca Kick uses one for controlling the VCA². Moog’s DFAM uses a total of three of them, two of which have the attack fixed to “extremely short”, making them essentially Decay-Only Envelopes.

The amplitude envelope on the Moog DFAM.

In the Modular World, Doepfer has not one but two modules doing just that: the A-142-2, named “Quad Decay”, is a four Decay-Only Envelopes with a twist, as you can adjust attack with a jumper (and it’s preset for 303-style timing). The A-143-1, dubbed a “Quad AD Generator”, gives you four standard AD two-stage envelopes. The fact that they can be looped and connected to each other makes this module also an interesting topic for a future article in this series.



You can think of this as an ADSR envelope without a decay stage. After the attack stage ends, maximum level is held as long as gate remains high (i.e. the key remains pressed), after which we enter the decay stage (which we also could call “release” in this case).

ASR envelope state diagram in our simplified notation.

Here, we’re already starting to move into rarer territory. The only implementation I can think of right now is (once again) the Korg Volca Kick, where you can configure the amp envelope to perform in such a fashion. Why? To make this kick drum synth also able to play synth bass (or any kind of sustained) sounds.


Upon receiving a gate 0->1 transition (which can also be a trigger), the level rises to maximum during the attack stage. Then, maximum level is held during the hold stage (also with a time parameter), before the level descends to zero during the decay phase.

So why would you want that? This makes sense in scenarios where you use triggers from a sequencer or drum trigger pad, rather than gate signals from a so-equipped sequencer or keyboard. This way, you can have sounds either sustain for a predetermined time (e.g. for that orchestral stab in your electronic drum kit), or approximate a sound which has a very shallow first decay section, followed by a steeper one.

Examples? The Elektron Analog Rytm uses such an envelope for the amplifier, which is a sensible choice considering the sequencer thinks mainly in triggers, not in notes with a duration. Why the filter envelope is of the ADSR kind is beyond me, though.

From the Analog Rytm’s manual: the AHD-Envelope’s parameters “ATK” (attack), “HLD” (hold) and “DEC” (decay).

Is That All?

It’s rather obvious to see that there’s no other possibilities for zero-, one- and two-stage envelopes. One further three-stage-envelope I could think of would be an ADD2 envelope, i.e. with two different decay sections (e.g. with different steepness) – and the same would be true for AA2D variants with two different attack stages.

I myself don’t know of any implementations of this kind, though. You can however easily accomplish something like that either by using very complex, highly configurable envelopes out of the scope of this “simple envelopes” article, or you can combine envelope generators to accomplish that.

The former is possible in some (hardware and software) synths, and the latter is easily done with modular setups. But, as said, this is beyond the scope of this post (but may very well be treated in this series at a later time).

1: Some theorists (rightfully) state that this would be better described as a three-stage envelope. But discussing that will have to wait until later.

2: Note that the Volca Kick’s amplitude envelope can be switched into an ASR mode as well.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s