Music TO GO!

2012年03月18日

DSDネイティブ再生をiTunesでも可能にするツール

以前下記のXMOSのDSDネイティブ再生コードを紹介した時に、WAVファイルにDSDデータをエンコードすることでもDSDネイティブ再生ができることを紹介しました。
http://vaiopocket.seesaa.net/article/249957568.html
これはDSDデータをPCMデータに変換するのではなくて、つまりWAVというファイル形式(箱)にDSDデータ(中身)を詰めるということです。さきにも書いたようにWAVというより、WAVの元形式であるRIFFとしてDSDを詰めたというほうが良いかもしれません。

いままでDSDネイティブ再生ではPure MusicやHQ Player、Audirvana Plusなど専用にDSDネイティブ出力対応がなされたソフトウエアが必要でしたが、この理由はDSDデータをdCS形式のDSDマーカー+DSDデータと言う176kHzのPCMに似せたフォーマットに変換して送るためです。それならばはじめからそうしたフォーマットに整形しておけば良いのではないか、そのデータを入れる箱としては汎用のWAV(RIFF)が良いのではないか、と言うのがこのWAV方式です。リアルタイムとバッチ(一括)処理の違いとも言えるかもしれません。
もしこのWAV方式でDSDネイティブ再生ができるならば、送り出しのプレーヤーソフトは単にWAVが再生できれば良いということになります。つまり一般的なiTunesでも良いわけです。(もちろん経路がビットパーフェクトであることが条件です)

ただしさきに記事を書いた時に、上記ページに添付されていたWAVデータは開発者のStefさんに聞いてみるとテスト用にシミュレーションして生成したもので汎用性はありませんでした。そこでStefさんに汎用の変換ツールとして作れないかとお話ししていたら、本当にツールを作ってくれました。DSDtoPCMencapsulateというツールです。
ダウンロードは下記ページのDSDtoPCM encapsulate Toolというリンクです。
https://www.xcore.com/projects/dsd-audio-over-usb


受け手側のDACは先に書いた"USB Link for DSD Audio via PCM Frames"のv1.0標準に対応している必要があります。(注: dCS方式ではありません)
ツールはJAVAで作成されていて、OSには依存していません。

使用法は下記のとおりです。
java -jar DSDtoPCMencapsulate.jar DSDファイル名
*DSDファイルはDSDIFF(DFF) v1.5に対応しています。変換されるWAVは元のDSDの1.5倍くらいになるので注意。他はreadmeを参照ください。

Windowsでの実行例をあげます。ちなみに正しいfoobarの使用例も書いておきます(笑)


C:\Users\foo>java -jar DSDtoPCMencapsulate.jar bar.dff

****************************************************************************** 
DSD-in-DSDIFF file to encapsulated DSD-in-PCM file converter (DoP open standard
v1.0)
Version: 0.9beta
Any commercial and/or illegal usage is prohibited!
More info at: https://www.xcore.com/projects/dsd-audio-over-usb
Copyright 2012 by Stef
****************************************************************************** 

DSDIFF file header
---------------------------
DSDIFF version: 1.4.0.0
Sample rate: 2822400Hz
Number of channels: 2
Channel 1: SLFT
Channel 2: SRGT
DSD: not compressed
---------------------------

Reading and encapsulating 262370028bytes of DSD data...
Encapsulated file is ready!

C:\Users\foo>



出力ファイルは標準出力ではなく入力ファイルと同じディレクトリに作成されますのでリダイレクトや出力ファイル名指定は不要です。入力ファイル名に*.wavが付加されます。

簡単にいうとDFFファイルを読んでこのツールでUSB Link for DSDの「DSDマーカー+DSDデータ」のフォーマットにはじめからデータを整形しておいてWAVにカプセル化しておくというわけです。

DFF形式の素のDSDデータ
      ↓
DSDtoPCMencapsulateで変換 (java使用)
      ↓
WAV形式のUSB linkフォーマットDSDデータ (176.4k/24bit)

これでまたDSDネイティブ方式も面白いことになりそうです。

*注
現在はdCS方式ではなく、標準規格1.0に対応しています。Stefさんは先に書いた自分のXMOSファームとBaffalo 32(IIの前のやつ)でテストしてるようです。また再生ソフトはVLCを使ってるそうです。
dCS方式(0xAAマーカー)に対応するのはないの、と聞いたらまたdCS方式バージョンを作ってくれました。こちらは私が受け取りましたが、また報告します。
ちなみにMytekはV1.4.1のファームで標準規格1.0に対応するようです。
posted by ささき at 11:30 | TrackBack(0) | __→ DSD関連 | このブログの読者になる | 更新情報をチェックする