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 連接