Music TO GO!

2013年11月06日

DLNAでのネットワーク透過のDSDネイティブ再生の考察 (2013/11現在)

ネットワークを経由したDSDネイティブ再生ではいろいろ製品も出てきたので、この辺で中間まとめを考察してみたいと思います。
従来はUSB DACを用いてDSDネイティブ再生を行ってきましたが、USB DACの代わりにスフォルツァートDSP03やDSX1000などのネットワークプレーヤーを使うのがこのネットワーク透過のDSDネイティブ再生です。ネットワークもいろいろありますが、今回はDLNAでの対応についてです。

まずDLNAにおいてネットワーク経由でのDSDネイティブ再生について、現在では大きく2つの方式があります。

1. DSD対応NASを使用する方式 - 主に国内製品で使われている
2. DoPEを使う方式 - 主に海外製品で使われている


上記の2方式に互換性はありません。
このほかにNASを使っていても、NASの音源をネットワーク共有を使ってPCやMacにマウントする方式はDLNAを使ういわゆるネットワークオーディオではないので今回は省きます(こちらはUSB DACの領域となります)。

-- 1. DSD対応NASを使用する方式 --

1-1 必要なもの:

DSD対応ソフトウエア(Twonky7.1など)の入ったNAS(バッファローかアイオーデータ)
(この方式に対応した)DSD対応ネットワークプレーヤー、スフォルツァートDSP03など

1-2 なぜネットワークでDSDネイティブ再生できなかったか、どう解決したか

このDSD対応NASを使用する方式がDLNAでは一番自然な形ではあるのですが、なぜいままではDLNAでDSDネイティブ再生ができなかったかということをまず解説します。
はじめに従来のNASはパソコン用だったという前提があります。PCやMacでは基本的にDSD形式と言うものに対応していません。DLNAでもDSDというもの自体を想定していませんでした。つまりNASはいままで内蔵HDDに.dffや,dsfという拡張子のファイルがあってもそれを無視していたわけです。これではメディアサーバーからリストを送ってもそこに記載されないのでコントローラから見ることができません。これに一時的に対応したのが2012年のスフォルツァートでStefanoのWAVエンコードツールを使用して、WAVとしてリストされるようにしていました。(WAVなら見えるから)
stefanoツールについてはこちらの記事を参照ください。
http://vaiopocket.seesaa.net/article/258376595.html

バッファローNAS(LS421D)ではまず.dsfや.dffの拡張子をきちんと認識するようにしたことと、レンダラーにmimeでDSDに即した形式(audio/x-dsfなど)でファイルタイプをDSDだと教えてあげるようにしたことで、この問題を解決しました。具体的にはサーバーソフトウエアのTwonky7.1でこれを実装したということになります。ちなみにバッファローNASではDSFでのアルバムアートにも対応しています。
アイオーでも最近同様なNASが出てきましたが、やはり同じものだと推測できます。(ソフトウエアは独自だと思います)
このように問題はネイティブ再生というよりもむしろDSDファイル自体の扱いにあります。ネイティブ再生という点で見ると、PCMに束縛されるPCからのUSB経由の伝送より問題は少ないはずです。それゆえDoPのようにエンコードする必要はありません。

ここでDLNAでのDSD音楽再生の流れを解説すると次のようになります。

1) コントローラーをメディアサーバーに接続してブラウズ要求すると、メディアサーバーは自分の持っている音源をリスト化します。ここでdsfなどを見えるようにしているのがバッファローNASでの改良点です。
2) コントローラーはメディアサーバー(NAS)が投げてくるリストをすべて表示します。
3) コントローラでそのリストに基づいて曲の再生指示をすると、その指示はレンダラーに送られます。
4) 指示を受けたレンダラーはメディアサーバーに対してその楽曲ファイルの情報を渡して、レンダラーに対してストリーミングする指示をします。uPuP(=http)伝送自体はPCMもDSDも考慮しませんので、DSDデータはPCMに似せてDoPなどに加工する必要はありません。DSD対応NASを使用する方式はDSDをそのまま(DoPにエンコードせずに)流す方式でもあります。
5) メディアサーバー(NAS)は自らのファイルシステムにおかれた音源ファイルの拡張子をみて、対応するMIME(マイム-インターネットでの拡張子みたいなもの)をつけてレンダラーにストリーミング転送します。ここでDSDに対応したMIME(audio/x-dsfとか)を返すのがバッファローNASでの改良点です。
6) レンダラーは送られてきたMIMEタイプを見てDSDであれば入力をDSDに切り替えます。つまりレンダラーは動的に中身を見て切り替える必要はありません。ここはレンダラーのDSD対応が必要です。
(MIMEについては前の記事参照)
7) レンダラーはストリーミングされてきたDSDデータを再生します。

