Music TO GO!

2010年09月22日

USB Audio Class 2.0についての最新情報 (2)


*この記事はこの時点での最新情報でしたが、2011/6月にさらに更新した記事をアップしました。
http://vaiopocket.seesaa.net/article/209382239.html



USB Audio Class 2.0についての振り返りとまとめ

USBのハードディスクはたいていがドライバーのインストールがなくともPCにつなげば自動的に認識します。同様に多くのUSBオーディオ機器はパソコンにつなぐだけで音が出るようになります。これはOSがもともと持っているドライバーが自動的に標準規格に沿った機器を認識するからです。標準的なこの規格をUSB接続ではClassといい、オーディオの場合はUSB Audio Classといいます。このようにOSがはじめから持っている標準規格に沿ったドライバーのことを標準ドライバーまたはクラスドライバーと言います。英語記事でOSのnative driverと言った場合は標準ドライバーのことです。
*このドライバーを作るのはマイクロソフトなどOSサプライヤーです

しかし、USBオーディオではこの標準ドライバーを使う限りにおいては、対応するサンプリングレートは96/24までが限界というのが定説でした。192/24まで達成するにはhiFaceのようにカスタムドライバーをインストールする必要があるということです。hiFaceなどはオーディオクラスの等時的なアイソクロナスではなく、ストレージクラスなどで使われているバルク転送を使うことでこの制限から逃げています。(つまりバルク転送では同期ができないので必然的に非同期となります)

しかし最近のUSB DACなどで標準ドライバーのままでも192/24や176/24を可能とするものが出てきました(zodiacの記事参照)。
先に書いたUSB Audio Classが1.0から2.0に拡張されたようです。Class 2.0ではClass 1.0に比べてUSBのオーディオクラスに関する属性が増えているようです。

つまりUSB Audio Class 2.0とは、カスタムドライバーをインストールすることなしに、標準ドライバーだけで176/24と192/24が再生できるものです。もうちょっと別な言い方をすると、バルク転送ではなく、アイソクロナス転送で176/24と192/24が再生できるもの、ともいえるかもしれません。つまりhiFaceとかMusilandは今回の記事の対象外です。
(アイソクロナス転送は同期できるのでさらに同期、非同期とAdaptiveのモードがあります)

Audiophilleo1を買ったことでさらにいろいろ分かるようになり、ここの開発者のフィリップさんとも少しいろいろ聞いてみて分かりましたのでClass 2.0に関する中間報告として書いておきます。

Class 2.0対応状況の分類

いまのところUSB Class 2.0をサポートしているUSBオーディオ機材は私の知っている限りは下記4機種です。

Wavelength Wavelink (USB DDC)
http://www.usbdacs.com/Products/Products.html

Antelope Zodiac+ (USB DAC)
http://www.antelopeaudio.com/jp/products_zodiacplus.html

Audiophilleo 1と2 (USB DDC)
http://www.audiophilleo.com/

Ayre QB-9改 (USB DAC)
*未リリース

実質的にAyre QB-9改はゴードンのコードを使っているのでWavelinkとおんなじと考えることができますので、さらに各開発元により標準ドライバーでの192/24対応の状況をまとめると下記のようになります。このように対応は開発元によりばらつきがあることが分かります。

*Wavelengthグループ(aka. ゴードングループ) (Async)
Mac 10.6.4要
Window 7 対応なし - 付属のカスタムドライバーのインストールが必要

*Zodiac+ (Adaptive - 情報に基づく推測)
Mac 10.6対応 (10.5も?詳細不明)
Windows 7 対応あり

*Audiophilleo (Async)
Mac 10.5でもOK
Windows 7 対応なし - 付属のカスタムドライバーのインストールが必要


なかにはLinuxもサポートされていますが省きます。書くとするとLinuxの場合はUbuntuみたいにディストリビューションではなく、カーネルバージョンが必要でしょう。そのカーネルバージョンがどのディストリビューションに入っているかというところまで調べて書かねばなりません。

*MSBの新しいのもClass 2.0かもしれませんが、まだちょっとよく分かりません。
http://www.msbtech.com/products/usb2.php

Class 2.0対応の要件とは

一般的なUSBオーディオ機器については96/24までの対応ではわりときれいにそろっていたのですが、Class 2.0の対応はかなりばらつきがあるのが分かります。

これについて分解するといくつかの問題(ボトルネック)があることがわかります。

1. OS側のクラスドライバーの実装

2. デバイス側のUSBコントローラの制限

3. デバイス側のファームウエア設計

これらは複雑に絡んでいます。
たとえば前にWavelengthの情報からClass2.0はMacOSX10.6.4から対応と書きましたが、実際は10.5からClass2.0自体は対応されていたようです。ただし10.5ではOSのクラスドライバーの実装に問題があったようです。ただしこれはファームウエアの書き方によっては回避できる問題のようで、ゴードンさんは10.6.4までだめだったといってますが、Audiophilleoのフィリップさんは回避できると言ってます。もしかすると2.0の規格を厳密に守った場合10.5ではだめなのかもしれません。ここでは書きませんが(というか私は理解していませんが)、これにはちょっとワザがあるようです。ゴードンさんはこの点でまじめに守っているんでしょう。

またいかにファームウエアをClass2.0のオーディオクラスDescriptorにあわせて書いて、OSのクラスドライバーが2.0をサポートしていても、USBコントローラがTAS1020などの1.1対応機種ではそこがボトルネックになるので192/24転送はできません。(この場合の帯域幅はけっこう惜しいので192/16とか170/24とか半端なのはできるようです)

つまりClass2.0というのが実は前から可能であったにもかかわらず、最近になって見えてきたのは、実はOSが最近対応したからではなく、コントローラが最近対応したから、ということのように思います。
Audiophilleoではコントローラーをカスタムで設計しているようです。Zodiac+もそうです。つまりTAS1020みたいな1.1時代の古い既製品を使っている限りはClass2.0サポートは達成できないということです。

もうひとつ問題はなぜWavelinkとAudiophilleoはMacOSXでは標準ドライバーで192/24まで達成できるのに、Windows7だとだめなのか、という点です。
これは少しフィリップさんともお話ししたんですが、確実なことはわかりません。ただ上の表を見ていただくとなんとなく気づくかもしれませんが、WavelinkとAudiophilleoはAsyncですが、Zodiac+はAdaptive(推測)です。おそらくこの辺にポイントがありそうです。これはファームウエアとOSが、どちらが問題かはともかく複雑な関係で動いているということです。
そしてOSの実装もまた完全ではないということです。はじめに標準ドライバーを作成するのはOSを作るメーカーであると書きましたが、御存じのようにOSは完全から程遠く穴だらけです。もっともOSは数千万ステップものプログラムの集合体であり、それが一行たりとも間違えてはいけないというのは酷なことではあります。

つまり結局はClass 2.0という枠はできているのに、クラスドライバー、コントローラ、ファームウエアの3者がそれぞれ問題を抱えながら複雑に絡み合って、ここに書いたような状況になっている、ということでしょう。そのため、こういう足並みがそろわない状況となっているようです。
これもiPadのUSBオーディオサポートと同様に「できるけれども完全ではない」ということだと思います。

今度WAONさんが176k/24のマスターデータを採用したハイレゾ音源の販売をするそうです。そうした96/24を超える動きも出てきていますので、まだこのClass2.0の件については見ていく必要があると思います。
posted by ささき at 00:27 | TrackBack(0) | __→ PCオーディオ最新技術 | このブログの読者になる | 更新情報をチェックする

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