「ASIO」も「WASAPI排他モード」も普通に暮らしていればまず聴くことのないワードだが、PCで音楽を聴くなら知っている人も多いかもしれないですね。

あじお

今回は「ASIO」と「WASAPI排他モード」の魅力、違いなどを紹介していきます!!
 


  • WASAPI排他モード 
まず、「WASAPI」というのはWindowsVista以降導入されたオーディオAPIのことで、"Windows Audio Session API" の略。
これが導入されたことでユーザー側で「共有モード」と「排他モード」が選択できるようになった。
通常は「共有モード」で動作し、カーネルミキサーを通して音を再生するので様々なアプリから一つの出力先に出力することになる。例えば、YouTubeやニコニコ動画を同時に再生しても同時に音が鳴るし、ほかのアプリケーションの通知音なども再生される。
この「カーネルミキサー」というシロモノが様々な音をミックスして同時に出力してくれているということだ。

しかしここで問題なのが、音楽を聴くときである。
音楽ファイルを再生するとカーネルミキサーを通して出力される。フィルターを通しているようなものだ。
このカーネルミキサーがあまり音質的にはよろしくないようで、劣化が避けられないらしい。

そこでそのカーネルミキサーを回避して出力できるのが「排他モード」である。
アプリケーション(この場合の再生ソフト)が直接音源を読み込めるようになるため、カーネルミキサーによる音質の劣化が起こらない。
OS標準の機能であるため、アプリケーションが対応していれば使用可能。


この機能が使えるソフトは色々あるが、ここでは僕もオススメの『foobar2000』を挙げておこう。 
foobar2000: Components Repository - WASAPI output support
ここからダウンロードしたファイルの中にある「foo_out_wasapi.fb2k-component」を"foobar2000/components"内に移動させて、foobar2000を再起動。
[File]→[Preference]→[Playback]→[Output]でデバイス選択リストに「WASAPI(○○):○○○」みたいなやつが並んでいるはず。



  • ASIO
ASIOはサウンドドライバーの規格のひとつ。音声をデバイスに出力するための規格。
"Audio Stream Input Output"の略で、こちらもカーネルミキサーを回避できる。
WASAPIはOS標準の機能であるのに対し、ASIOはサウンドドライバーのため対応機種でないと使用できない。
ASIOはデータ送信から音声出力までの遅延、レンテンシが低いというのが大きな特徴。

おそらく普通のパソコンは対応していないだろう。
ASIOに対応したDACなどを購入すれば導入できる。

僕はFOSTEXのUSB-DAC『HP-A8』を使っている。
foobar2000でASIOを導入するには、
foobar2000: Components Repository - ASIO support
ここで先ほどと同様に「foo_out_asio.fb2k-component」を導入して再起動する。
また、ついでにDSDファイルも再生するには
Super Audio CD Decoder - Browse Files at SourceForge.net
こちらのプラグインが必要。「foo_input_sacd」をダウンロードしておこう。



  • 「WASAPI排他モード」と「ASIO」の音質を比較
一応この二つとともに「Direct Sound」(デフォルト設定、以下DS)も比較してみたが、WASAPIやASIOと比べると音がモッサリしている感じがする。DSのみカーネルミキサーを通しているからか、特にたくさんの音が出る場面で音がごちゃ混ぜになってしまっているように感じた。
WASAPIとASIOはどちらもパッと聴いた限りでは違いがわからないくらい綺麗な音色だった。
しかし聴きなれた曲で比べてみると、ASIOの方が若干寒色系の音に聴こえる。
WASAPIはアタック感が強かった気がした。
微々たる差だし、好みの問題だと思うが、僕はすっきりしたASIOの方が良かったかな…気のせいかもしれないけど 

ASIO非対応の場合は「ASIO4ALL」というソフトで強引にASIOドライバを利用できるらしいが、これはKarnel Streamingという再生経路を無理やり経由することで疑似的にASIOドライバで動作させているため、実際はASIOより多くの経路を経ている(はずである)。
そういう人は無理に疑似ASIOにするよりはWASAPIの方がいいかもしれない。