FLAC→DSD チュートリアル:ロスレス PCM から DSD64/128 への完全な流れ
FLAC は PCM 用のロスレスコンテナであり、それ自体は DSD ではありません。FLAC を DSD(DSF/DFF)に変換するには、リサンプリング + ノイズシェイピング + 変調という一連の処理が必要です。本チュートリアルでは、そのまま実行できるコマンドを紹介します。
1. まず理解する:FLAC→DSD 変換で実際に何が起きるのか
FLAC ファイルの中身は PCM データです(通常 16/24-bit、44.1–192 kHz)。DSD への変換とは:
- 解凍:FLAC → 生の PCM サンプル
- リサンプリング:PCM サンプリングレート → DSD レート(44.1 kHz × 64 = 2.8224 MHz / DSD64)
- ノイズシェイピング:マルチビット → 1 ビット量子化。量子化ノイズを超音波帯域へ押し出す
- パッケージ:DSF または DFF として出力
変換はロスレスソースから高精度ターゲットへのマッピングです——FLAC 内の情報は完全に保持されます(リサンプリングはデータではなく表現方法を変えるだけ)。ただし「無から有を生む」ことはなく、ディテールが追加されるわけでもありません。
2. プラン A:コマンドラインで直接変換(単一ファイル、最も制御しやすい)
# FLAC → DSF(DSD64,默认 7 阶 IIR)
DpdoEngine -i track.flac track.dsf --oversampling 64
# FLAC → DFF(DSD128,11 阶 IIR,追求带内噪声极限)
DpdoEngine -i track.flac track.dff --oversampling 128 --order 11
# FLAC → DSF(DSD256 + OpenCL 加速 + 写入专辑元数据 + PDF 报告)
DpdoEngine -i track.flac track.dsf --oversampling 256 \
--opencl --report --artist "Artist" --album "Album" --year "2026"
パラメータ早見表:
- --oversampling N:オーバーサンプリング倍率(64=DSD64、128=DSD128、256=DSD256)
- --order N:IIR ノイズシェイピング次数(3/5/7/9/11、デフォルト 7)
- --opencl:GPU アクセラレーション(OpenCL 1.2+)
- --report:変換分析レポートの生成
- --metadata-from-input:ソースファイルからメタデータを自動抽出(明示的なパラメータで上書き可能)
- --reverse:逆方向(DSD → PCM)
3. プラン B:バッチ変換(アルバム全体を 1 コマンドで)
リリースパッケージ付属の convert バッチスクリプトを使用します(ffmpeg + DpdoEngine が必要):
# 进入存放 FLAC 的目录,批量转 DSF(DSD64)
cd 专辑目录
bash convert flac2dsf
# 指定输出码率(示例:DSD128)
bash convert flac2dsf 128
対応している変換タイプ(convert スクリプト):
PCM/PCM: wav2flac, flac2wav, m4a2flac
DSD/PCM: dsf2flac, dsf2wav, dff2flac, dff2wav
PCM→DSD: wav2dsf, wav2dff, flac2dsf, flac2dff
PCM→DXD: wav2dxd_w64, wav2dxd_wav, wav2dxd_flac, flac2dxd_*
4. 変換後の検証
# 测量输出 DSD 文件的失真与噪声底(THD+N)
thdn track.dsf
# 对比不同噪声整形阶数的带内性能
dsp_bench --input test.flac --order 9 --order 11
検証のポイント: - 帯域内(20 Hz–20 kHz)のノイズフロアが期待どおりか(DSD64 の理論 SNR は約 120 dB 程度。実際はノイズシェイピング次数による) - 変換後と元 PCM の周波数応答の一致性(リサンプリングフィルタが可聴な偏差を導入していないか) - 実際に DAC/プレイヤーで試聴する(最終的な判定は再生チェーン)
5. よくある質問
FLAC ソースのサンプリングレートは影響する? 44.1 kHz ソースの DSD 変換はまったく問題ありません。96/192 kHz ソースなら DSD128+ でより余裕があります(リサンプリングの補間誤差が小さいため)。
変換後すぐに SACD パッキングに使える? 使えます。DSF/DFF 出力をそのまま DpdoPackSACD に渡せば SACD ISO にパッキングできます(パッキングチュートリアル参照)。
バッチ変換が遅い場合は? --opencl(GPU アクセラレーション)を有効にするか、次数を下げてください(7 次 IIR は低スペックマシンでもリアルタイム性に優れます)。
Dpdo による執筆。コマンドは DpdoEngine 6.68 とリリースパッケージの convert スクリプトで実測済み。