Music TO GO!

2011年02月15日

AudirvanaでのIntegerモード使用の要件

Integer(インテジャー = 整数型)モードをサポートしたAudirvana 0.6.0ですが、問題点をFixするために今日時点では0.6.1がリリースされています。

前記事でも書きましたが、このIntegerモードでは使用するDAC側にも要件があります。昨日の時点ではとりあえずゴードン系のUSB DACはIntegerモードが使えると書きました。このほかにはいま分かっているところではフェーズテックのHD-7Aが動作可能であるようです。HD-7AはiPadのUSB再生も大丈夫でしたが、とても素直な素性を持っているようです。
この他にはDACportはOKでした。しかしhiFaceはだめです。hiFaceでintegerモードをオンにしてもintegerモードで再生されません(通常モードで再生されます)。これを考えるとドライバーも標準ドライバーである必要がありそうです。標準ドライバーの利点というのは単にインストール不要ということだけではなく、こういうところでも利いてくるのかもしれません。
また、24bit要件もあって、0.6.1では16bitが対応されたようですが、16bit integerをサポートしているNuForce uDACはだめでした。integerモードに入りますが、再生ピッチが狂います。ただここは修正されるとは思います。

もしこれ以外の手持ちのDACがIntegerモードで使えるかどうかを確認したければ、下記の方法で確認してください。

1. AudirvanaにDACを認識させる (preferenceのAudio設定からchangeで設定を確認する)
2. Audirvanaのdebug infoメニューから情報を参照する
3. いくつかの項目に分かれていますが、下のほうにvirtual formatsという項目があります。そこに対応フォーマットの詳細が列記されているはずです。そこでinteger形式が含まれているかを確認してください。float(浮動小数点)という記述だけならIntegerモードは使えません。physical formatsの方だけintegerがあってはだめです。


例を挙げます。
これはOKなDACportの例です。下線部分がintegerサポートが明示されている箇所です。
-------------------------------------
Audirvana rev. 0.6.1 debug information:

Currently playing in Integer Mode:
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @88.2kHz

Hog Mode is on
Devices found : 2

List of devices:
Device #0: ID 0x104 Built-in Output UID:Built-in Output
Device #1: ID 0x106 CEntrance DACport UID:CEntrance DACport

******(省略)

1 output streams:
Stream ID 0x107 2 channels starting at 1
8 virtual formats:
Mixable linear PCM Interleaved 32bits little endian Float @96.0kHz
Mixable linear PCM Interleaved 32bits little endian Float @88.2kHz
Mixable linear PCM Interleaved 32bits little endian Float @48.0kHz
Mixable linear PCM Interleaved 32bits little endian Float @44.1kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @96.0kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @88.2kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @48.0kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @44.1kHz


8 physical formats
Mixable linear PCM Interleaved 24bits little endian Signed Integer @96.0kHz
Mixable linear PCM Interleaved 24bits little endian Signed Integer @88.2kHz
Mixable linear PCM Interleaved 24bits little endian Signed Integer @48.0kHz
Mixable linear PCM Interleaved 24bits little endian Signed Integer @44.1kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @96.0kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @88.2kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @48.0kHz
Non-mixable linear PCM Interleaved 24bits little endian Signed Integer @44.1kHz

-------------------------------------

これは使えないhiFaceの例です。virtual formatの欄にintegerの記載がありません。
-------------------------------------
Audirvana rev. 0.6.1 debug information:

Hog Mode is off
Devices found : 2

List of devices:
Device #0: ID 0x104 Built-in Output UID:Built-in Output
Device #1: ID 0x106 M2Tech HiFace UID:M2Tech HiFace

******(省略)

1 output streams:
Stream ID 0x108 2 channels starting at 1
1 virtual formats:
Mixable linear PCM Interleaved 32bits little endian Float @44.1 to 192.0kHz

1 physical formats
Mixable linear PCM Interleaved 32bits big endian Signed Integer @44.1 to 192.0kHz

-------------------------------------

再生時のデータの流れを模式的に経路を書くとこの様になります。
Audirvana → CoreAudio (MacOS) → DAC

Virtual formatとはCoreAudioで使われるデータ形式で、普通はfloat(32bit浮動小数点)が使われます。Physical formatとはDACの中で使われるネイティブ形式のことで、普通はinteger(整数)が使われます。
ですから上の図をデータ形式の流れで書くとこうなります。
Audirvana → Virtual format → Physical format

つまりVirtual FormatのところにもIntegerが書かれてあれば、それを利用してDACで使用するPhysical formatであるIntegerのままでCoreAudioを通過できるということだと思います。
まえにCoreAudioではリゾリューションに関しては24bitの「精度」が限界と書きましたが、ここでDAC側が32bit Integerをサポートしていていれば32bitのハイレゾデータ、あるいは24bitから適切なディザ処理をしてビット拡張したデータをCoreAudioで扱えるということかもしれません。

またこの要件は少なくともAudirvanaはそうだということです。開発者もIntegerモードを実装するためには他の方法があるかもしれないが、Audirvanaではこうしている、ということを書いています。
posted by ささき at 23:35 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

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