DpdoPlayer — DSD 音频播放器

概述

DpdoPlayer 是为 DSD 回放优化的命令行音频播放器,支持原生 DSD 直出和 DoP(DSD over PCM)两种传输模式,兼容各类 USB DAC 和 DSD 解码器。

规格速览

规格参数
音频格式DSF / DFF / DST(自动解压播放)
传输模式原生 DSD 直出 / DoP(DSD over PCM)
输出模式standard / differential / BTL
通道布局立体声 / 多声道直通 / 自定义映射
流模式低延迟(-stream)
平台Windows / Linux / macOS
当前版本6.66.0

基本用法

DpdoPlayer <audio_file> [options]
	

支持的音频格式: - DSF(.dsf) - DFF(.dff) - DST 压缩 DSF/DFF(自动解压播放)

最简单的播放:

# 播放单个 DSF 文件
	DpdoPlayer track.dsf
	
	# 播放 DFF 文件
	DpdoPlayer track.dff
	

设备配置

-dev 参数设置音频输出设备:

# 列出可用设备
	DpdoPlayer track.dsf -dev list
	
	# 选择指定设备(通过设备 ID)
	DpdoPlayer track.dsf -dev 1
	
	# 选择指定设备(通过设备名称)
	DpdoPlayer track.dsf -dev "USB Audio DAC"
	

设备列表输出示例:

Available audio devices:
	  0: Default Output
	  1: USB Audio DAC (ALSA)
	  2: HDMI Audio Output
	

通道布局

-layout 参数配置输出通道映射:

# 强制立体声输出(左右声道)
	DpdoPlayer track.dsf -layout stereo
	
	# 强制多声道直出
	DpdoPlayer track.dsf -layout multichannel
	
	# 自定义映射(左声道映射到输出 1,右声道映射到输出 2)
	DpdoPlayer track.dsf -layout "1,2"
	

布局选项

说明
stereo标准立体声
multichannel多声道直通
reverse左右声道互换
mono单声道混合
custom自定义通道映射(逗号分隔通道索引)

播放模式

-mode 设置输出模式:

# 标准模式
	DpdoPlayer track.dsf -mode standard
	
	# 差分输出(Differential)
	DpdoPlayer track.dsf -mode differential
	
	# BTL 桥接模式(Bridge-Tied Load)
	DpdoPlayer track.dsf -mode btl
	

模式说明

模式说明适用场景
standard标准单端输出通用兼容模式
differential差分信号输出,每声道正反相两路输出平衡 DAC
btlBTL 桥接负载,正端和负端反相驱动高功率输出

DoP 模式(DSD over PCM)

-dop 控制 DSD over PCM 行为:

# 自动选择 DoP 或原生 DSD
	DpdoPlayer track.dsf -dop auto
	
	# 强制 DoP 模式
	DpdoPlayer track.dsf -dop force
	
	# 强制原生 DSD 模式
	DpdoPlayer track.dsf -dop native
	

DoP 选项

说明
auto自动检测设备能力,选择最优传输方式
force强制使用 DoP 封装(将 DSD 嵌入 24-bit PCM 帧传输)
native强制使用原生 DSD 传输(需设备支持)

提示: 大多数现代 USB DAC 支持原生 DSD 传输,建议先尝试 native。若出现噪音或无声,切换到 force 模式。


音量控制

-vol 设置播放音量(百分比):

# 设置音量为 80%
	DpdoPlayer track.dsf -vol 80
	
	# 最大音量
	DpdoPlayer track.dsf -vol 100
	
	# 低音量监听
	DpdoPlayer track.dsf -vol 30
	

音量范围:0–100,默认值取决于设备初始设置。

建议在驱动级使用 DAC 自带音量控制,DpdoPlayer 的音量仅在数字域调整,降低音量会损失部分动态范围。


流模式

-stream 启用流模式,优化低延迟播放场景:

# 流模式播放
	DpdoPlayer track.dsf -stream
	

流模式特点

  • 更低延迟 — 减少音频缓冲区大小
  • 实时播放 — 适用于配合管道输入的实时监听场景
  • 自动适配 — 根据系统性能动态调整缓冲区

配合 DpdoEngine 管道实现实时转换播放

# 实时转换 PCM → DSD 并通过 DpdoPlayer 播放
	DpdoEngine -i input.flac output.dsf -osr 64 -pipe | DpdoPlayer - -vol 80
	
	# 实际场景:实时监听录音
	DpdoEngine -record -format dsf recording.dsf -pipe | DpdoPlayer - -stream
	

其中 - 表示从标准输入读取音频数据。


完整播放示例

# 高规格播放配置
	DpdoPlayer sacd_track.dsf \
	  -dev "USB DAC" \
	  -layout stereo \
	  -mode differential \
	  -dop native \
	  -vol 85
	
	# 多声道原生 DSD 播放
	DpdoPlayer multichannel.dsf \
	  -dev 1 \
	  -layout multichannel \
	  -mode standard \
	  -dop native
	
	# 低延迟流模式播放
	DpdoPlayer live_recording.dsf \
	  -stream \
	  -dev 0 \
	  -vol 70
	

故障排除

无声音输出

  1. 确认 DAC 已正确连接并被系统识别
  2. 使用 -dev list 列出可用设备,确认选择了正确的设备
  3. 尝试切换 DoP 模式:-dop auto-dop force
  4. 检查音量设置:-vol 100

播放有噪音/爆音

  1. 如果使用原生 DSD 出现噪音,尝试 DoP 模式:-dop force
  2. 检查 USB 线质量和连接稳定性
  3. 尝试降低 DSD 规格(如从 DSD256 降为 DSD128 的源文件)

设备未列出

  1. 确认操作系统已安装 DAC 驱动程序
  2. 对于 Linux 系统,确保 ALSA 配置正确
  3. 检查 USB 连接