This is the raw measurement report for THE_STRIP 3, published in full. It is the document behind the article A Channel Strip Can't Be As Clean As Chaining Premium Plugins. Nothing has been removed except the internal test-runner commands. The findings that do not flatter the product are in section 16.
THE_STRIP 3 - DSP measurement report
Device under test: PsStripEngine, shipping build (the same code compiled into the VST3/AU/AAX). Instrument: THE_LAB, hosting the engine in-process with all 321 parameters addressable by name. Platform: Apple silicon, Release build. Date: 2026-08-27.
All figures below are MEASURED, not specified or simulated. Where a target is given it is the acceptance threshold the automated suite asserts against. 'dB re fundamental' means decibels relative to the test tone. More negative = cleaner. Sample rate is 48 kHz unless stated; aliasing tests run at 44.1 kHz because fold-back is worst there.
Summary: 666 automated checks pass at 44.1 and 48 kHz, 664 at 96 and 192 kHz, zero failures. Two open findings are documented in section 16.
1. Acceptance suite
| Sample rate (Hz) | Checks | Passed | Failed | Run time |
|---|---|---|---|---|
| 44 100 | 666 | 666 | 0 | 15.7 s |
| 48 000 | 666 | 666 | 0 | 18.2 s |
| 96 000 | 664 | 664 | 0 | 28.9 s |
| 192 000 | 664 | 664 | 0 | 51.7 s |
Two checks are sample-rate-specific and do not apply above 48 kHz, hence 664 instead of 666.
2. Idle / unity path (all modules off)
| Measurement | Result | Threshold |
|---|---|---|
| Magnitude flatness, 20 Hz - 20 kHz | -0.0016 to -0.0000 dB | ≤ 0.10 dB |
| Gain at 1 kHz | -0.00 dB | 0.00 ±0.05 dB |
| THD+N at 1 kHz | -153.02 dB | ≤ -110 dB |
| DC offset on sine | -264.91 dB | ≤ -110 dB |
| Self-noise on digital silence | -240.00 dBFS | ≤ -140 dBFS |
| DC on digital silence | -240.00 dBFS | ≤ -140 dBFS |
| Reported latency | 0 samples | - |
| Polarity | normal (non-inverted) | - |
| Measured points in band | 1998 | - |
3. Bypass bit-identity
MOD stage at mix 0 / depth 0, compared sample-by-sample against the stage disabled.
| Mode | Worst single-sample delta |
|---|---|
| Chorus | 0.000000000000 |
| Flanger | 0.000000000000 |
| Phaser | 0.000000000000 |
| Tremolo | 0.000000000000 |
4. Low cut - Butterworth conformance
fc = 200 Hz, resonance 0. Slope measured between fc/8 and fc/4.
| Slope | Corner measured | Ideal | Error | Slope measured | Nominal | Passband max |
|---|---|---|---|---|---|---|
| 6 dB/oct | -3.00 dB | -3.01 dB | 0.01 dB | 5.8 dB/oct | 6 dB/oct | -0.000 dB |
| 12 dB/oct | -2.98 dB | -3.00 dB | 0.02 dB | 12.0 dB/oct | 12 dB/oct | -0.000 dB |
| 24 dB/oct | -2.95 dB | -2.99 dB | 0.04 dB | 24.1 dB/oct | 24 dB/oct | -0.000 dB |
| 48 dB/oct | -2.89 dB | -2.98 dB | 0.08 dB | 51.4 dB/oct | 48 dB/oct | -0.000 dB |
Passband is maximally flat: no measured point anywhere above 0.000 dB, at any slope.
5. Equaliser
| Test | Target | Measured | Deviation |
|---|---|---|---|
| Bell boost at 1 kHz | +6.00 dB | +6.00 dB | 0.00 dB |
| Bell cut at 1 kHz | -6.00 dB | -6.00 dB | 0.00 dB |
| Bell, untouched at 100 Hz | 0.00 dB | +0.07 dB | 0.07 dB |
| Bell, untouched at 10 kHz | 0.00 dB | +0.05 dB | 0.05 dB |
| Low shelf at 100 Hz | +6.00 dB | +6.00 dB | 0.00 dB |
| Low shelf, unity at 10 kHz | 0.00 dB | 0.00 dB | 0.00 dB |
| High shelf at 10 kHz | +6.00 dB | +6.00 dB | 0.00 dB |
| High shelf, unity at 100 Hz | 0.00 dB | 0.00 dB | 0.00 dB |
| EQ high-pass corner at 1 kHz | -3.00 dB | -3.01 dB | 0.01 dB |
| EQ high-pass slope | 12.00 dB/oct | 12.03 dB/oct | 0.03 dB/oct |
| EQ low-pass corner at 1 kHz | -3.00 dB | -3.01 dB | 0.01 dB |
| Dynamic band gain reduction | 12.00 dB | 12.00 dB | 0.00 dB |
| Dynamic band, neighbour at 200 Hz | 0.00 dB | +0.03 dB | 0.03 dB |
| Phase classification | minimum phase | minimum phase | - |
| Added latency | 0 samples | 0 samples | - |
| Editor curve vs rendered audio | - | worst 0.09 dB | 0.09 dB |
The last row compares the curve drawn in the plugin's editor against the measured audio output.
6. Dynamics
Settled steady-state tones; the law is read from the output rather than fitted to a rising staircase.
| Module | Test | Target | Measured |
|---|---|---|---|
| Compressor | Ratio at a set 4:1 | 4.00 : 1 | 4.00 : 1 |
| Compressor | Unity 10 dB below threshold | -30.00 dB | -30.17 dB |
| Compressor | Makeup at the quiet end | 0.00 dB | 0.00 dB |
| Gate | Attenuation below threshold | ≤ -30 dB | -75.76 dB |
| Gate | Open above threshold | 0.00 dB | 0.00 dB |
| De-esser | Reduction at 6 kHz | ≥ 3 dB | 11.02 dB |
| De-esser | 500 Hz untouched | 0.00 dB | +0.12 dB |
| De-esser | Quiet pass transparent | 0.00 dB | -0.04 dB |
| Ducker | Depth at a set 12 dB | 12.00 dB | 12.06 dB |
| Ducker | Depth vs trigger level (-3 vs -20 dBFS) | 0.00 dB | 0.00 dB |
| Ducker | Amount 0 = true bypass | 0.00 dB | -0.02 dB |
| Ducker | Recovery after the hit | 0.00 dB | -0.00 dB |
| Multiband | Mid-band ratio at a set 4:1 | 4.00 : 1 | 3.97 : 1 |
| Multiband | Crossover reconstruction | 0.00 dB | 0.00 dB |
| Transient | Unity at 0 / 0 | 0.00 dB | 0.00 dB |
| Transient | Colouration at 0 / 0 | ≤ 1.00 dB | 0.00 dB |
Note: compressor attack/release TIMES are not calibrated to the 63%-of-GR convention (a set 10 ms / 100 ms measures 23 ms / 26 ms). They are monotonic and well-ordered. The static law above is exact. Carried as open finding 16.4.
7. Stereo
| Test | Target | Measured |
|---|---|---|
| Width 1.0 - mid unity | 0.00 dB | -0.00 dB |
| Width 1.0 - side unity | 0.00 dB | -0.00 dB |
| Width 0.0 - side collapse | ≤ -40 dB | -180.00 dB |
| Width 0.0 - mid untouched | 0.00 dB | -0.00 dB |
| Width 2.0 - side gain | +6.00 dB | +6.02 dB |
| Width 2.0 - mid untouched | 0.00 dB | -0.00 dB |
| Bass mono 200 Hz - side at 60 Hz | ≤ -12 dB | -41.87 dB |
| Bass mono 200 Hz - side at 4 kHz | 0.00 dB | -0.00 dB |
8. Time-domain stability
Maximum feedback / maximum depth, checked for non-finite samples and runaway.
| Test | Target | Measured |
|---|---|---|
| Reverb tail, initial | ≥ -80 dBFS | -29.50 dBFS |
| Reverb tail after 12 s | ≤ -100 dBFS | -100.00 dBFS |
| Reverb tail decay | monotonic | -29.5 → -90.3 → -100.0 dBFS |
| Delay at 0.95 feedback, peak | ≤ +6 dBFS | -1.41 dBFS |
| Delay repeats after 30 s | ≤ -60 dBFS | -64.51 dBFS |
| Modulation, 5 modes, full depth + 0.95 fb | no non-finite | clean |
| Modulation, runaway check | ≤ +6 dBFS | -6.03 to +0.80 dBFS |
9. Saturation - alias rejection by model and oversampling
8003 Hz tone at -1 dBFS, drive 0.7, 44.1 kHz, limiter disabled. Values are dB below the fundamental; more negative is cleaner. The fundamental sits at -1 dBFS, so subtract 1 dB to read any figure as an absolute level: -142.0 dB below the fundamental is -143.0 dBFS. A 24-bit file's theoretical noise floor is -144 dBFS.
| Model | 1x | 2x Fast | 2x CLEAN | 4x Fast | 4x CLEAN | 8x Fast | 8x CLEAN |
|---|---|---|---|---|---|---|---|
| Tube | -16.5 | -33.4 | -33.4 | -55.6 | -57.1 | -55.6 | -76.1 |
| Transformer | -11.3 | -32.4 | -32.4 | -49.1 | -72.2 | -49.1 | -129.0 |
| FET | -7.7 | -14.4 | -14.4 | -32.5 | -32.5 | -44.5 | -44.5 |
| Tape | -12.3 | -31.7 | -31.7 | -50.3 | -61.2 | -49.9 | -111.8 |
| Diode | -12.8 | -33.9 | -33.9 | -50.6 | -54.8 | -50.6 | -73.3 |
| Console | -12.9 | -41.4 | -41.4 | -50.8 | -97.0 | -50.8 | -142.0 |
Console and Transformer at 8x CLEAN (-142.0 and -129.0 dB below the fundamental) place their worst artefact at -143.0 and -130.0 dBFS absolute. Console sits one decibel above the theoretical 24-bit noise floor; Transformer sits 14 dB above it. Both are below the noise floor of any converter currently manufactured, and the signal-to-artefact ratio in the Console case is 142 dB, against roughly 120 dB for the dynamic range of human hearing. FET does not improve with oversampling because it is a hard clipper: a discontinuous derivative produces a harmonic series that no finite oversampling factor fully resolves. That is inherent to the shape, not a defect in the anti-aliasing.
10. Saturation - alias floor vs input level
Transformer model, drive 0.7 fixed, 8003 Hz, 44.1 kHz. Input level swept 60 dB.
| Input dBFS | 2x Fast | 8x CLEAN | Difference |
|---|---|---|---|
| -60.0 | -153.27 | -171.97 | +18.70 |
| -53.3 | -139.85 | -171.03 | +31.18 |
| -46.7 | -126.55 | -170.80 | +44.25 |
| -40.0 | -113.20 | -171.05 | +57.85 |
| -33.3 | -99.88 | -170.71 | +70.83 |
| -26.7 | -86.62 | -171.52 | +84.90 |
| -20.0 | -73.62 | -171.90 | +98.28 |
| -13.3 | -61.67 | -172.44 | +110.77 |
| -6.7 | -51.68 | -148.82 | +97.14 |
| +0.0 | -30.16 | -125.71 | +95.55 |
At 8x CLEAN the alias floor is invariant to drive: it holds near -171 dB across a 47 dB range of input level (-60 to -13 dBFS) before rising. At 2x Fast the floor tracks the signal upward.
11. Latency reporting accuracy
Delay measured through the plugin by correlation, compared against what the plugin reports to the host.
| Configuration | Reported | Measured | Error |
|---|---|---|---|
| 1x oversampling | 72 smp | 72.00 smp | 0.00 smp |
| 2x oversampling | 121 smp | 121.00 smp | 0.00 smp |
| 4x oversampling | 132 smp | 131.16 smp | 0.84 smp |
| 8x oversampling | 136 smp | 136.02 smp | 0.02 smp |
| Fast filter mode | 126 smp | 126.08 smp | 0.08 smp |
| CLEAN filter mode | 213 smp | 213.53 smp | 0.53 smp |
| Compressor 5 ms lookahead | 221 smp | declared | - |
| Gate 20 ms lookahead | 882 smp | declared | - |
| Ducker 20 ms lookahead | 882 smp | declared | - |
| Comp + gate + limiter | 810 smp | declared | - |
| Reported figure after audio starts | unchanged | unchanged | 0 smp |
| MINI, every lookahead + 8x requested | 0 smp | 0 smp | 0 smp |
Worst disagreement anywhere is 0.84 samples (17.5 microseconds at 48 kHz). The reported figure never changes after audio starts. THE_STRIP 3 MINI refuses latency-incurring settings rather than silently introducing delay.
12. Numerical stability
| Test | Result |
|---|---|
| Parameters swept to both extremes | 321 / 321 finite and bounded |
| Full chain under loud noise | no non-finite samples |
| Impulse / DC / silence stress | no non-finite samples |
| Output vs limiter ceiling under stress | -0.83 dBFS |
| Runaway check on stress signal | -0.83 dBFS (≤ +0.50 dBFS) |
13. Sample-rate independence
| Sample rate (Hz) | Neutral flatness | Low cut -3 dB at 100 Hz | Bell +6 dB at 1 kHz |
|---|---|---|---|
| 44 100 | 0.00 dB | -3.00 dB | +6.00 dB |
| 48 000 | 0.00 dB | -3.01 dB | +6.00 dB |
| 96 000 | 0.00 dB | -3.04 dB | +6.00 dB |
| 192 000 | 0.00 dB | -3.04 dB | +6.00 dB |
14. Processing cost
Median per-block wall time, Release build, Apple silicon, 48 kHz.
| Configuration | ns / sample | % of one core at realtime |
|---|---|---|
| All modules off | 33.9 | 0.16 % |
| MINI set (in, low cut, EQ, comp, duck) | 53.9 | 0.26 % |
| Typical mix chain | 498.1 | 2.39 % |
| Every module enabled | 712.0 | 3.42 % |
15. Real programme material
118 BPM commercial drum loop, 6 s, 44.1 kHz, driven +12 dB into the clipper at 100 %. Rendered twice - anti-aliasing disabled, and at the maximum setting. The delta isolates the aliasing contribution on real audio.
| Measurement | Anti-aliasing off | Maximum setting | Delta |
|---|---|---|---|
| High-frequency tone | +6.22 dB | +5.99 dB | 0.23 dB |
| Tonal tilt | +0.27 dB | +0.06 dB | 0.21 dB |
| Integrated loudness | -7.47 LUFS | -7.53 LUFS | 0.06 LU |
| Loudness-matched residual | -8.29 dB | -8.27 dB | 0.02 dB |
| Loudness range | 0.02 LU | 0.02 LU | 0.00 LU |
| Crest factor | 8.46 dB | 9.00 dB | 0.54 dB |
| True peak | +3.72 dBTP | +1.96 dBTP | 1.76 dB |
On real programme material, driven far harder than normal use, the total difference between the worst and best anti-aliasing settings is 0.23 dB in the highs. Dynamic range is unchanged.
16. Open findings
Measured deviations that did not meet the standard applied to the rest of the engine. Listed for completeness; all four are documented rather than omitted. None was caught by the acceptance suite: the suite reads 666 of 666 because it never asserted on any of these. Each was found by measuring past the point where the suite's own thresholds stop.
16.1 Steepest low-cut slope overshoots its nominal. Measured over the fc/8 to fc/4 window, corner at 200 Hz, resonance 0.
| Nominal slope | Measured slope | Corner error | Passband max |
|---|---|---|---|
| 6 dB/oct | 5.8 dB/oct | see s.4 | -0.000 dB |
| 12 dB/oct | 12.0 dB/oct | see s.4 | -0.000 dB |
| 24 dB/oct | 24.1 dB/oct | 0.04 dB | -0.000 dB |
| 48 dB/oct | 51.4 dB/oct | 0.08 dB | -0.000 dB |
The corner is accurate and the passband is clean at every slope. Only the 48 dB/oct setting overshoots its own label, by 3.4 dB/oct over the measurement window. Section 4 carries the full table.
16.2 EQ bell shape near Nyquist. The EQ runs at the base sample rate using the standard bilinear transform, so a bell centred high in the spectrum narrows relative to the analogue prototype. Measured with a convention-independent test (each EQ's own bell at 1 kHz as the un-cramped reference, then the same settings at 16 kHz):
| Measurement | Value |
|---|---|
| Bell asymmetry at 1 kHz | 1.000 (symmetric) |
| Bell asymmetry at 16 kHz, 44.1 kHz | 0.718 |
| Shape retained at 16 kHz | 71.8 % |
| Agreement with the RBJ cookbook formula | 0.01 dB |
| Behaviour at 96 kHz | not present |
| Effect on the section 15 render | none measurable |
The EQ is doing exactly what a textbook bilinear IIR does. Some dedicated EQs solve this with a Nyquist-matched transform or oversampling; this one does not. Confined to the top octave.
16.3 CLIP stage alias rejection does not scale with oversampling.
| Measurement | Value |
|---|---|
| 2x oversampling | -29.7 dB |
| 4x oversampling | -27.4 dB |
| 8x oversampling | -26.9 dB |
| Gain from CLEAN mode | 0.4 dB |
| Stage contribution over the brickwall alone at 8x | +31.1 dB |
| Artefact at CLIP settings below 50 % | -51 to -58 dB |
| Effect on the section 15 render | 0.23 dB in the highs |
The brickwall limiter alone measures -58.0 dB at 8x under the same conditions, so the clip stage is the dominant contributor. ADAA2 is enabled at 2x and above. The absence of any improvement from 2x to 8x indicates the limit is not decimation-filter related.
The tonal effect on the section 15 render is small (0.23 dB in the highs), but true peak on the same render differs by 1.76 dB between anti-aliasing off and maximum (+3.72 vs +1.96 dBTP). The delivery consequence is larger than the tonal one.
16.4 Compressor attack and release times are not calibrated. Measured against the 63%-of-gain-reduction convention.
| Set value | Measured | Error |
|---|---|---|
| 10 ms | 23 ms | +13 ms |
| 100 ms | 26 ms | -74 ms |
The controls are monotonic and well-ordered, so faster is reliably faster across the range, and the static transfer law in section 6 is exact. The printed millisecond values are not a calibrated specification. Noted at section 6.
17. Test conditions
The acceptance suite is internal tooling and is not distributed. Listed below are the signal conditions recorded for each section, so the measurements can be checked in any analyser rather than only in mine. Where a condition was not recorded it says so, rather than being filled in after the fact.
| Section | Recorded conditions |
|---|---|
| 2 - idle path | All 15 modules disabled. 20 Hz - 20 kHz, 1998 measured points in band. 48 kHz. |
| 3 - bypass identity | MOD stage at mix 0 / depth 0 compared sample-by-sample against the stage disabled, in all four modes. Source signal not recorded. |
| 4 - low cut | fc = 200 Hz, resonance 0. Slope read between fc/8 and fc/4. 48 kHz. |
| 5 - equaliser | One band active per test. 48 kHz. Editor-curve row compares the drawn curve against rendered audio across the band. |
| 6 - dynamics | Settled steady-state tones. The law is read from the output rather than fitted to a rising staircase. 48 kHz. |
| 9 - alias rejection | 8003 Hz sine at -1 dBFS, drive 0.7, limiter disabled. 44.1 kHz. |
| 10 - alias vs level | 8003 Hz sine, Transformer model, drive fixed at 0.7, input swept 60 dB. 44.1 kHz. |
| 11 - latency | Delay through the plugin measured by correlation, compared against the figure reported to the host. 48 kHz. |
| 14 - processing cost | Median per-block wall time, Release build, Apple silicon, 48 kHz. |
| 15 - real material | 118 BPM commercial drum loop, 6 s, driven +12 dB into the clipper at 100 %, rendered twice - anti-aliasing disabled and at maximum. 44.1 kHz. |
Sample rate is 48 kHz unless stated. Aliasing tests run at 44.1 kHz because fold-back is worst there. 8003 Hz is used rather than a round 8 kHz because it is not harmonically related to either sample rate, so alias products land clear of the real harmonic series instead of hiding underneath it.
Where a target is listed in the tables above it is the acceptance threshold the automated suite asserts against - it is not a specification, and not a measurement.
666 checks / 4 sample rates / 321 parameters / 15 modules / 0 failures / 2 open findings. All figures measured with THE_LAB against THE_STRIP 3's shipping engine, 2026-08-27.
