DSPark 1.8.0
Header-only C++20 DSP for real-time and offline audio
Loading...
Searching...
No Matches
DSPark - Per-Processor Quality Metrics

Generated by dspark_conformance --metrics (48 kHz, stereo, block 512).

  • THD+N: spectral energy outside the fundamental, 1 kHz tone at -6 dBFS, relative to the fundamental, 20 Hz-20 kHz.
  • Noise floor: output RMS (dBFS) with silent input.
  • Spurious: worst non-harmonic component (dB re fundamental) with a 10.1 kHz tone at -6 dBFS - aliasing shows up here.
  • Latency: as reported by getLatency() (samples @ 48 kHz). Validated by the PDC null tests in this same suite.
Processor Settings Latency THD+N @1 kHz Noise floor Spurious @10.1 kHz Notes
Gain -3 dB 0 <0.001 % -240.0 dBFS -153.8 dB
FilterEngine LP 16 kHz, 24 dB/oct 0 <0.001 % -240.0 dBFS -153.5 dB
Equalizer (IIR) +3 dB bell @ 500 Hz 0 <0.001 % -240.0 dBFS -153.6 dB
Equalizer (linear phase) +3 dB bell @ 500 Hz 512 <0.001 % -240.0 dBFS -149.9 dB
Compressor -20 dB, 4:1 0 0.057 % -240.0 dBFS -82.4 dB gain-riding on steady tone
Limiter -1 dBTP ceiling 96 <0.001 % -240.0 dBFS -153.6 dB
NoiseGate -60 dB (open) 0 <0.001 % -240.0 dBFS -153.6 dB
Expander -60 dB (inactive) 0 <0.001 % -240.0 dBFS -153.6 dB
DynamicEQ 3 kHz band, -30 dB, 3:1 0 <0.001 % -240.0 dBFS -153.3 dB
MultibandCompressor 3 bands, defaults 0 0.044 % -240.0 dBFS -82.4 dB
TransientDesigner attack +20% 0 <0.001 % -240.0 dBFS -125.3 dB
DeEsser 7 kHz, -30 dB 0 0.006 % -240.0 dBFS -153.5 dB
Saturation (SoftClip) drive 0 dB, 2x OS 64 1.962 % -240.0 dBFS -124.2 dB
Clipper (Analog) 0 dB in, 4x OS 96 1.058 % -240.0 dBFS -129.3 dB
TapeMachine drive 0 dB, wow/flutter off 223 0.601 % -240.0 dBFS -99.4 dB
TubePreamp 1 stage, drive 0 dB 71 3.306 % -240.0 dBFS -121.2 dB
TransformerModel drive 0 dB 64 0.635 % -240.0 dBFS -88.8 dB
Chorus 0.8 Hz, mix 50% 0 47.791 % -240.0 dBFS -9.3 dB modulated: sidebands are the effect
Phaser 0.5 Hz 0 0.001 % -240.0 dBFS -101.7 dB modulated: sidebands are the effect
Tremolo 5 Hz, depth 0.7 0 <0.001 % -240.0 dBFS -101.9 dB amplitude modulation is the effect
Vibrato 5 Hz, depth 0.4 0 n/a -240.0 dBFS n/a FM: spectrum displaced by design
RingModulator 300 Hz carrier 0 n/a -240.0 dBFS n/a spectrum displaced by design
FrequencyShifter +50 Hz 95 n/a -240.0 dBFS n/a spectrum displaced by design
PitchShifter +4 st 5184 n/a -240.0 dBFS n/a spectrum displaced by design
TimeStretch ratio 1.081 (-8% tempo) 5632 n/a -240.0 dBFS n/a stretched stream: block counts do not carry duration
GranularProcessor density 30/s 0 39.652 % -240.0 dBFS -10.2 dB granular texture is the effect
SpectralDenoiser reduction 12 dB 2048 <0.001 % -240.0 dBFS -150.9 dB
SpectralFreeze live path, N 2048, hop 512 2048 <0.001 % -240.0 dBFS -150.9 dB hold engages on request; the live path is measured
PitchCorrector chromatic, hard snap 4096 n/a -240.0 dBFS n/a retunes the probe tone to the nearest semitone: displaced by design
AlgorithmicReverb Hall, mix 40% 0 0.083 % -240.0 dBFS -47.1 dB time-based: tail energy
ConvolutionReverb synthetic IR, mix 30% 512 <0.001 % -240.0 dBFS -136.6 dB time-based: tail energy
StereoWidth width 1.4, bass mono 120 Hz 0 <0.001 % -240.0 dBFS -153.6 dB
Panner pan 0.4 R 0 <0.001 % -240.0 dBFS -153.6 dB
DCBlocker 10 Hz, order 4 0 <0.001 % -240.0 dBFS -153.7 dB

Modulated, inharmonic-by-design and time-based processors necessarily show high "THD+N" - for them the column documents the character at the listed settings rather than a defect. Linear processors read at the measurement's own floor.

Analysis accuracy

Measured on synthetic material with exactly known answers, at 44.1 kHz, by this same run.

Readout Material Quantity Result
BeatTracker tempo click track, 40 to 240 BPM worst tempo error over the sweep -0.014 BPM (at 210 BPM)
BeatTracker grid same worst beat placement error 5.56 ms (at 45 BPM)
BeatTracker grid same beats missed / invented 0 / 0
BeatTracker confidence same lowest reported over the sweep 0.993
LoopFinder endpoints three-tone texture, planted 4869-sample loop endpoint recovery exact
LoopFinder seam cost same reported normalized cost at the planted splice 0.00e+00
PitchCorrector tuning harmonic tones 45 cents off five notes, chromatic scale worst steady-state error +0.87 cents (note 76)

The tempo figures are the WORST point of the sweep with its sign, not an average and not an endpoint: a tracker's error is not monotonic in tempo, so an average would hide the tempo it is worst at. Beats are matched one-to-one inside 70 ms.

Rate conversion, sample playback and low-frequency dynamics

Measured in double precision by this same run. THD+N is the residual of a least-squares fit of the tone, relative to the tone; alias is the output energy of a tone that has no place below the output Nyquist frequency, relative to its input energy.

Component Settings Quantity Result
Resampler Draft, 44.1 to 48 kHz THD+N, 1 kHz -77.3 dB
Resampler Draft, 48 to 44.1 kHz alias of a 23 kHz tone -61.3 dB
Resampler Normal, 44.1 to 48 kHz THD+N, 1 kHz -120.5 dB
Resampler Normal, 48 to 44.1 kHz alias of a 23 kHz tone -104.4 dB
Resampler High, 44.1 to 48 kHz THD+N, 1 kHz -161.3 dB
Resampler High, 48 to 44.1 kHz alias of a 23 kHz tone -146.0 dB
Resampler Ultra, 44.1 to 48 kHz THD+N, 1 kHz -237.1 dB
Resampler Ultra, 48 to 44.1 kHz alias of a 23 kHz tone -219.6 dB
Sampler 1 kHz recording, -12 semitones THD+N -117.6 dB
Sampler 1 kHz recording, +7 semitones THD+N -123.4 dB
Sampler 1 kHz recording, +19 semitones THD+N -129.9 dB
Sampler 18 kHz recording, +12 semitones alias -110.2 dB
Compressor Peak detector, 30 Hz 14 dB over 4:1, 5/100 ms THD+N -35.1 dB
Compressor Hilbert detector, 30 Hz 14 dB over 4:1, 5/100 ms THD+N -96.3 dB