西川和久の不定期コラム
|
気が付けば、2003年はここで一文字も原稿を書いていない。いくら不定期連載とは言え、これはマズ過ぎる。写真ばかり撮っていたら一年経ってしまったと言うのがその真相ではあるものの、今年は心を入れ替え原稿も書かねば! |
DTM系の記事や広告などを見ていると、よくASIOという言葉が出てくる。 これはSteinbergというドイツのメーカが作ったオーディオ用ドライバの規格であり、正確には"Audio Stream Input Output"訳してASIO(アジオ)と呼ばれている。つまり、Microsoftが作ったMMEやDirectSoundとは別のものなのだ。 では何故このASIOがDTM用として広がったのか?一番の理由は“レイテンシー(遅延)を低くできる”から。一般的にMMEは100msec以上、DirectSoundで50msec以上のレイテンシーがあると言われている。流石にこれだけあると、例えばパソコンでソフトシンセを動かした場合、キーボードを押してから実際音が出るまで明らかに遅れてしまう。しかしASIOを使うと普通で10msec以下、低いものだと1msec以下のレイテンシーしか発生しない。なるほど、DTMで流行るのも納得。 レイテンシーが低くなる理由は、MMEやDirectSoundと違ってWindowsのKernel Mixerなど余計なルートを経由せず、アプリケーションから直接ドライバへ信号を流せるからだ。 余談になるが、Mac OS XではCore
Audioと呼ばれる仕掛けがはじめからシステムで用意され、ASIOと同じレベルの超低レイテンシーを誇っている。このあたりの考え方がMicrosoftとAppleとの根本的な違いを現していて面白い。 ●ASIO4ALLの仕掛けドライバと直結する形で作られているASIO、これをどうやって汎用版にするのか!? キーワードは冒頭に書いたKernel streamingだ。Microsoftのドキュメントとサンプルアプリケーションはここにあるが(但し英文)、DirectKSと呼ばれるテクニックを使っている。 大雑把に書くと、レイテンシーの高いWindowsのAPIを通さず、このKernel streamingを使って直接WDMドライバとやり取りし、レイテンシーを低くできるのだ。言葉で書けば安易そうだが、実はASIO2KSやAX-ASIOなどKernel streamingを使った汎用ASIOドライバはかなり前から存在していた。しかし、安定性の問題や仕様がInt16/LSBまでなど、αもしくはβ版のレベル。あくまでも実験的なものであった。そこへ今回のASIO4ALLが登場し、一気に解決したというわけだ。 とは言え、このASIO4ALLも簡単に出来上がったのでなく、現在のバージョン 1.5に落ち着くまでは日替わりで変化していった。ただこのKernel streamingは、Windows 2000とWindows XPのみの対応であり、Windows 9.x系では機能しない。更に、WDMドライバそのものの作りが悪いと、その中でレイテンシーが発生し、正式にASIO対応したハードウェア程効果は出にくい可能性はある。 ●ASIO4ALLの実験では、実際に筆者の手持ちの機材で試した結果をレポートしよう。インストール自体は簡単で、ここからドライバをダウンロードし、SetupA4A.exeを実行するだけだ。 | ||||||||||||
|
●総論
手持ちのサウンドデバイスをソフトウェアだけでASIO対応するASIO4ALLは、筆者にとって非常にありがたい存在だ。ネットラジオやリッピングした音楽を再生すると効果抜群!立ち上がりが良くなり、透明度アップ、音の密度も濃くなってくる。特にAC'97 Audioの音質向上は著しい。「今まで聞いてた音は何だったの!?」という状態だ。全てのサウンドデバイスに100%対応できるか!?は不明であるものの、是非、読者の皆さんも実験して欲しい。うまく動けば、同じハードウェアなのにいい意味で違うサウンドになるハズだ。
なお、ASIO4ALLのバージョンアップは続いており、脱稿後の2月2日にはVersion1.6になっている。
(2004年2月4日)