PCM-DSD_Converter v2

PCM WAV → DSD DSDIFF 変換ソフトウェア(現行版)

概略

PCM-DSD_Converter は PCM WAV フォーマットの音源を DSD DSDIFF フォーマットに変換するプログラムです。PCM 16bit〜64bitFloat / 44.1〜768kHz から DSD16〜DSD2048 への変換ができます。

C++ で実装した初代 PCM-DSD_Converter(2015〜2020)は別ページにあります。v1 と v2 の性能比較は本ページ下部に掲載しています。

PCM-DSD_Converter v2(現行版)

v1をゼロから作り直した新版です。自作の15次ΔΣ変調器(dc15_signal_guard_best)と、FIR/FFTアップサンプリング・L/R変調を並列実行する有界パイプラインにより、正確さを検証しながら高速に変換します。DSDレートは入力系列基準で、44.1kHz系入力は44.1kHz系DSDに、48kHz系入力は48kHz系DSDに変換されます。

PCM-DSD_Converter v2 メイン画面(バッチ変換中)

使い方

PCM-DSD_Converter_v2.exe を起動し、WAVファイルまたはフォルダをウィンドウへドラッグ&ドロップします(フォルダは再帰的にWAVを探索)。レートのプルダウンからDSDサンプリングレートを選んで「変換開始」をクリックすると、リストのファイルを順に変換します。出力は「入力と同じフォルダ」または指定フォルダに、元ファイル名 + .dff で保存されます。

仕様

動作環境

Windows 10/11 64bit で動作を確認しています。Pythonソースからの実行も可能です(同梱 requirements.txt 参照)。

ダウンロード

バージョン

2.0.02026/06/13全面再実装(Python)。DSD16〜DSD2048・48kHz系対応、バッチ変換GUI、キャンセル対応

性能比較(v1 vs v2)

同じテスト信号(1kHz / -6dBFS / 88.2kHz / 64bit float)を v1(旧MFC版、8次楕円シェーパ)と v2(現行版、15次 dc15_signal_guard_best シェーパ)でそれぞれ DSD64 に変換し、出力DSDストリームを直接FFT解析して比較しました。通常のFFT平均では可聴帯域の差はトーン漏れに埋もれて見えないため、1kHzトーンをコヒーレントに除去してから倍々精度(double-double / twofold)FFTでノイズフロアを掘り下げる deep-spectrum 解析を使用しています(チャンネル mix、全長 29.72 秒、FFT長 4,191,264 = 0.673 Hz/bin)。

全帯域(20Hz〜1.41MHz)

v1 vs v2 deep-spectrum 全帯域ノイズフロア比較
DSD64 全帯域のノイズフロア(dBFS、対数軸、1kHzトーン除去)。可聴帯域では v2(青)が v1(赤)より 10〜20dB 以上低い。20kHz以上で v1 は約50kHzにノイズの山を持つが、v2 はなだらか。1MHz付近の盛り上がりはΔΣ変調のノイズシェーピングで、可聴帯域外。

可聴帯域の拡大(20Hz〜20kHz)

v1 vs v2 deep-spectrum 可聴帯域ノイズフロアの拡大
可聴帯域(20Hz〜20kHz)のノイズフロアを拡大。v2(青)の床は v1(赤)より約10〜25dB低く、4〜5kHz付近では約 -235dBFS まで落ちる。v1(赤)は約 -200dBFS で、楕円フィルタ特有の谷を持つ。1kHzトーン(-17dBFS)は上に振り切れている。

超高域の拡大(20kHz〜1.41MHz)

v1 vs v2 deep-spectrum 超高域ノイズシェーピングの拡大
超高域(20kHz〜Nyquist 1.41MHz)の拡大。v2(青)は v1(赤)の約50kHzの山を持たず、広帯域ノイズも数dB低い。ただし約1.06〜1.07MHzに離散的なアイドルトーンがあり、v2(約 -30dB)は v1(約 -37dB)より強い。いずれも可聴帯域のはるか上で、DACの再生フィルタで除去される領域。
指標v1(8次楕円)v2(15次 dc15)
1kHz トーンレベル(ch mix)-17.4 dB-17.5 dB
可聴帯域ノイズフロア中央値(2–15kHz)-203 dBFS-226 dBFS
低域ノイズフロア中央値(20–200Hz)-199 dBFS-211 dBFS
約50kHz ノイズピーク-64 dBFS-91 dBFS
アイドルトーン(約1.07MHz)-37 dB-30 dB

※ deep-spectrum は、1kHzトーンを時間領域で最小二乗フィットして除去 → コヒーレントFFT長+倍々精度FFTでトーン直下のノイズフロアまで観察する手法です(FFT Graph の「ディープスペクトル」モードと同じ)。dBFS は1bin当たりの振幅レベルで、両者とも同じFFT長 4,191,264 で測っています。

まとめ

v2 は可聴帯域のノイズフロアを v1 より 10〜25dB 下げ、可聴帯域直上(約50kHz)のノイズの山も解消しています。可聴帯域の透明度(トーンレベル)は同等。トレードオフとして、約1.07MHzのアイドルトーンは v2 の方がやや強く(高次ΔΣ整形の特徴)出ますが、これは可聴帯域のはるか上の超音波域で、通常のDAC/再生フィルタで除去されるため再生には影響しません。本比較は 1kHz / -6dBFS の単一テスト信号での実測です。

ライセンス関連

本体はMITライセンスです。ソースコードは上のダウンロードから取得できます。以下のオープンソースソフトウェアを使用しています。各ライセンスの詳細は同梱の THIRD-PARTY-NOTICES.md および PySide6_LICENSES を参照してください。