DpdoPlayerEngine — DSD オーディオプレイヤー

概要

DpdoPlayerEngine は DSD 再生に最適化された CLI オーディオプレイヤーです。ネイティブ DSD 出力と DoP (DSD over PCM) の 2 つの転送モードをサポートし、さまざまな USB DAC および DSD デコーダーと互換性があります。

仕様一覧

仕様値
オーディオフォーマットDSD(DSF / DFF / DST / WSD)· SACD ISO · DTS / DTS-WAV · PCM(WAV / AIFF / FLAC)· ALAC / TTA / WavPack / APE · CUE
転送モードネイティブDSD出力 / DoP (DSD over PCM) / DSD→PCM デコード再生
出力モードstandard / differential / BTL
チャンネルレイアウトステレオ / マルチチャンネルパススルー / カスタムマッピング
ストリームモード低遅延 (-stream)
プラットフォームWindows / Linux / macOS
現在のバージョン6.75.0

基本使用法

DpdoPlayerEngine <audio_file> [options]
	

対応フォーマット: - DSD:DSF(.dsf)/ DFF(.dff)/ DST 圧縮 DSF/DFF(再生時に自動展開)/ WSD(.wsd、Korg、6.70.0 以降)/ SACD ISO(.iso、DST 展開対応) - DTS:.dts / DTS-WAV(コア 2.0–5.1) - PCM:WAV / AIFF / AIFC / FLAC - 可逆圧縮:ALAC(.m4a / .mp4)/ TTA(.tta)/ WavPack(.wv)/ APE(.ape) - プレイリスト:CUE(ギャップレス) - 未対応:MP3 / AAC / OGG

最も簡単な再生:

# 単一 DSF ファイルの再生
	DpdoPlayerEngine track.dsf
	
	# DFF ファイルの再生
	DpdoPlayerEngine track.dff
	

デバイス設定

-dev でオーディオ出力デバイスを選択します:

# 利用可能なデバイス一覧
	DpdoPlayerEngine track.dsf -dev list
	
	# デバイス ID で選択
	DpdoPlayerEngine track.dsf -dev 1
	
	# デバイス名で選択
	DpdoPlayerEngine track.dsf -dev "USB Audio DAC"
	

デバイス一覧出力例:

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

チャンネルレイアウト

-layout で出力チャンネルマッピングを構成します:

# ステレオ強制
	DpdoPlayerEngine track.dsf -layout stereo
	
	# マルチチャンネルパススルー強制
	DpdoPlayerEngine track.dsf -layout multichannel
	
	# カスタムマッピング (左 → 出力 1、右 → 出力 2)
	DpdoPlayerEngine track.dsf -layout "1,2"
	

レイアウトオプション

値説明
stereo標準ステレオ
multichannelマルチチャンネルパススルー
reverse左右反転
monoモノラルミックスダウン
customカスタムマッピング (カンマ区切りチャンネルインデックス)

再生モード

-mode で出力モードを設定します:

# 標準モード
	DpdoPlayerEngine track.dsf -mode standard
	
	# differential 出力
	DpdoPlayerEngine track.dsf -mode differential
	
	# BTL ブリッジモード
	DpdoPlayerEngine track.dsf -mode btl
	

モード説明

モード説明用途
standard標準シングルエンド出力一般的な互換モード
differentialチャンネルごとに反転ペアの差動出力バランス DAC
btlBTL ブリッジ負荷、反転駆動高出力

DoP モード (DSD over PCM)

-dop で DSD-over-PCM 動作を制御します:

# DoP またはネイティブ DSD を自動選択
	DpdoPlayerEngine track.dsf -dop auto
	
	# DoP 強制
	DpdoPlayerEngine track.dsf -dop force
	
	# ネイティブ DSD 強制
	DpdoPlayerEngine track.dsf -dop native
	

DoP が実際に通るかはデバイス側の証拠で判定します:176400 を排他で開けても DoP を解せるとは限りません —— オンボードのコーデックには DSD 経路が回路として存在せず、DoP を流してもマーカーが普通の PCM として鳴るだけ(ヒスが聞こえます)。不可と判定した端点では -dop force は拒否され、自動的に DSD→PCM 再生に切り替わります。GUI(DpdoPlayer)のデバイス一覧には判定が表示され(⟨DoP 2x⟩ / ⟨DoP 1x⟩ / ⟨DoP 未確認⟩ / ⟨PCM のみ⟩)、判定が不確かなデバイスは「DSD デコーダーとしてマーク」で登録できます。

DoP オプション

値説明
autoデバイス能力を自動検出、最適な転送を選択
forceDoP カプセル化を強制 (DSD を 24-bit PCM フレームに内包)
nativeネイティブ DSD 転送を強制 (デバイス対応が必要)

ヒント: 最近の USB DAC のほとんどはネイティブ DSD に対応しています。native を先に試し、ノイズや無音が聞こえたら force に切り替えてください。


ボリュームコントロール

-vol で再生ボリュームを設定します (パーセント):

# ボリューム 80% に設定
	DpdoPlayerEngine track.dsf -vol 80
	
	# 最大ボリューム
	DpdoPlayerEngine track.dsf -vol 100
	

ボリューム範囲: 0–100、デフォルトはデバイス初期設定に依存します。

ボリュームはデバイス側(Linux = ALSA ハードウェアミキサー、Windows = エンドポイント音量)で直接変更します。ホスト側ではデジタル減衰を行いません —— 1-bit DSD にソフトウェア乗算をかけると劣化します。 -vol を指定しない場合、デバイスの音量は一切変更されません。-vol 100 はデバイス音量を最大にします。


