ASIOについて。
目次

ASIOとは

Audio Stream Input Outputの略。
Steinberg (DAWのCubaseなどを開発した会社。2004年12月にYAHAMAに買収された) が定めた、オーディオ信号を入出力する「ソフトウェア (DAW、ソフトウェア音源)」と「ハードウェア(サウンドカード、オーディオインターフェイス)」を繋ぐための規格の1つである。同様の規格として MME (Multi Media Extention), DirectSound, DirectX Audio, Core Audio (MacOS X), WASAPI (Windows Vista SP1以後) がある。

ASIOの特徴は、オーディオ信号をインターフェイスとの間でやり取りするときの 遅延 (レイテンシー、latency) が短い こと。
WindowsのMME (MultiMedia Extension) は44100Hzの場合200~400ミリ秒(0.2~0.4秒)前後の遅延があり、DirectX はバッファ量をミリ秒単位で指定できるが遅延が割と大きい(らしい。資料がないので不明)。
ASIOでは10ミリ秒(=0.01秒)以下に短くすることが出来る。よって、ソフトウェア音源をリアルタイムで演奏する場合の違和感を軽減できる。
Core AudioWASAPIも同様の効果がある)

ASIOを使うには、「ソフトウェア」(DAWやソフトウェア音源など)と「オーディオインターフェイス」(オンボードサウンドチップやサウンドカードやUSBなどで接続するものなど)の両方がASIOに対応している必要がある。

(なお、MME や DirectX の遅延が大きいのは、PCの負荷変動の影響を受けにくくするためでもある。
逆にASIOは遅延が少ないかわりに負荷変動の影響を受けやすく、PCの処理能力に余裕がないときはノイズが発生しやすい。
少々無理のあるたとえだが:たとえば、MME は300個の料理を注文をまとめて受けて300分後にトラックで届けるようなもので、ASIOは数個の料理の注文を受けて数分後にベルトコンベアで届けるようなもの(間に合わないと未完成の物が届いてしまう=ノイズ)。

参考:

ASIO対応オーディオインターフェイス

ソフトウェアによる対応(エミュレータ)

ASIO 対応 オーディオインターフェイスは下記の1.の経路でオーディオ信号をやり取りする:

 1. ASIO対応ソウトウェア ←→ オーディオインターフェイス付属ASIOドライバ ←→ ASIO 対応 オーディオインターフェイス

ASIO 非対応 のオーディオインターフェイス(一般のサウンドボード・サウンドチップ)をASIO対応ソフトウェアで用いるために、ASIOオーディオインターフェイスをエミュレートするソフトウェア(ドライバ)がいくつか存在し、下記2の経路でオーディオ信号をやり取りする:

 2. ASIO対応ソフトウェア ←→ エミュレータ(ドライバ) ←→ ASIO 非対応 オーディオインターフェイス

以下、2.の経路に用いる「エミュレータ(ドライバ)」をいくつか紹介する。

ASIO4ALL

  • 2010-01-29にサイトが停止、2010-02-01に復旧した。原因は、1月のデータ転送料が月間データ転送量契約の上限を超えたため。(ASIO4ALL - Web Site Down! より)。

2010-09-23時点の最新バージョンは「2.10」(2010-06-12にリリースされた)。
「ASIO4ALL」は、WDMドライバーで動作しているオーディオインターフェイスを、ASIOドライバーで動作するようにできるソフト。動作にASIOドライバーが必要なソフトを、ASIOドライバーのないオーディオインターフェイスで動作されられる。
利用方法は簡単で、本ソフトをインストールするだけ。インストール後は即座にASIOドライバーを利用できるようになる。また、本ソフトの設定画面からASIOドライバーの有効・無効やバッファーサイズなどを設定可能。
さらに本ソフトは、Windowsで再生されている音を処理する“カーネルミキサ”を介さず、音声信号を直接オーディオインターフェイスへ送る“Kernel Streaming”と呼ばれる技術を利用している。そのため、本ソフトを利用するとWDMドライバーに比べて信号に余分な処理を加えない分、発音の遅延が緩和する。

設定はシステムトレイ上のアイコンをクリックして設定ウィンドウを表示して行う。なお、このアイコンはASIO4ALLが使われていないときは表示されない。
DAWソフトウェアやARIAでは「ASIO4ALL v2」という名前で認識される。

スタートメニュー:

システムトレイ上のアイコン(緑色のがASIO4ALLのアイコン。普段は表示されない。ASIO4ALLが使われると現れる):

EWI USB付属のARIAと、ASIO4ALLのウィンドウ(システムトレイ上のアイコンをクリックすると表示される):
(演奏するだけなら「IN」(音声入力)は不要なので、無効にした。PC内蔵サウンドチップは大抵48kHzで動作しているので、ASIO4ALLの周波数も48kHzにした(サンプリングコンバータを稼働させないようにした。どちらの設定もCPU負荷が下がる可能性があるので)

参考: 付属のPDF版マニュアルのIntroduction、Playing Software Synths Live、Troubleshooting
関連: EWI USBのトラブルシューティング (省電力にする機能を止める / バックグラウンドの処理を優先するよう設定する / 「音の明瞭化」を無効にする / ASIO4ALLをインストールしたのですが、音が出ません。)

ASIO2Ks


2009-03-26 時点のバージョンは「beta-version 0.90-2」。
インストーラーは用意されていない。
インストールは、(1) asio2ks_beta.zipをダウンロードして展開し、(2) asio4ks.cpl (「コントロールパネル」アプレット)をC:\WINDOWS\system32にコピーする。
設定は、コントロールパネルの「ASIO2KS」で行う。
DAWソフトウェアやARIAでは「ASIO Kernel-Streaming driver」という名前で認識される。

コントロールパネル:

Configurationタブ:

Advancedタブ:

AsioKs


以下、上記サイトの「AsioKs 概要」より引用:
AsioKsはASIO非対応のオーディオデバイスから擬似的にASIO出力できるようするソフトウェアです。Kernel Mixerを通さず直接WDMオーディオドライバへ出力するため、通常の方法に比べて非常に低いレイテンシで再生を行うことが可能です。

ASIO DirectX Full Duplex Driver (Cubaseなどに付属)

(自分はCubaseを持っていないので調べていない。誰か補足して欲しい)

Generic Low Latency ASIO Driver (Sequel 2に付属)

(自分はSequel 2を持っていないので調べていない。誰か補足して欲しい)