Punch
Punch is a two-stage loudness processor:
- Transient Shaper — restores or enhances attack characteristics that preceding compression may have dulled (applied pre-clip)
- Clipper — eliminates intersample peaks and creates headroom for loudness maximization
The key design decision: transient shaping runs pre-clip. Post-clip shaping would create time-varying gain modulation that sounds like pumping on every note attack. Pre-clip shaping lets the clipper naturally limit the enhanced peaks.
Controls
| Control | Range | Description |
|---|---|---|
| Clip Mode | Hard / Soft / Cubic | Waveshaper algorithm (see below). |
| Ceiling | −12 – 0 dBFS | Peak ceiling. −0.3 to −0.1 dBTP typical for streaming. −1.0 dB for mp3 intersample headroom. |
| Oversampling | 1×, 2×, 4×, 8× | Upsample before clipping, downsample after. Higher = fewer aliasing artifacts, more CPU. |
| Transient Attack | 0.0 – 1.0 | Transient detection and upward expansion amount on attacks. Restores punch after compression. |
| Transient Sustain | 0.0 – 1.0 | Sustain portion enhancement. Lengthens decay of transient events. |
| Transient Release | 0.0 – 1.0 | Speed at which transient detection decays between events. |
| Mix | 0.0 – 1.0 | Dry/wet blend for the entire Punch stage. Allows parallel clipping (more transparent). |
| Bypass | On/Off | Bypasses all processing. |
Clip Modes
y = tanh(x / ceiling) × ceilingSmoothest onset, most transparent. Begins softly limiting before the ceiling, adding gentle saturation as levels approach it. Recommended for vocal and acoustic buses, master bus processing, and anywhere transparency is paramount.
Polynomial waveshaper. Falls between Hard and Soft:
- More headroom before onset than Hard
- Harder onset than Soft once ceiling is reached
- Adds odd-order harmonics (3rd, 5th) characteristic of solid-state saturation
Recommended default for most buses.
y = clip(x, -ceiling, ceiling)Abrupt ceiling — maximum loudness, most aggressive character. Adds strong odd harmonics. Use for rock/metal buses where harmonic grit is appropriate.
Oversampling
| Setting | Aliasing | CPU | Use Case |
|---|---|---|---|
| 1× | High | Minimal | Fast iteration, monitoring only |
| 2× | Moderate | Low | Rough mixes, stem passes |
| 4× | Low | Moderate | Default — recommended for most work |
| 8× | Very low | Higher | Critical mastering, maximum transparency |
Techniques
Transparent Loudness Maximization
| Control | Value |
|---|---|
| Clip Mode | Soft or Cubic |
| Ceiling | −0.3 dBFS |
| Oversampling | 4× |
| Transient Attack | 0.30 – 0.50 |
| Mix | 1.0 |
Set the ceiling so the meter just catches the loudest peaks. Then dial in Transient Attack to recover kick and snare punch lost to preceding compression stages.
Parallel Clipping
Mix at 0.70 – 0.85 to blend the clipped signal under the dry signal:
- Dry path preserves original transients
- Clipped path adds density and loudness
- More transparent than full wet at equivalent loudness levels
Streaming Targets
| Platform | Target LUFS | Ceiling |
|---|---|---|
| Spotify | −14 LUFS | −1.0 dBTP |
| Apple Music | −16 LUFS | −1.0 dBTP |
| YouTube | −14 LUFS | −1.0 dBTP |
| Tidal | −14 LUFS | −1.0 dBTP |
| CD / Physical | Max loudness | −0.3 dBTP |
Implementation Notes
- Upsampling: linear interpolation with
filter_state[1]tracking previous input across buffer boundaries - Downsampling: simple average + very light IIR (pole = 0.05) — the low pole prevents the downsampler from contributing to pumping
- Transient detector uses the native sample rate, not the oversampled rate, to avoid detection artifacts
- Maximum oversampling factor: 16× | Maximum block size: 8192 samples
See Also
- Techniques & Presets — Punch clipping modes and loudness techniques
- Genre Signal Chains — how to use Punch per genre and target loudness
- Architecture — oversampling design and pumping-free transient shaper