Excerpts (`output/Take110/Take110_AB_*.flac`, gitignored): A = current stem sum, 1 s gap, B =
processed. B is gain-matched to A by integrated LUFS, both scaled to −14 LUFS, then `alimiter`
0.89.
| excerpt | processing of B | B − A, dB per band |
|---|---|---|
| kick, take 160–190 s | synthetic sub (sine 85→52 Hz glide, 30 ms time constant, decay 110 ms) plus a 4 ms filtered-noise click on every detected d1 onset, velocity-following; sidechain duck from the same onsets: d4 −45%, d10 −35%, d8 −25% amplitude, 80 ms release, 3 ms lookahead | 20–60: +3.8, 60–120: +0.6, 120–300: −0.2, 0.3–2k: −0.6, 2–6k: −0.9 |
| d8, take 225–245 s | −5 dB peaking bell at 3.15 kHz, Q 0.9, on d8 only | 0.5–2k: +0.5, 2–5k: −3.1, 5–12k: −0.9 |
Parameters are hand-picked, not optimised, and not perceptually tested; PLN's ear decides.
The live fix for the kick is sound design (a `superkick` layer or a second sample), not mastering.
## 5. Method notes and corrections
-**Window length matters below 100 Hz.** A first pass split the hit into 0–20, 20–80, 80–300 ms
windows; at 60 ms the frequency resolution is about 17 Hz, so it reported "peak ~80 Hz, thin
below 60 Hz" and that was wrong. Use at least 150 ms with a zero-padded FFT for any claim about
content under 100 Hz.
-**Two numbers were wrong in the first chat answer and corrected the same day:** "163 of 222
identical" (131; 163 is the count above 0 dBFS) and d8 "85–100%" (that was the loudest frames;
the 10 s windows give 77–92%).
- Channels: left only; the right channel was not analysed.
- Spectrum of the mean over 222 hits averages away per-hit variation; the 57 quieter hits
(below 0.8 linear) are not shown separately.
## 6. Reproduce
Scripts as run on 2026-11-01 are in `mix/analysis/Take110/scripts/` (hard-coded paths to the
Take110 stems under `~/Work/Ardour/Tidal Live/interchange/Tidal Live/audiofiles/`).