USBオーディオクラスの通信について、 アイソクロナスとかアシンクロナスといった専門用語が飛び交っています。 これらについて、一部混乱しているところもありそうなので簡単に分類してみました。
USBは、以下の四つの転送モードを持ちます。
コントロール転送は,全てのUSBデバイスが備えていなければなりません。 自分がどんな通信を受け付けるのか、PCに伝える必要があるからです。
バルク転送は、大量データの転送に向きます。 USBメモリ,ハードディスクなどが使用します。
アイソクロナス転送は,定期的にPCとデバイスの間にデータが流れる通信です。 USBオーディオの音声データは,全てこのアイソクロナス転送で送られます。 クラス1では1秒間に1000パケット、クラス2では、125μsecの整数倍の時間間隔で転送します。
インタラプト転送は、不定期にデータが発生する転送に使われます。 具体的には,キーボードやマウスなどです。
アイソクロナス転送は,転送中にデータが化けたことを検出する機能を持ちますが, データ化けの時にもう一度データを送ってもらうことができません。 USBオーディオはクラス1、クラス2ともにこの欠点を持っています。
USBオーディオの規格書をざっと斜め読みした限りでは, データ転送速度に関する制限は見つかりませんでした。 クラス1、クラス2ともに 12Mbps、480Mbps、5Gbpsを使用できそうです。 ただし、オーディオデータのデータ量が増えるにしたがって, 12Mbpsでの転送は苦しくなってきます。
USBオーディオクラスは、以下の三つの転送方式から一つを選択します。
シンクロナス転送は, PCから定期的に送られる再生データの周期に同期して再生するモードです。 録音時にも、PCからの転送要求間隔に同期します。 Hi-Fi再生には向かないとして,オーディオファンに避けられているモードですね。
アシンクロナス転送は、 デバイスの中に独自クロックを持っているか、外部から正確なクロック(例えばルビジウムクロック) をもらって再生するモードです。 最近のHi-Fiデバイスで、よく使われるようになりました。
アダプティブ転送は、ちょっとかわっています。 外部からの指示にしたがって,どんな再生レートにも対応できるデバイスだそうです。 私は,アダプティブ転送をするデバイスを知らないので,具体的にイメージできません。
USBオーディオクラスの転送方式を表にしてみます。
USBオーディオクラス | コントロール転送 | |
アイソクロナス転送 | シンクロナス転送 アシンクロナス転送 アダプティブ転送 の中から一つ選択 |
USBオーディオクラスの再生ではアイソクロナス転送を用いますので, PCとデバイス間のデータの転送タイミングは重要です。 間には,USBハブを入れない方がよいでしょう。
仮に、PCとUSB DACの間に、USBハブを入れたと仮定します。 同じハブに他のデバイスをつないだときのことを考えてみてください。 PCからオーディオにデータを転送したい時に、 他のデバイスのデータ転送が割り込んでしまうとデータ転送のタイミングがずれてしまいます。 特にシンクロナス転送の時には、タイミングのずれは致命的でしょう。
アイソクロナス転送は, タイミング的に優先される仕様のようですが(ちゃんと確認していない) PCに直結した方が安心できます。
あらかじめ断っておきますが、 1mあたり数万円のUSBケーブルを使えという話ではありません。
我が家の環境でUSB DACを使用していたとき, 特定のPCとの組み合わせで再生エラーが起きていました。 エラーとは,再生時にプツッという単発ノイズが乗ったり, ノイズとともに左右チャンネルの音が入れ替わったりしたのです。 調査してみると,自分で部品から組み立てたPCの前面USB端子を使用したときと、 USB延長ケーブルを使用したときにその現象が起きていました。 つまり、マザーボードのUSB端子とUSB DAC添付のUSBケーブルの間に、 安物のケーブルが割り込んだときにエラーになっていたのでした。
安物の延長ケーブルを使わずに,長めのブランド品 (オーディオブランドではなくてもPCブランドで)USBケーブルを使用した方がよさそうです。
2010年1月10日 初出