USB転送,ジッタ問題,そして,バッテリ電源駆動

パソコンからDevialet 800へミュージックファイルデータを送り込むには,(1)WiFi (2)LAN, (3)USBの経路があり,いろいろ試してみたが,拙システムの場合,USBが一番よさそうだ.

Devialetの場合,特定のUSBドライバを必要としないから,標準のUSB規約に従い,そのうちの等時転送 (isochronous)モードにのっとるものだろう.等時転送モードでは一定時間ごとにパケットが転送され,それぞれにCRCが付けられ,データのチェックが行われるが,エラーが検出されてもやり直しは想定されない.メモリデータの転送のような大量かつ厳密なデータ転送が要求される場合に使われることが想定されているバルク転送(bulk)モードでは,再送要求によりやり直しが出来る規約になっているが,オーディオデータのような,データの正確さを犠牲にしてもリアルタイム性を重視する等時転送モードでは,エラーが生じたら受信機側で適当に処理しなさい,という想定だ.

いくら理想的なケーブルを使用しても,エラーに至る信号劣化は生じる.高周波損失に始まり,EMI,電源変動,クロストーク,両端のインピーダンス不適合による反射など,信号波形を劣化させる要因はさまざまだ.ノイズを受けると,ビットを表す矩形波が崩れ,その値が間違って受け取られる.ビット確定エラーだ.音楽データの一部をなすビットの読み違いならばそのビットを含む音の量の誤りとなる.音楽データだけでなくデータ全体のフォーマットを与える特殊コードのなかのビットを読み間違えることも起こりえる.すると,極端に運の悪いタイミングで生じれば,左右音の反転さえ起こすのだ.

こういった事態を避けるためには,エラーと分かったパケットデータは無視して捨て去るか,あるいはなんらかの埋め合わせをして,(適当に)つぎをあてることになる.たとえば各音の前後の値を使って平均化するなど,いろいろ考えられる.その処理の結果,ここに至るまでのビットエラー頻度が多いほど,不自然で違和感を与えるアナログ的な音質劣化として現れ,感知可能な水準にまで至る.USBケーブル(とその両端のインタフェース)によって音が変わるとすれば,ビット波形の劣化がもたらすビット読み取りエラーの生起確率に違いがあり,エラー処理の結果としてアナログ的な音の違いになることが考えられる.

ジッタによる音質劣化も,同様にここにその一因があると思われる.ジッタ(ディジタル信号の時間軸上の揺れ)のうち,転送過程で起こる転送ジッタは,ビットをあらわす矩形波の時間的揺らぎによってビットエラーを起こす現象だから,その意味で,一種のノイズ現象であり,他のノイズによる現象と同様に,ディジタル的破綻に至らなくとも,アナログ的な音質劣化として感知可能な現象となって現れることになる.

多くの専門書や雑誌,それにネットの解説では,ビット値が確定した後のDACに入力される一音のタイミングのズレとして,あるいはDACに与えられるマスタクロックの揺れとしてのみ,ジッタを扱っているものがあるが,これはビット誤りを招く転送ジッタとは別物だ,すくなくとも,両者を混合して論じられるべきものではない.同期型転送では転送データに含まれるクロック情報を抽出してそれをDACのクロックとする,というものだが,このクロックは転送中に,あるいは,それを生成するパソコンで,当然,不正確で乱れたものになっている可能性があるから,とてもそのまま使える代物ではない.そこで,受信側では送られてきたデータから得られたクロック情報とは全く独立に正確なクロックを生成し,それをDACのマスタクロックとする非同期型(asynchronous)を採用することになる.すると,送られたデータのクロックと受信側のクロックの不一致が起きるが,それを吸収するためにもバッファが必要だ.バッファは,劣化した波形を整形するだけでなく,この意味でジッタをキャンセルする役目を持つことになる.実際,USB規約では送信側,受信側,ともにバッファを設けることになっている.このバッファから,マスタクロックに従ってビット列を読み出し,それをDACに送り込むのである.

送信側,つまりパソコン側での送り出し信号がすでにエラーを含む現象も起こりえる.iTunesでプレイしているとき,たまたまアルバムのアートワークをネットで見つけたので,それをそのアルバムに添付したことがあった.そのとき,なんと,ザザザという雑音が生じ,楽曲が乱された.これなどははっきりと耳に感知する一種のディジタル的破綻現象だが,そこまでいかずとも,コンピューティングリソース(CPUやメモリなど)の不足などから,送り出すデータにタイミングエラー,あるいは,抜けがある,ということはあり得るのだ.それがそのまま受信側に届けば,再送要求されず,汚れたまま音になってしまう.

