ADSR Envelopes

The oscillator gives us the spectral character of a sound. An envelope gives us its shape through time.

Core idea: a waveform by itself simply continues. An ADSR envelope changes its amplitude over time so the waveform can behave like a note, pluck, pad, organ, percussion sound and much more.

1. The simple maths

An amplitude envelope is just a changing gain value. At every moment we multiply the oscillator by the envelope:

output(t) = oscillator(t) × envelope(t)

If the envelope is 1.0, we hear the oscillator at full level. If it is 0.5, the oscillator is half amplitude. If it is 0, we hear silence.

2. What A, D, S and R actually do

A — Attack

Time taken for the signal to rise from silence to its peak after note-on.

0 → 1
D — Decay

Time taken to fall from the attack peak down to the chosen sustain level.

1 → S
S — Sustain

The level held while the note remains on. Sustain is not a time value.

hold at S
R — Release

Time taken for the signal to return to silence after note-off.

current level → 0

3. Interactive ADSR

Envelope — drag the points or use the sliders

Drag the peak to alter Attack, drag the sustain corner horizontally to alter Decay, drag it vertically to alter Sustain level, and drag the final point to alter Release.

Raw oscillator

Oscillator × ADSR

Ready: press and hold the trigger button or hold the spacebar. While held, the envelope moves through Attack → Decay → Sustain. Releasing starts Release.

4. Why the envelope matters

The same oscillator can behave like completely different instruments simply because its amplitude changes differently through time.

Example Envelope behaviour Perceptual result
OrganFast attack, little decay, high sustain, fast releaseImmediate and held
PluckFast attack, short decay, little/no sustainShort struck/plucked event
PadSlow attack, gentle decay, high sustain, long releaseSoft evolving sound
PercussionVery fast attack, rapid decay, zero sustainTransient event

5. The next step

Here the envelope controls amplitude. But an envelope is simply a control signal — it can be routed elsewhere.

ADSR → amplifier gain
ADSR → filter cutoff

That gives us the classic synthesiser architecture: oscillator → filter → amplifier, with envelopes shaping both brightness and loudness through time.