DSP Toolkit

DpdoEngine ships with a complete DSP toolbox that lets you insert signal-processing modules at any stage of the PCM → DSD conversion chain. Every DSP module runs in the 64-bit double-precision domain, so processing quality never falls below the engine itself.


Equalizer

Parametric EQ for frequency-domain correction of the PCM signal before conversion.

Syntax:

--equalizer "<freq(Hz)>:<gain(dB)>:<Q>,<freq>:<gain>:<Q>,..."

Example:

# Three-band EQ: bass +1 dB, mid -0.5 dB, treble +0.3 dB
DpdoEngine -i input.wav output.dsf --oversampling 128 --equalizer "60:1.0:2,1000:-0.5:1,8000:0.3:3"

Parameters: - freq — center frequency (Hz) - gain — gain (dB); positive boosts, negative cuts - Q — quality factor; higher values give a narrower bandwidth


Harmonics

The harmonic saturation module emulates the distortion characteristics of analog gear in the digital domain, adding warmth to digital recordings.

Syntax:

--harmonics <type>,<amount>

Supported types:

TypeDescriptionTypical Use
tanhHyperbolic tangent saturationGeneral smooth saturation, tube-like
polyPolynomial harmonic generationControllable even/odd harmonic ratio
softclipSoft clippingConsole-style overload
fullwaveFull-wave rectificationExtreme saturation
tapeTape emulationTape-machine saturation character

amount: 0.0 (none) to 1.0 (maximum) saturation intensity.

Examples:

# Tape emulation, medium intensity
DpdoEngine -i input.wav output.dsf --oversampling 128 --harmonics tape,0.4

# Tube-style soft saturation
DpdoEngine -i input.wav output.dsf --oversampling 128 --harmonics tanh,0.3

Stereo Processing

Stereo Expander

Adjusts stereo width, from mono synthesis to ultra-wide stereo.

-stereoexpander <factor>
  • 0.0 — fully mono
  • 1.0 — original stereo width
  • 1.5 — 150% expansion
  • 2.0 — maximum expansion

Auto-Pan

Automatically detects and corrects panning offsets between channels, ensuring accurate center imaging in the converted DSD signal.

--auto-pan -target-width <width>
  • target-width — target stereo width (0.0–1.0)

HRTF Spatial Audio

HRTF (Head-Related Transfer Function) spatial audio rendering maps the stereo signal into a virtual 3D sound field.

DpdoEngine -i input.wav output.dsf --oversampling 128 --hrtf

Designed for headphone playback: HRTF convolution creates a soundstage that extends beyond the head.


Dynamic Processing

Look-Ahead Limiter

Starts gain reduction before the signal reaches the clipping threshold, preventing transient peak overload.

DpdoEngine -i input.wav output.dsf --oversampling 128 --lal

APO — Anti-Popping Overflow Filter

Applies oversampling plus clipping protection at the end of the processing chain, preventing numerical overflow from extreme DSP operations (e.g. heavy EQ boost combined with harmonic saturation).

Adaptive Parameters

The engine automatically adjusts processing parameters to the input signal's dynamic range, maximizing dynamic preservation while keeping a safety margin.


Dpdo DSP

DpdoEngine includes built-in Dpdo DSP modules:

ParameterDescription
--bass <amount>Bass enhancement (0–10)
--treble <amount>Treble adjustment (0–10)
--pbe ...Parametric EQ (PBE)
--eq ...EQ configuration
--crossfeed <amount>Crossfeed (0–100), improves headphone soundstage

Example:

DpdoEngine -i input.wav output.dsf --oversampling 64 --bass 3 --treble 1 --crossfeed 30

Loudness Normalization

LUFS Normalization

Loudness measurement and gain adjustment per ITU-R BS.1770:

# Normalize to -16 LUFS (streaming)
DpdoEngine -i input.wav output.dsf --oversampling 128 --lufs -16

# Normalize to -14 LUFS (Spotify standard)
DpdoEngine -i input.wav output.dsf --oversampling 128 --lufs -14

ReplayGain

Reads ReplayGain metadata from the PCM file and adjusts gain accordingly:

DpdoEngine -i input.flac output.dsf --oversampling 128 --rg

Mastering Presets

Optimized DSP chain parameters per music genre:

--mastering-preset <type>

Preset types:

TypeDescriptionTypical Parameters
classicalClassicalminimal processing, wide dynamic range, flat response
popPopgentle compression, subtle harmonics, clear mids
jazzJazzwarm saturation, smooth highs, widened stereo

Quantization & Dither

Applies dither at the PCM → DSD quantization stage to suppress quantization distortion:

--dither <type>

8 dither types supported:

TypeAlgorithmUse Case
rectRectangular PDFbasic dither
tri or tpdfTriangular PDFstandard recommendation
shaped or nsNoise-shaped ditherhigh-order quantization, less noise in sensitive bands
gaussGaussianexperimental
rpdfRectangular probability densityalias of simple dither
noneNo ditherA/B testing only

Recommendation: use tpdf for general use, shaped for demanding applications.


User Presets

Save frequently used parameter combinations as reusable presets:

# Save current parameters as a preset
DpdoEngine -i input.wav output.dsf --oversampling 128 --order 7 --preset-save "my_classical"

# Load a preset
DpdoEngine -i input.wav output.dsf --preset-load "my_classical"

# List all presets
DpdoEngine --preset-list

Preset files are stored in the user directory and reusable across command-line sessions.