バッファを使用する場合,バッファ量が大きすぎれば転送遅延(ラグ)が大きくなり,少なければオーバーフロー,あるいは,アンダーフローを招く確率が高まる.こういったバッファ事情はWiFiでのストリーミング処理と全く同じだ.こういう問題はあるものの,バッファはジッタを遮断するための必須の道具だ.問題はバッファに入るデータの精度だ.つまり,転送ビットエラーを如何に少なく出来るか,ということだ.結局,WiFi,LAN,そしてUSBの優劣は転送品質の優劣,つまりビット波形転送の精度の問題に帰着する.ちなみに,WiFiもLANもEthernet規約に従うから,エラーが検出されれば再送要求が出されやり直しが出来るはずで,その時間的余裕を許容する高速転送が必要だ.しかし時間的限界があるから,転送品質があまりに悪ければやはりエラーを適当にごまかす処置が働き,やはりアナログ的音質劣化を招くことになる.

USB3.0(別名Super Speed USB)ではより高速の転送が行われるため,ノイズの影響を受けやすく,ビット確定誤りに対する対策をより厳重にする必要がある.そのためにビット詰め(bit stuffing)やデータスクランブル,それにスペクトル拡散クロックなどいくつもの凝った技法が持ち込まれている.転送過程でのパルス波形崩れやEMIノイズ発生の防止などのためである.USB3.0の場合,高速であることと全二重方式(USB2.0では半二重)であることから,等時転送でも再送要求に応えるやり直しが許される余地があると思われるが,ネットでいろいろと情報をあさってみたものの,標準規約で実際どうなっているのか分からなかった.

USBケーブルに載る信号はディジタル(バイナリデータ)だが,それは受け手の処理でビット信号が100%誤りなく確定されるという,あり得ない前提の下に成り立つ仮想概念にすぎない.物理層を見ればまぎれもないアナログ信号で,その波形はさまざまなノイズによって崩されてしまう.出来るだけ正確なもとの波形を保つべく,通常のアナログデータを載せるケーブルと同様かそれ以上に(アナログ的に)正確な転送がディジタルケーブルにも必要なのだ.こう考えると,高級ディジタルケーブルを使用することで音質がよくなることがある,という感覚を,必ずしもオカルトとして切り捨てることは出来ないだろう.

USB3.0対応ケーブルの物理的特性は非常に厳格だ.Devialetは3.0に対応していないが,3.0は後方互換性をもつので,このケーブルでの接続自体は可能なはずだ.オーディオでそれほどの高速性は必要ないかもしれないが,情報処理リソースは余裕があればあれほどいいから,聴感的に案外よいかもしれない.いつか試してみたいと考えている.

こう考えているうちに,パソコンでの電源揺らぎの影響を排除することを思いつき,PowerBook Proの電源ケーブルをはずし,バッテリ駆動での信号送出にしてみた.するとどうだろう.音の無垢さ,純粋さが一段と増した.電源ケーブルを接続すると,わずかにしても,とげとげしさ,きしみが感じられる.電源ケーブルを外すと,音場の明晰さと透明感が増し,音のエッジが効いてリアルさが強まる.-20dB設定の大音量で聞き続けても,聴き疲れしない.さまざまなジャンルの曲で,ABABA比較をなんどか行ったが,この結果はたしかだ.USBの電源補給ラインに関係するのか,片側アンプの電源ケーブルとおなじ壁コンセントを使っているので,それ経由でノイズが載るのか,それともほかの何かに影響するのか,それはわからないが,音質に違いを生むことは確かだ.バッテリ残量を気にしなければならないなど,利便性が損なわれるが,それを犠牲にしても,これからはパソコンの電源ケーブルは外して聴くことにしよう.さっきから,MeinkovとFaustの名演奏でBeethovenのViolin Sonataを聞き続けている.ふたりの奏者がすぐ目の前に見えるようだ.一昨年だったか,生演奏で聴いたふたりのステージが記憶から鮮やかに蘇った.




コメント

人気の投稿