PS Logo

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. One open finding is documented in section 16, together with three earlier findings now retracted as faults in the measurement rather than the engine.

1. Acceptance suite

Sample rate (Hz)ChecksPassedFailedRun time
44 100666666015.7 s
48 000666666018.2 s
96 000664664028.9 s
192 000664664051.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)

MeasurementResultThreshold
Magnitude flatness, 20 Hz - 20 kHz-0.0016 to -0.0000 dB≤ 0.10 dB
Gain at 1 kHz-0.00 dB0.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 latency0 samples-
Polaritynormal (non-inverted)-
Measured points in band1998-

3. Bypass bit-identity

MOD stage at mix 0 / depth 0, compared sample-by-sample against the stage disabled.

ModeWorst single-sample delta
Chorus0.000000000000
Flanger0.000000000000
Phaser0.000000000000
Tremolo0.000000000000

4. Low cut - Butterworth conformance

fc = 200 Hz, resonance 0. Corner measured by coherent single tone on the shipping engine.

CORRECTED. The figures previously printed here came from a metric that read the slope over fc/4 to fc/2 - not the fc/8 to fc/4 this section described - off a smoothed multisine at -96 dB, and reported corner errors with the wrong sign. See 16.R1.

SlopeCorner measuredIdealErrorNominalPassband max
6 dB/oct-3.010 dB-3.010 dB0.000 dB6 dB/oct-0.000 dB
12 dB/oct-3.010 dB-3.010 dB0.000 dB12 dB/oct-0.000 dB
24 dB/oct-3.010 dB-3.010 dB0.000 dB24 dB/oct-0.000 dB
48 dB/oct-3.010 dB-3.010 dB0.000 dB48 dB/oct-0.000 dB

Skirt at the steepest setting: 48.166 dB/oct against an ideal 48.166 dB/oct. Worst deviation of the corrected metric across all four slopes: 0.21 dB/oct at 44.1 and 48 kHz. Per-slope skirt figures for 6, 12 and 24 dB/oct are pending the next regeneration of this report.

Passband is maximally flat: no measured point anywhere above 0.000 dB, at any slope.

5. Equaliser

TestTargetMeasuredDeviation
Bell boost at 1 kHz+6.00 dB+6.00 dB0.00 dB
Bell cut at 1 kHz-6.00 dB-6.00 dB0.00 dB
Bell, untouched at 100 Hz0.00 dB+0.07 dB0.07 dB
Bell, untouched at 10 kHz0.00 dB+0.05 dB0.05 dB
Low shelf at 100 Hz+6.00 dB+6.00 dB0.00 dB
Low shelf, unity at 10 kHz0.00 dB0.00 dB0.00 dB
High shelf at 10 kHz+6.00 dB+6.00 dB0.00 dB
High shelf, unity at 100 Hz0.00 dB0.00 dB0.00 dB
EQ high-pass corner at 1 kHz-3.00 dB-3.01 dB0.01 dB
EQ high-pass slope12.00 dB/oct12.03 dB/oct0.03 dB/oct
EQ low-pass corner at 1 kHz-3.00 dB-3.01 dB0.01 dB
Dynamic band gain reduction12.00 dB12.00 dB0.00 dB
Dynamic band, neighbour at 200 Hz0.00 dB+0.03 dB0.03 dB
Phase classificationminimum phaseminimum phase-
Added latency0 samples0 samples-
Editor curve vs rendered audio-worst 0.09 dB0.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.

ModuleTestTargetMeasured
CompressorRatio at a set 4:14.00 : 14.00 : 1
CompressorUnity 10 dB below threshold-30.00 dB-30.17 dB
CompressorMakeup at the quiet end0.00 dB0.00 dB
GateAttenuation below threshold≤ -30 dB-75.76 dB
GateOpen above threshold0.00 dB0.00 dB
De-esserReduction at 6 kHz≥ 3 dB11.02 dB
De-esser500 Hz untouched0.00 dB+0.12 dB
De-esserQuiet pass transparent0.00 dB-0.04 dB
DuckerDepth at a set 12 dB12.00 dB12.06 dB
DuckerDepth vs trigger level (-3 vs -20 dBFS)0.00 dB0.00 dB
DuckerAmount 0 = true bypass0.00 dB-0.02 dB
DuckerRecovery after the hit0.00 dB-0.00 dB
MultibandMid-band ratio at a set 4:14.00 : 13.97 : 1
MultibandCrossover reconstruction0.00 dB0.00 dB
TransientUnity at 0 / 00.00 dB0.00 dB
TransientColouration at 0 / 0≤ 1.00 dB0.00 dB