この辺の動作はUSB DACでのDSDネイティブ再生で言うとASIO方式に似ていると言えるでしょう。MIMEタイプがコマンドに相当しています。そのため動的に判断して切り替える必要はなく、ミュート・ポップノイズなどDoP問題はありません(基本的には)。

*コントローラがいったん指示をしてしまうとあとはレンダラーとメディアサーバーの関係となるので、コントローラーがオーディオストリームに介在することはなくコントローラアプリは音質には基本的に影響を与えないはずです。ただし再生ステータスの問い合わせをするときにこれらに介在することはあるかもしれません。

1-3 今後の展開

この方式は今後はバッフォロー以外のNASにも展開が期待されます。DSD対応TwonkyをNASに入れれば良いからです。またDSD対応TwonkyをMacなどにインストールすることも可能なはずです。この場合は後述するJRMC/DoPEのようにパソコンをDSD対応サーバーとして使うこともできるでしょう。
最近ではアイ・オー・データも同じ方式で出してきました。バッファローとも異なる独自ソフトウエアのようですが、MIMEタイプが同じならバッファローと互換性はあると思います。(MIME自体は標準化されているので)

これらはいまのところ国内メーカーのネットワークプレーヤーが対応しています。しかしIFAにバッファローNASが出ていたせいか、海外でもバッファローNASに対応したDSDネットワーク再生の初の採用例がインターナショナルオーディオショウ2013に展示されていました。これはスイスのCH PrecisionのC1 DACにネットワークボード拡張してネットワーク対応にしたものです。ただしC1自体がマルチビットのPCM1704を採用していますので、DSDは内部でDSPによって705.6KHzのPCMに変換されますのでDSDネイティブ再生ではありません。このように今後は海外でも採用例が出てくるのではないかと思います。


IMG_0822_filtered.jpg
DSX1000(DoPE方式)

-- 2. DoPEを使う方式 --

2-1 必要なもの:

DoPEに対応したメディアサーバー、SynologyのNASとminim serverやJRMC(18以降)
DoPEに対応したDSD対応ネットワークプレーヤー、CHORD DSX1000など(あとLuminなども追従かも)

2-2 DoPEでどう転送するか

DoPE( DoP Ethernet)のDoPはDSD over PCMのことで、USB DACで一般に使われている形式です。またEthernet(イーサネット)は一般的に使われているネットワークの種類のことです。つまりDoPでエンコードされたDSDデータをネットワークを介して転送するのがDoPE方式です。ただしDoPEという規格があるわけではなく、DoPを利用してネットワークでDSD再生をするときのいまのところの通り名です。

DSD対応NASを使用する方式でTwonkyサーバーをDSD対応にしたように、DoPEではMinim serverというソフトかJRMC(18以降)でも可能です。このようにDoPEはさらに2通りに分かれます。ひとつはMacやPCにJRMCを乗せるやり方と、NASにMinim serverをインストールする方法です。Minim serverはSynologyのNASにインストールすることができます。バッファローは相性良くないようです。

たとえばDoPEのシステムでは次のようになります。このときにJRiverをコントローラとして直接再生することもできます。
Mac/PC+JRMCの方式の例

iPad(コントローラー) - Mac/JRiver (メディアサーバー) - DSX1000(レンダラー)
Mac/JRiver (メディアサーバー&コントローラー) - DSX1000(レンダラー)

