PCオーディオで利用するDAC(デジタルをアナログに変換する装置)が提供するインターフェイスには、ASIOとWASAPIの2種類が存在します。
2種類ともWindows PCからDAC(正確にはDACドライバ)を操作するためのAPI仕様(あるいはオーディオドライバの規格)です。再生プログラムがDACを操作するための「呼び出し手順などの規約」と表現するとわかりやすいかと思います。
WASAPIとASIOの概要
WASAPI(ワサピと呼びます)はMicrosoft社、ASIO(正式な発音は聞いたことがないのですが、私はアジオと呼んでいます)はスタインバーグ社のAPI仕様です。
WASAPIはOSを提供しているMicrosoft社らしく中立であり、DACの機能をプログラムに提供する位置づけで設計されていると感じます。再生プログラムは自分でループしながらDACへのデータ出力を繰り返します。
対してASIOは、オーディオのハードウェアとソフトウェアを両方作っているスタインバーグ社ならではの設計で、私の感覚ではデバイス側(DAC側)の立ち位置で再生プログラムに機能を提供しているように思えます。ASIOの再生は、最初にAPI側で高い優先順位のスレッドが起動され、そのスレッド上で再生プログラムが繰り返し呼び出される(コールバック)方式です。
ビット深度の取り扱い
再生プログラムがWASAPIを使う場合、再生開始時にDACの仕様を取得し、どの仕様を適用するかを選択します。この仕様にはサンプリング周波数(44.1kHzとか96kHz等、1秒間にサンプリングする回数のことです)とビット深度(16bitや24bitなどの1回のサンプリングをどの程度の精度で記録するか)の指定が含まれます。
このビット深度はDACにより異なり、16,24,32bitの3種類に対応する機種もあれば、16bitや32bitなど1種のみに対応する機種も存在します。
対してASIOはサンプリング周波数は再生プログラムが指定しますが、ビット深度はDACの指定に従う方式です。つまり音源のビット深度に合わせてビット深度を指定することは行いません。一般的なDACは32bitを指定してくることが多いようです。
※参考:Pioneer社のU-05はASIOの設定画面でユーザーがビット深度を指定します。
ビット深度についての詳しい解説
ビット深度とは1回のサンプリング値をどのサイズの整数で扱うかを示すものです。24bitは24桁の2進数で、32bitは32桁の2進数のことを指します。
24bitで扱える数値は、10進数に換算すると-8,388,608 ~ 8,388,607の16,777,216段階で、32bitの場合は-2,147,483,648 ~ 2,147,483,647の4,294,967,296段階です。32bitは24bitのちょうど8bit分、つまり256倍の細かさを持ちます。
CDクオリティのビット深度は16bitですので、-32,768 ~ 32,767の65,536段階であり、ハイレゾ音源(PCM方式)のビット深度は大概が24bitです。これはCDの256倍の細かさである24bitで十分と考えられているのだと思います。
尚、音源が24bitのデータを32bitデータとして送出する時は、単にデータを256倍します(下位8bitを0にして、上位24bitに音源データをコピーします)。
DSDの再生方式
DSDの再生については、ASIOにはDSDデータ専用のインターフェイス仕様があります。一方、WASAPIにはDSD専用のインターフェイス仕様は用意されていません。
WASAPIでは、24bitのPCMデータにDSDデータを載せるDoPという方式が使われます。これは、DSDデータだということをDACに示す8bitのマーカーと16bit分の実データを、普通のPCMの24bitデータのようにDACに送出する方式です。一部にはASIOのDoPを採用しているDACも存在します。
WASAPIの共有モードと排他モード
WASAPIは共有モードと排他モードという2種類のモードが存在します。共有モードはWindowsのミキサーを使う実装で、排他モードは1つの再生ソフトがDACを排他的に使用する実装です。Windowsは音楽再生中に警告音を鳴らすなど、複数の音を混ぜるミキサー機能があり、これが共有モードの正体です。PCMで音を混ぜるには、サンプリングレートやビット深度を揃えてから演算する必要があるので、このときにビットロスが生じることがあります。つまり音質は悪くなる方向です。
良い音を追求するためには、WASAPIは排他モードで使用します。
結局どちらが優れているのか
使用するDACがASIOとWASAPIの両方に対応している場合、どちらが好ましいかは、メーカーの推奨を確認するか、実際に視聴することで判断します。
DSDを再生するときにWASAPIはDoPだから1.5倍のデータ転送が必要で音質的に不利であり、ASIOが優秀であるとの話を聞くことがあります。しかし、データ転送量が音質に与える影響は絶対的ではありません。ちなみにPCMはASIOはほとんどのDACで32bit固定であり、24bitだけを転送する場合に比べて1.33倍のデータ転送が必要です。