Note: an earlier revision of this report stated that compressor attack/release times were not calibrated (a set 10 ms / 100 ms measuring 23 ms / 26 ms). That does not reproduce and is retracted - see 16.R3. Attack spans 5 to 335 ms and release 22 to 786 ms across their ranges, both monotonic with no flat region, and the time constant matches the set value. The static law above is exact.

7. Stereo

TestTargetMeasured
Width 1.0 - mid unity0.00 dB-0.00 dB
Width 1.0 - side unity0.00 dB-0.00 dB
Width 0.0 - side collapse≤ -40 dB-180.00 dB
Width 0.0 - mid untouched0.00 dB-0.00 dB
Width 2.0 - side gain+6.00 dB+6.02 dB
Width 2.0 - mid untouched0.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 kHz0.00 dB-0.00 dB

8. Time-domain stability

Maximum feedback / maximum depth, checked for non-finite samples and runaway.

TestTargetMeasured
Reverb tail, initial≥ -80 dBFS-29.50 dBFS
Reverb tail after 12 s≤ -100 dBFS-100.00 dBFS
Reverb tail decaymonotonic-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 fbno non-finiteclean
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.

Model1x2x Fast2x CLEAN4x Fast4x CLEAN8x Fast8x 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 dBFS2x Fast8x CLEANDifference
-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.

ConfigurationReportedMeasuredError
1x oversampling72 smp72.00 smp0.00 smp
2x oversampling121 smp121.00 smp0.00 smp
4x oversampling132 smp131.16 smp0.84 smp
8x oversampling136 smp136.02 smp0.02 smp
Fast filter mode126 smp126.08 smp0.08 smp
CLEAN filter mode213 smp213.53 smp0.53 smp
Compressor 5 ms lookahead221 smpdeclared-
Gate 20 ms lookahead882 smpdeclared-
Ducker 20 ms lookahead882 smpdeclared-
Comp + gate + limiter810 smpdeclared-
Reported figure after audio startsunchangedunchanged0 smp
MINI, every lookahead + 8x requested0 smp0 smp0 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

TestResult
Parameters swept to both extremes321 / 321 finite and bounded
Full chain under loud noiseno non-finite samples
Impulse / DC / silence stressno 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 flatnessLow cut -3 dB at 100 HzBell +6 dB at 1 kHz
44 1000.00 dB-3.00 dB+6.00 dB
48 0000.00 dB-3.01 dB+6.00 dB
96 0000.00 dB-3.04 dB+6.00 dB
192 0000.00 dB-3.04 dB+6.00 dB

14. Processing cost

Median per-block wall time, Release build, Apple silicon, 48 kHz.

Configurationns / sample% of one core at realtime
All modules off33.90.16 %
MINI set (in, low cut, EQ, comp, duck)53.90.26 %
Typical mix chain498.12.39 %
Every module enabled712.03.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.

MeasurementAnti-aliasing offMaximum settingDelta
High-frequency tone+6.22 dB+5.99 dB0.23 dB
Tonal tilt+0.27 dB+0.06 dB0.21 dB
Integrated loudness-7.47 LUFS-7.53 LUFS0.06 LU
Loudness-matched residual-8.29 dB-8.27 dB0.02 dB
Loudness range0.02 LU0.02 LU0.00 LU
Crest factor8.46 dB9.00 dB0.54 dB
True peak+3.72 dBTP+1.96 dBTP1.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

One open finding, and three earlier findings retracted. None was caught by the acceptance suite: the suite reads 666 of 666 because it never asserted on any of them. Each was found by measuring past the point where the suite's own thresholds stop - which is also how three of them turned out to be defects in the measurement rather than in the engine.

16.1 CLIP stage alias rejection does not scale with oversampling. OPEN.

MeasurementValue
2x oversampling, True Peak off-29.7 dB
4x oversampling, True Peak off-27.4 dB
8x oversampling, True Peak off-26.9 dB
2x oversampling, True Peak on-56.2 dB
4x oversampling, True Peak on-73.0 dB
8x oversampling, True Peak on-90.6 dB
Brickwall alone, True Peak on-107.2 dB
Artefact at CLIP settings below 50 %-51 to -58 dB
Effect on the section 15 render0.23 dB in the highs

Cause: with oversampling active and True Peak off, the limiter output is passed through a soft clip stage at base rate, downstream of both the oversampling and the Nyquist guard, so its third harmonic folds back into the band. The worst artefact appears at 20091 Hz in every configuration, which is 44100 - 3 x 8003. The Nyquist guard itself measures -169 dB at 24009 Hz and is functioning; ADAA2 is engaged at every oversampling factor. An earlier revision of this report concluded the limit was "not decimation-filter related" and left it implicitly inherent. It is a routing defect with a workaround.

Workaround: enable True Peak. Fix pending - the candidate change alters the voicing of a limiter already present in released mixes, so it is being evaluated rather than shipped.

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.2 EQ bell shape near Nyquist. OPEN, behaviour confirmed, stated cause corrected.

MeasurementValue
Bell asymmetry at 1 kHz1.000 (symmetric)
Bell asymmetry at 16 kHz, 44.1 kHz0.718
Shape retained at 16 kHz71.8 %
Agreement with the RBJ cookbook formula0.01 dB
Behaviour at 96 kHznot present
Effect on the section 15 rendernone measurable

The EQ is doing exactly what a textbook bilinear IIR does. An earlier revision gave CPU cost as the reason this had not been changed. That was wrong: a Nyquist-matched coefficient set costs 24.6 ns per coefficient update and nothing per sample, roughly 0.001 % of one core. (Oversampling the EQ stage would cost 0.48 % Fast / 1.44 % CLEAN, but is not the cheaper of the two fixes.) The actual constraint is that changing the transform alters the response of high-frequency EQ settings in already-saved sessions. Plugin state carries a version field, so a migration on load can preserve existing sessions exactly; host automation lanes bypass state restore and would shift. Confined to the top octave.

16.R1 RETRACTED - "Steepest low-cut slope overshoots its nominal." The engine is an exact 8th-order Butterworth. Measured by coherent single tone on the shipping code: corner -3.010 dB at every slope, steepest skirt 48.166 dB/oct against an ideal 48.166. The published 51.4 dB/oct came from the suite reading magAt(fc/2) - magAt(fc/4), i.e. fc/4 to fc/2 rather than the fc/8 to fc/4 documented in section 4, off a smoothed multisine curve at -96 dB. The same analyser on the same unchanged filter returns 48.5 / 48.4 / 48.2 / 44.9 dB/oct at 44.1 / 48 / 96 / 192 kHz. Pole count, Q multiset, filter class and resonance neutrality were all verified correct. Corner-error magnitudes in the old section 4 table reproduce at 96 kHz but with the opposite sign. Metric fixed test-side.

16.R2 RETRACTED - the CPU justification for 16.2. Superseded by the measurement above; the behaviour stands, the reason given for it did not.

16.R3 RETRACTED - "Compressor attack and release times are not calibrated." The published figures (10 ms measuring 23 ms, 100 ms measuring 26 ms) do not reproduce. Attack spans 5 to 335 ms across its range and release 22 to 786 ms, both monotonic with no flat region; at a set 100 ms, attack reads 171 ms and release 70 ms. The time constant equals the set value. The consistent offset in the original figures was the 63%-of-gain-reduction convention measured with a burst starting below threshold - a property of the test, not the compressor.

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.

SectionRecorded conditions
2 - idle pathAll 15 modules disabled. 20 Hz - 20 kHz, 1998 measured points in band. 48 kHz.
3 - bypass identityMOD stage at mix 0 / depth 0 compared sample-by-sample against the stage disabled, in all four modes. Source signal not recorded.
4 - low cutfc = 200 Hz, resonance 0. Corner by coherent single tone. 48 kHz.
5 - equaliserOne band active per test. 48 kHz. Editor-curve row compares the drawn curve against rendered audio across the band.
6 - dynamicsSettled steady-state tones. The law is read from the output rather than fitted to a rising staircase. 48 kHz.
9 - alias rejection8003 Hz sine at -1 dBFS, drive 0.7, limiter disabled. 44.1 kHz.
10 - alias vs level8003 Hz sine, Transformer model, drive fixed at 0.7, input swept 60 dB. 44.1 kHz.
11 - latencyDelay through the plugin measured by correlation, compared against the figure reported to the host. 48 kHz.
14 - processing costMedian per-block wall time, Release build, Apple silicon, 48 kHz.
15 - real material118 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 / 1 open finding / 3 retracted. All figures measured with THE_LAB against THE_STRIP 3's shipping engine, 2026-08-27.