The short answer
A compressor watches your signal and turns down anything that crosses a threshold. Attack and release control the two moments of that action: attack is how fast the compressor clamps down once the signal goes over, and release is how fast it lets go once the signal drops back under. Both are set in milliseconds.
Threshold and ratio answer how much gain reduction happens. Attack and release answer the shape of it in time: whether the punchy front of a word gets through or gets flattened, and whether the compressor recovers smoothly or breathes audibly between sounds. Get the amounts right with the wrong timing and a compressor still sounds wrong.
Attack: how fast it grabs
When a loud sound crosses the threshold, the compressor does not reduce it instantly. It ramps the gain reduction in over the attack time. A fast attack (a fraction of a millisecond up to a few milliseconds) clamps almost as soon as the signal goes over. That catches the sharp initial spike of a sound, the transient, which is exactly what you want when you are trying to tame something spiky. But clamping the transient also removes the crack and snap that makes a sound feel present, so a very fast attack can leave a voice or a drum sounding dull and squashed.
A slow attack (tens of milliseconds) lets the transient pass through before the gain reduction fully arrives. The initial punch sails out untouched, and only the body of the sound behind it gets compressed. That is how you keep a consonant crisp or a drum hit snappy while still controlling the sustain that follows. The tradeoff is that a genuinely explosive peak escapes the compressor entirely, which is one reason a limiter often sits after the compressor to catch what slips past.
Release: how fast it lets go
Release is the mirror image. Once the signal falls back under the threshold, the compressor does not jump back to zero reduction instantly; it recovers over the release time. A fast release lets the gain snap back quickly, which keeps quiet detail after a loud moment from being ducked. Push it too fast, though, and the gain is visibly moving up and down within single sounds, which you hear as pumping or breathing: the level audibly surging back up in the gaps.
A slow release holds the reduction steady and recovers gently, which sounds smooth and invisible. But if it is too slow, the compressor is still turning down the level from one loud sound when the next quiet sound arrives, so it ducks material that should have been left alone. The art of release is finding the setting that recovers fully between events without moving so fast that you can hear it working.
Pumping, breathing, and why bass is the usual culprit
Pumping is the single most common artifact of bad timing, and it comes from a release that is fast relative to the material. Every time a loud sound triggers reduction and then passes, the gain rushes back up, and if that rush lands inside the pause before the next sound, you hear the noise floor and room tone swell. On sustained or bass-heavy material it gets worse, because a low-frequency wave takes longer to complete a single cycle than a high one. A release short enough to feel snappy on speech can be short enough to follow the individual cycles of a bass note, so the compressor rides the waveform up and down and adds a gritty, distorted wobble.
The fix is usually a slower release, or letting the detector ignore the low end so the bass never drives the gain in the first place. That second approach is what sidechain filtering does: it high-passes the signal the compressor listens to, without touching the audio you actually hear, so a kick or a bass note stops pumping the whole mix. It is worth knowing that this is different from the ducking kind of sidechain, where one source triggers another channel's compressor. patchd's compressor does the filtering kind.
Setting them for voice versus percussive material
There is no universal number, but there are reliable starting points that follow directly from what attack and release do.
- Speech and voice. A medium attack around 10 to 20 ms lets the front of each word keep its natural articulation while the compressor evens out the body. A release around 80 to 150 ms recovers between words without pumping. This is the safe, transparent default, and it is close to where most voice compressors want to live.
- Punchy percussion. To keep a hit snapping, use a slower attack so the transient escapes, then a moderate release timed to the tempo so the compressor is done recovering before the next hit. Too fast an attack here flattens the very punch you are trying to keep.
- Taming a spiky, uneven source. When the goal is control rather than punch, a faster attack catches the spikes, and a slower release keeps the overall level glued and steady. You trade some liveliness for consistency, which is the right call for a background element that must not jump out.
If you find yourself wanting the opposite of what a compressor does, more attack rather than less, that is a hint you actually want a transient shaper, which boosts or cuts the attack and sustain of a sound directly by its envelope shape, independent of any threshold.
The timing, in one equation
Under the hood, attack and release are the time constants of a smoother. The compressor computes how much gain reduction the ratio is asking for at each instant, then moves the actual reduction toward that target a step at a time instead of jumping. Attack sets the step size while the target is growing; release sets it while the target is shrinking.
gr += a * (target - gr), a = 1 - exp(-1 / (time_ms * fs / 1000))Each sample, the gain reduction moves a fraction of the remaining distance toward its target. Attack is that fraction while reduction is increasing; release is the fraction while it recovers. One time constant covers about 63 percent of the way.
This is why the numbers behave the way they do. A short time means a big fraction each sample, so the reduction reaches its target fast, whether that target is grabbing a transient or releasing after it. A long time means small steps and a gentle glide. It is also why a release measured in a handful of milliseconds gets into trouble on bass: it can track a low note cycle by cycle rather than riding smoothly over the top of it.
Attack and release in patchd
In patchd the Compressor is a free node you add to any channel, one of the free dynamics nodes alongside the gate, expanders, de-esser, transient shaper, and limiter. Attack and release are two of its core controls, sitting right next to threshold and ratio:
- Attack: 0.1 to 100 ms, default 10. Fast enough at the bottom of the range to catch transients, slow enough at the top to let punch through. The 10 ms default is a transparent voice starting point.
- Release: 10 to 1000 ms, default 100. Fast at the bottom for snap, slow at the top for glue. The 100 ms default recovers cleanly between words for most speech.
The compressor is an inline node with no wet/dry blend, so it shapes the signal in place rather than mixing a compressed copy under the original. If the low end is making it pump, its Sidechain HP filters the detection signal only, so bass stops triggering reduction while the audio still passes full range. Because the engine runs in real time over the low-overhead Windows audio paths, adding the compressor costs only single-digit milliseconds of engine-internal latency at a small ASIO buffer, so you can dial attack and release while monitoring yourself live and hear the change as you make it.
patchd is in development now, with a free effects rack on every channel and a Studio voice-fx rack on top. If you want a Windows mixer where the dynamics tools are free and tuned for live use, join the waitlist and we will tell you the moment it is ready to install.