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:
| Type | Description | Typical Use |
|---|---|---|
tanh | Hyperbolic tangent saturation | General smooth saturation, tube-like |
poly | Polynomial harmonic generation | Controllable even/odd harmonic ratio |
softclip | Soft clipping | Console-style overload |
fullwave | Full-wave rectification | Extreme saturation |
tape | Tape emulation | Tape-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 mono1.0— original stereo width1.5— 150% expansion2.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:
| Parameter | Description |
|---|---|
--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:
| Type | Description | Typical Parameters |
|---|---|---|
classical | Classical | minimal processing, wide dynamic range, flat response |
pop | Pop | gentle compression, subtle harmonics, clear mids |
jazz | Jazz | warm 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:
| Type | Algorithm | Use Case |
|---|---|---|
rect | Rectangular PDF | basic dither |
tri or tpdf | Triangular PDF | standard recommendation |
shaped or ns | Noise-shaped dither | high-order quantization, less noise in sensitive bands |
gauss | Gaussian | experimental |
rpdf | Rectangular probability density | alias of simple dither |
none | No dither | A/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.