*JRMCの設定はこちらのLINKをご覧ください。
http://vaiopocket.seesaa.net/article/358186736.html

NAS+Minim serverの方式の例
iPad(コントローラー) - Synology NAS(Minim server) - DSX1000(レンダラー)

MinimServerはDLNAサーバーとなるソフトウエアで、MinimServerではトランスコードオプションでDoPE(dopwav)という形式にトランスコードしてストリーミングするということです。トランスコードはもともとFLAC対応でないレンダラーにWAVでストリーミングするなどのためのオプションです。
前にStefanoのWAVにDoPをエンコードするツールを書きましたが、それをストリーミングしてネットワークサーバーで受ける感じといえるでしょう。見かけWAVをストリーミングしている形ですが、WAVの中身はPCMではなくDoP(DSD)ということです。つまり、このときはDoPEではMIMEタイプはaudio/wavを使用しています。
実際にCHORDの専用アプリではレンダラーで受けているファイルタイプが見られますが、そこではDSDをDoPEで使用すると曲名ではWAVと表示されます。

上のDLNAでのDSD音楽再生の流れの例で言うとこうなります。

1) コントローラーをメディアサーバーに接続してブラウズ要求すると、メディアサーバーは自分の持っている音源をリスト化します。JRMCおよびMinim ServerはもちろんDSDファイル形式を認識しています。
2) - 3) 上と同じ
4) 指示を受けたレンダラーはメディアサーバーに対してその楽曲ファイルの情報を渡して、レンダラーに対してストリーミングする指示をします。メディアサーバー(JRMC/minim srv)はDSDデータストリームをDoPにエンコードします。
5) メディアサーバーは自らのファイルシステムにおかれた音源ファイルの拡張子をみて、対応するMIME(マイム-インターネットでの拡張子みたいなもの)をつけてレンダラーにストリーミング転送します。
DSDの場合は元の形式(DSF、DFF)に関わらずWAVとしてMIMEを設定します。
6) レンダラーは動的にデータストリームを監視しながらDoPマーキングを検知するとデコードをDSDに切り替えます。(USB経由のDoPと同じ)
7) レンダラーはストリーミングされてきたDSDデータを再生します。

JRMCエンジニアの話によるとDoPEの必要性はこうしてDoPを必要とするレンダラーに送信できると共に、DSDフォーマットをWAVに統一できるというメリットがあるということです。
つまりもともとはhttpを使うネット上での伝送ではDoP(PCM)にする必要性は本来はないのだけれども、DoPを入力として採用しているDAC(ネットワークサーバー)の場合にはその方が都合がよいということでしょう。

2-3 今後の展開
LuminなどのネットワークサーバーもDoPEに対応するとみられていますが、海外製品では今後もDoPEが使われると思いますが、バッファロー形式も増えていくかもしれません。

-- 3. まとめ --

USB DACではDSDネイティブ再生には大きくASIOとDoPの2つの方式があります。ネットワーク透過のDSDネイティブ再生では端的に言うとバッファローNASの方式はASIOに似て、DoPEはDoPに似ていると言えます。つまりバッファローNASの方式はDSDファイルの中身とMIME情報をそのままストリーミングするのに対して、DoPEでは中身をDoPにエンコードして、MIMEをWAVに変更してストリーミングします。

前にも書きましたがネットワークでのDSDネイティブ再生と言っているものは上のどちらの場合でもそうですが、PC上でローカルにUSBやSPDIFでDACにDSDデータを伝送しているのとは話しているレベルが違います。ネットワークでのDSDネイティブ再生と言っているのはPC上でローカルの場合で言うと再生プレーヤーソフトがファイルを読む段階の話です(基本的にストリーミングなので)。DACに出すときの話ではありません。端的に言うとPC上ではHDDからDSDファイルを簡単に読めますが、そのファイルがネット越しにあると読むのにひと工夫必要になるということです。 この点にも留意が必要です。
posted by ささき at 22:11 | TrackBack(0) | __→ DSD関連 | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック