DSF_FillMute

概略

DSF_FillMuteはDSFファイルの規格上生まれた末尾0の連続を無音信号(0x69,1001 0110b)に置換するプログラムです。末尾0の連続を再生してしまいノイズ出す機器に対して効果があります。末尾以外には処理を加えないため、実音やID3タグに変化はありません。

使い方

1.DSF_FillMute.exeをダブルクリックし、立ち上がったウィンドウに対して、処理をするDSFファイルをドラッグドロップをします。フォルダをドラッグドロップした場合、再帰的にDSFファイルを探索します。

2.リストにドロップドラッグしたファイルが表示されます。ゼロフィルの項が「有」になっているファイルはノイズが発生する恐れがあります。
処理をするファイルを選択し、「実行」をクリックします。Ctrl+クリックで複数選択できます。

各種ボタンの動作は以下の通りです。
・全てを実行
 リストに表示されている全てのファイルに対して処理を実行します。
・全てを削除
 リストに表示されている内容を削除します。実ファイルは削除されません。
・実行
 選択されているファイルに対して処理を実行します。
・削除
 選択されているファイルをリストから削除します。実ファイルは削除されません。

3.正常に処理が完了すると、その旨が表示されたダイアログが出ます。また、正常に処理が完了したファイルはリストから削除されます。

処理されたファイルは、参照先が選択されていない場合、DSF_FillMute.exeがあるフォルダ内に保存されます。フォルダ名は元ファイルの名前で、ファイル名は元ファイルに_FillMuteが追加されます。

技術説明

DSFファイルはチャンネル毎に4096バイトずつ記録します。データが4096バイトで割りきれない場合、0(0x00)で補完します。規格上、DSFファイルのメタデータには実音部の長さも記録されていますが、シークが可能なプレイヤーの中には参照していないものもあり、その結果、0の補完部分を再生しノイズとなってしまいます。

参考資料:DSFファイルフォーマット規格書
http://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf

一般的な解決方法としてはDSDIFFファイルに変換することがあげられますが、タグ情報が変換過程で一部失われます。DSF_FillMuteは0(0x00)で補完された部分を無音信号(0x69,1001 0110b)に置換することによって、タグ情報を残したまま、ノイズの発生を抑えます。

現在把握している不具合

・マルチチャンネルには対応しておりません。処理は正常に実行されたように表示されますが、実際は全てのチャンネルに処理はされません。
・ウムラウトなど特殊文字がファイルパスに含まれている場合、認識しません。

バージョン

1.0.0.1 関係者内リリース
1.0.0.2 プログレスバー機能、出力先フォルダの選択機能の実装

ダウンロード