DpdoEngine — PCM 到 DSD 高精度转换引擎
概述
DpdoEngine 是 Dpdo 产品套件的核心,负责将 PCM 音频(FLAC、WAV、AIFF 等)转换为 DSD 格式(DSF、DFF、DST)。它采用全 64 位双精度浮点运算、可配置的高阶 IIR/FIR 噪声整形滤波器,以及丰富的 DSP 工具,为专业音频工作者和发烧友提供从消费级到发烧级的多级转换质量选择。
规格速览
| 规格 | 参数 |
|---|---|
| 输入格式 | WAV / FLAC / AIFF / ALAC 等 PCM |
| 输出格式 | DSF / DFF / DST |
| 计算精度 | 64 位双精度浮点 |
| 噪声整形 | 3–11 阶 IIR(默认 9 阶);FIR(默认 4096 taps) |
| 上采样 | 64x–4096x(默认 64x / DSD64) |
| 压缩 | DST 无损编解码(体积减少 30–50%) |
| GPU 加速 | OpenCL 1.2+ |
| 平台 | Windows / Linux / macOS |
| 当前版本 | 6.66.0 |
基本用法
DpdoEngine -i INFILE OUTFILE [OPTIONS]
强制参数:
- -i INFILE — 输入 PCM 文件(FLAC / WAV / AIFF 等)
- OUTFILE — 输出文件路径(自动根据扩展名推测格式:.dsf / .dff / .dst)
示例:
# 基础转换:WAV → DSF,64 倍上采样
DpdoEngine -i input.wav output.dsf --oversampling 64
# FLAC → DFF,11 阶 IIR 噪声整形
DpdoEngine -i input.flac output.dff --oversampling 128 --order 11
# 完整参数:OpenCL 加速 + 元数据 + 报告
DpdoEngine -i input.flac output.dsf --oversampling 256 --order 7 --opencl --report --artist "Dpdo" --album "Demo"
上采样率
通过 --oversampling 或 --oversampling 参数控制 DSD 上采样率:
| 值 | 对应格式 | 典型带宽 |
|---|---|---|
| 64 | DSD64 | ~30 kHz |
| 128 | DSD128 | ~60 kHz |
| 256 | DSD256 | ~120 kHz |
| 512 | DSD512 | ~240 kHz |
| 1024 | DSD1024 | ~480 kHz |
| 2048 | DSD2048 | 极高带宽 |
| 4096 | DSD4096 | 极限规格 |
更高的上采样率带来更宽的频响和更低的带内噪声,同时对计算资源的需求也线性增长。
噪声整形方案
IIR 噪声整形
--order 参数指定 IIR 噪声整形器阶数。支持的阶数:3、5、7、9、11。
# 11 阶 IIR(最高规格)
DpdoEngine -i input.wav output.dsf --oversampling 256 --order 11
高阶 IIR 提供更陡峭的噪声整形曲线和更大的带内动态范围,但对数值稳定性要求更高。11 阶是 DpdoEngine 独有的最高规格,在典型听音频带内可实现 >140 dB 的信噪比。
子选项:
- --pole 8.5 — 极点配置,影响噪声传递函数形状
- --zero — 零点配置,进一步优化带外噪声分布
- --mash — MASH 结构噪声整形(多级噪声整形)
- --cifb — CIFB(Chain of Integrators with FeedBack)结构
- --poly — 多项式噪声整形器
FIR 滤波器
`` 启用 FIR 滤波器模式:
# 使用 Kaiser 窗 FIR,自动计算最佳 taps
DpdoEngine -i input.wav output.dsf --oversampling 64
# 指定 taps 和滤波器类型
DpdoEngine -i input.wav output.dsf --oversampling 64 --taps 4096 --window-type kaiser
FIR 选项:
- --taps <N> — taps 数(默认自动计算,最小推荐 4096)
- --beta <V> / --beta <V> — Kaiser 窗参数
- --window-type <type> — 窗口类型:kaiser、blackman、flattop、bartlett、hamming、hanning、remez
GPU 加速
DpdoEngine -i input.wav output.dsf --oversampling 256 --opencl
--opencl 启用 OpenCL GPU 加速,大幅减少高阶上采样的运算时间。适用于拥有支持 OpenCL 1.2+ 显卡的系统。GPU 加速对 FIR 滤波和高阶 IIR 的加速效果尤为显著。
高级信号处理
母带预设
--mastering-preset 一键加载针对不同音乐类型的 DSP 链:
DpdoEngine -i input.wav output.dsf --oversampling 256 --mastering-preset classical
DpdoEngine -i input.wav output.dsf --oversampling 256 --mastering-preset pop
DpdoEngine -i input.wav output.dsf --oversampling 256 --mastering-preset jazz
均衡器
多段参量均衡器,在转换前对 PCM 信号进行频域调整:
DpdoEngine -i input.wav output.dsf --oversampling 128 --equalizer "80:0.5:3,1000:1.0:1,8000:-0.5:2"
格式:<频率(Hz)>:<增益(dB)>:<Q值>,多个频段用逗号分隔。
谐波饱和
在转换过程中引入可控的偶次/奇次谐波:
# 软削波饱和
DpdoEngine -i input.wav output.dsf --oversampling 128 --harmonics tanh,0.5
# 磁带模拟饱和
DpdoEngine -i input.wav output.dsf --oversampling 128 --harmonics tape,0.3
支持类型:tanh、poly、softclip、fullwave、tape。
心理声学噪声整形
--psy 利用人耳听觉掩蔽效应优化噪声整形曲线,将量化噪声分布在听觉不敏感的频率区域,在较低上采样率下也能获得良好的主观听感。
动态范围处理
--lufs -16 # 响度标准化到 -16 LUFS
--rg # ReplayGain 标准化
--lal # 前瞻限制器(Look-Ahead Limiter),防止削波
--apo # 削波滤波器
--adaptive # 自适应参数调整
元数据支持
转换时嵌入元数据到输出文件:
DpdoEngine -i input.flac output.dsf --oversampling 64 \
--artist "Artist Name" \
--title "Track Title" \
--album "Album Name" \
--genre "Classical" \
--year 2024
反向转换(DSD → PCM)
DpdoEngine 同样支持将 DSD 文件反向转换为 PCM:
DpdoEngine -i input.dsf output.wav --reverse
此功能利用和正向转换相同的 64 位双精度 DSP 引擎,确保反向转换过程同样保持最高精度。
分析报告
# 生成 PDF 分析报告
DpdoEngine -i input.wav output.dsf --oversampling 64 -pdfrp
# 频谱图生成
DpdoEngine -i input.wav output.dsf --oversampling 64 --spectrogram
# 噪声分析
DpdoEngine -i input.wav output.dsf --oversampling 64 --noise-profiling
-pdfrp 生成包含转换参数、频率响应曲线、噪声整形特性和频谱分析的综合 PDF 报告。
输出格式
| 扩展名 | 格式 | 说明 |
|---|---|---|
.dsf | DSF | DSD Stream File,最通用的 DSD 格式 |
.dff | DFF | DSD Interchange File Format,广播格式 |
.dst | DST | Direct Stream Transfer,带无损压缩的 DSD 格式 |