Introduction
In our last lesson, we delved into the synthesizer's filter, understanding how parameters like cutoff frequency and resonance provide a static "snapshot" of a sound's timbre. However, the sounds of musical instruments, and indeed the physical world, are rarely static. A struck piano string has a sharp, percussive onset and then fades, while a note played on a violin can swell into existence. To make our synthesized sounds dynamic and expressive, we need to automate the control of parameters like amplitude and filter cutoff over time.
This lesson introduces the primary tool for this task: the ADSR envelope. We will define the four stages of this envelopeβAttack, Decay, Sustain, and Releaseβand explore how they are applied to shape both a sound's volume and its timbral evolution. Building on your background in physics and electronics, we will investigate the "why" behind the characteristic shapes of these envelopes, connecting them to the behavior of RC circuits and their perceptual impact. By the end of this lesson, you will be able to apply ADSR envelopes to transform static tones into dynamic, characterful musical elements.
The ADSR Model: Shaping Sound Over Time
At its core, an envelope in sound synthesis is a control signal that changes over time, typically triggered by a note-on event (pressing a key) and a note-off event (releasing it). It "envelopes" or outlines the evolution of a sound parameter. The most ubiquitous type is the ADSR envelope.

Let's begin with a clear definition of the four stages that give ADSR its name.
Sound Synthesis with Python: Transform your Audio with ADSR Envelopes
This video from the channel Code Meowstro provides a concise and clear introduction to the four stages of an ADSR envelope and illustrates them with common instrumental examples.
Please watch the following two segments: The first segment provides a precise definition of Attack, Decay, Sustain, and Release. Pay close attention to the distinction that Sustain is a level, while the other three are time durations. The next part demonstrates how the unique ADSR shapes of a piano and a violin contribute to their distinct characters.
To summarize the key definitions from the video:
- Attack: The time it takes for the signal to go from zero to its peak level after a note is triggered. A fast attack creates a percussive, immediate sound, while a slow attack creates a gentle swell.
- Decay: The time it takes for the signal to fall from its peak level down to the sustain level.
- Sustain: The level at which the signal is held as long as the note remains triggered. This is a level (amplitude), not a duration. A sustain of zero means the sound will decay to silence even if the key is held down.
- Release: The time it takes for the signal to fall from the sustain level back to zero after the note is released. A long release creates a lingering "tail" or reverberation.
Primary Applications: Amplitude and Filter Envelopes
The ADSR envelope is a versatile control signal that can be routed to modulate various parameters. The two most fundamental applications are controlling amplitude and filter cutoff.
1. Amplitude Envelope (VCA)
This is the most intuitive use. The envelope is sent to the Voltage Controlled Amplifier (VCA), shaping the overall volume of the sound. This is what dictates whether a note is a short "stab," a percussive "hit," or a long, evolving "pad." Every sound you hear from a synthesizer has some form of amplitude envelope.
2. Filter Envelope (VCF)
This is where timbral shaping becomes truly dynamic. The same ADSR envelope can be routed to modulate the cutoff frequency of the Voltage Controlled Filter (VCF). This allows the brightness or spectral content of the sound to change over the course of a single note.

The Envelope Depth (also called Contour or Amount) is a critical parameter.
- A positive depth means that as the envelope's value rises during the attack phase, the filter's cutoff frequency also rises, making the sound brighter. As the envelope falls during decay and release, the sound gets darker. This is very common, as it mimics the behavior of many acoustic instruments where the initial impact is rich in high frequencies that die away quickly.
- A negative depth inverts this relationship. The sound would start darker and become brighter as the envelope decays.
- A zero depth means the envelope has no effect on the filter; the cutoff frequency remains at its static setting.
To solidify these concepts, let's turn to a brief reading.
Envelopes in Sound Synthesis: The Ultimate Guide
This article from WolfSound clearly distinguishes between the main applications of envelopes in synthesis.
Please read the sections titled "What Can an Envelope Control?" and "What Are Envelope Generators (EGs)?". This will reinforce the roles of amplitude and cutoff envelopes and their connection to the VCA and VCF modules.
The Shape of the Curve: Linear vs. Exponential
When we draw diagrams of ADSR envelopes, we typically use straight lines. This implies a linear change in value over time. While simple to implement digitally, this is not how classic analog synthesizers work, nor is it how our ears perceive loudness.
Envelopes in Sound Synthesis: The Ultimate Guide
This same article has an excellent section discussing the perceptual difference between linear and exponential curves.
Read the section "Linear or Exponential?" and listen to the two audio examples provided there. Note which one sounds like a more "even" or "straight" increase in volume.
As you likely perceived, the exponential change sounds more linear to our ears. This is because human hearing, like many of our senses, responds logarithmically to stimuli (Fechner's law). For a sound to be perceived as getting linearly louder, its intensity must increase exponentially.
This is where your physics background becomes particularly relevant. The "natural" exponential shape of the decay and release stages in classic analog synthesizers is not an arbitrary design choice; it is a direct consequence of their electronic implementation.
This article from North Coast Synthesis dives deep into the electronics of envelope generators.
Please read the section "Analog and digital envelope functions". The author explains how the charging and discharging of a capacitor forms the basis of analog envelope generation.
The core principle is that the decay and release stages are generated by the discharging of a capacitor through a resistor. The voltage across a discharging capacitor follows the classic exponential decay formula:
This produces a curve that is concave upward and sounds perceptually linear. The attack phase is often different. As the Nigel Redmon video below explains, it's typically a truncated exponentialβthe capacitor charges toward a voltage higher than the envelope's peak. This creates a concave downward curve that "snaps" to the peak more satisfyingly than a pure exponential or a linear ramp.
This video from engineer Nigel Redmon provides a fantastic technical overview of why envelope segments have their specific shapes.
Watch the first two minutes, from the beginning. He explains why the decay/release is exponential and, crucially, why the attack curve is a truncated exponential.
Implementation and Sound Design Examples
Now that we understand the theory, let's see how these concepts are put into practice, both in code and in creating musical sounds.
Digital Implementation
While analog circuits use capacitors, a digital implementation can be achieved with simple arithmetic. The Code Meowstro video you saw earlier continues to demonstrate a straightforward implementation in Python using NumPy's linspace function to create linear segments. This is a common and computationally efficient approach in digital synthesis.
Sound Synthesis with Python: Transform your Audio with ADSR Envelopes
Let's return to the Python synthesis video to see how an ADSR envelope can be coded from scratch.
Watch the section demonstrating the core Python implementation. You don't need to code along, but observe how the duration of each stage is converted into a number of samples, and how np.linspace is used to generate the control signal for each segment.
Sound Design Archetypes
By adjusting the four ADSR parameters, we can sculpt a sound to fit a huge variety of musical roles. A few common archetypes are:
- Pad Sound: Used for sustained chords and atmospheres. It requires a slow attack, high sustain level, and a slow release. This creates a sound that swells in gently and lingers after the keys are released.
- Plucked/Bass Sound: Mimics a plucked string or a punchy synth bass. It uses a fast attack, a short-to-medium decay, a low or zero sustain, and a short release. The sound is immediate and dies away quickly, allowing for rhythmic clarity.
- Percussive Sound: For drums or short sound effects. This uses a very fast attack, a very short decay, zero sustain, and a very short release. The sound is essentially just a quick "blip."
The video provides examples of these settings.
Sound Synthesis with Python: Transform your Audio with ADSR Envelopes
The final part of this video gives several useful examples of ADSR settings for different sounds.
Watch the final segment on tailoring ADSR values for plucked sounds, pads, percussive hits, and more.
Applying a fast-decaying, zero-sustain envelope to a resonant filter is the basis of many classic electronic sounds, from the "squelch" of a Roland TB-303 in acid house to the "zap" of a laser effect. The filter cutoff starts high, then the envelope quickly pulls it down, creating a rapid "wow" or "pew" timbral change on each note.
Conclusion
In this lesson, we have unlocked one of the most fundamental tools for creating dynamic and expressive synthesizer patches. You have learned how the four stages of an ADSR envelope work together to shape a sound's life cycle from its inception to its final fade.
Key Takeaways:
- An ADSR envelope is a control signal that shapes a parameter over time, defined by its Attack, Decay, Sustain, and Release stages.
- The two primary applications are the amplitude envelope (controlling a VCA for volume) and the filter envelope (controlling a VCF for timbre).
- The shape of envelope curves is critical. Exponential curves, naturally produced by capacitor-based analog circuits, are often used because they align with our logarithmic perception of loudness.
- Varying ADSR parameters allows for the creation of sound archetypes like pads (slow A/R, high S), plucks (fast A, short D, low S), and percussive hits (fast A, short D, zero S).
We have now added temporal dynamics to our synthesis toolkit. A single note can now evolve and breathe. However, sounds can also have cyclical, repeating motionβa vibrato, a tremolo, or a pulsating "wobble." In our next lesson, we will explore the Low-Frequency Oscillator (LFO), the primary tool for creating this kind of continuous, cyclical modulation.