DSD → PCM デコード再生

-pcm モードにより、DSD ネイティブ非対応の DAC でも DSD ファイルを再生できます。再生中に Pdm2Pcm がリアルタイムで PCM にデコードします。

# 自動レートでデコード再生 (DSD/64 または DSD/32)
	DpdoPlayerEngine track.dsf -pcm
	
	# デコードレートを明示指定
	DpdoPlayerEngine track.dsf -pcm 352800
	
	# 16-bit 出力
	DpdoPlayerEngine track.dsf -pcm -pcm-bits 16
	
  • -pcm [rate] — DSD→PCM デコード再生を有効化。rate 0(省略)= 自動(DSD/64 または DSD/32)
  • -pcm-bits <16|24|32> — 出力ビット深度。既定 24-bit。内蔵ノイズシェイピングが量子化ノイズを高域へ押し上げ、聴感が大幅に向上

ヒント: 24-bit + ノイズシェイピングは音質と互換性の最適点。16-bit は旧型機器向け、32-bit は後段の処理チェーン向けです。


ストリームモード

-stream で低遅延ストリーミングを有効にします:

# ストリームモード再生
	DpdoPlayerEngine track.dsf -stream
	

ストリームモードの特徴

  • 低遅延 — オーディオバッファ削減
  • リアルタイム再生 — パイプ入力のライブモニタリングに最適
  • 自動適応 — システム性能に応じてバッファを動的調整

DpdoEngine パイプとのリアルタイム変換再生

# リアルタイム PCM → DSD 変換を DpdoPlayerEngine で再生
	DpdoEngine -i input.flac output.dsf --oversampling 64 --pipe | DpdoPlayerEngine - --vol 80
	
	# 実際のシナリオ: 録音のリアルタイムモニタリング
	DpdoEngine --record recording.dsf --pipe | DpdoPlayerEngine - --stream
	

ここで - は stdin からオーディオデータを読み取ることを意味します。


完全な再生例

# 高仕様再生設定
	DpdoPlayerEngine sacd_track.dsf \
	  -dev "USB DAC" \
	  -layout stereo \
	  -mode differential \
	  -dop native \
	  -vol 85
	
	# マルチチャンネルネイティブ DSD 再生
	DpdoPlayerEngine multichannel.dsf \
	  -dev 1 \
	  -layout multichannel \
	  -mode standard \
	  -dop native
	
	# 低遅延ストリームモード再生
	DpdoPlayerEngine live_recording.dsf \
	  -stream \
	  -dev 0 \
	  -vol 70
	

トラブルシューティング

音が出ない

  1. DAC の接続とシステム認識を確認
  2. -dev list で正しいデバイスを選択
  3. DoP モード切替を試す: -dop auto → -dop force(DSD 経路のない端点では force は自動的に DSD→PCM に切り替わります)
  4. ボリュームを確認: -vol 100

再生中のノイズ/ポップ

  1. ネイティブ DSD でノイズが出る場合は DoP を試す: -dop force(ただしオンボードなど DSD 経路のない端点では使わないでください。ヒスが出るだけです —— プレーヤーが自動で止め、DSD→PCM に切り替えます)
  2. USB ケーブルの品質と接続安定性を確認
  3. より低い DSD 仕様を試す (例: DSD256 の代わりに DSD128 ソース)

デバイスが一覧に表示されない

  1. OS に DAC ドライバーがインストールされているか確認
  2. Linux で ALSA 設定を確認
  3. USB 接続を確認

GUI 版について

DpdoPlayer GUI

上:プレーヤー GUI(DpdoPlayer)。パッケージャとオーディオツールの GUI は各製品ページにあります。

DpdoPlayer を選ぶ理由

DSD を再生するだけなら他のソフトでもできます。DpdoPlayer は次の点を具体的に作り込んでいます(すべて検証可能な実装です):

  • DSD ネイティブ出力と確実なフォールバック:native / DoP を優先。DSD 非対応の DAC でも PDM2PCM のリアルタイムデコードで再生できます。ミキシングが必要な構成では自動的にデコード再生へ切り替え、ログに明記します。
  • 複数 DAC を前提にした設計:1 台 1 チャンネル(差動/バランス、BTL)でも、多チャンネル DAC でも。デバイス↔チャンネルの対応は設定可能で、配線どおりに構成できます。
  • 設定できるチャンネル構成、決して黙って変えない:ミックス行列 + ミックス音量(プリセット direct / bs775 / all-channel-stereo、または自作 *.json、GUI と CLI で同じ 1 つの構成)。不正な構成(未知のチャンネル名・係数の範囲外・長さの不一致)は再生を拒否します。
  • 聴く前にクリップが分かる:実測スキャンが現在の構成で素材全体を通し、各チャンネルのピーク・クリップの有無・0 dBFS に収める混合音量を報告します。
  • ビットパーフェクトなルーティング:チャンネル分離は 1 サンプルも変えず、既定のリミッター/AGC/ラウドネス正規化もありません。レベルが動くのは実際にミックスする時だけで、係数は静的で再現可能です。
  • 対応フォーマット:DSD(DSF / DFF / WSD / DSD-raw)、SACD ISO(DST 展開を含む)、DTS / DTS-WAV、PCM(WAV / AIFF / FLAC)、CUE(ギャップレス)。
  • 音量はデバイス側で調整し、サンプルには触れません(1-bit DSD にソフトウェア乗算をかけると非可逆)。Windows は ASIO / WASAPI 排他、Linux は ALSA、エンジンは両者共通です。