ASIO
ASIO(Audio Stream Input Output:エイシオ、アシオ、アジオ)は、オーディオデバイスのドライバインタフェースの一つである。
概要
[編集]ASIOは、ドイツのスタインバーグによりオーディオを入出力するためのアプリケーション用APIとして提供された規格であり、Windows向けオーディオカードの多くがこの規格に準拠している。Mac OS XのCore Audioはこれと同等の技術とされる[1]。
WindowsやMac OS上にもサウンドドライバは存在するが、ASIOはそれよりも低遅延、高同期性、高いスループットを実現している。開発された理由としては従来のオペレーティングシステム (OS) に搭載されているサウンドドライバでは2以上のマルチチャンネル入力が考慮されていなかったためである。ASIOではマシンの処理速度が許す限りはあらゆるチャンネル数、標本化周波数、量子化ビット数のデータを扱うことができる。
低レイテンシ
[編集]Windows旧来のMMEではそのレイテンシ(データ送信から音声が出力されるまでの遅延時間)は200から500ミリ秒、DirectSoundでも50から100ミリ秒、Mac OSのSound Managerで20から50ミリ秒とされているが、ASIOの場合は数ミリ秒から10ミリ秒以下で、環境によっては1ミリ秒以下となる場合もある。そのため、PCに接続したキーボードでソフトウェア・シンセサイザーを演奏したり、エレキギターにリアルタイムでエフェクトをかけたりといったことが可能になる。また、OSのソフトウェアミキサーを通らずに元の波形がそのままオーディオ出力されるため、良好な音質が得られる場合がある。
マルチチャンネル
[編集]ASIOでは、複数同時に出力するなど、複数のポートを同時に扱うことができる。エフェクタを経由させる出力と、ノーマル出力とを同時に実施するなどの効用がある。
ASIO 2.0
[編集]ASIO 1.0の後継規格として、ASIO 2.0が提供されている。最大の相違点は、入力信号をそのまま出力するダイレクトモニタリング機能をサポートしている点である。ダイレクトモニタリング機能は、入力信号をコンピュータを介さずモニタすることから、レイテンシが生じないという効用がある。
ASIO 2.1
[編集]2005年、ソニーの働きかけによりDSD対応が盛り込まれた。他の変更点はない。
実装
[編集]ASIOは規格であり、実際の利用にはASIO実装が必要である。主要OSはASIO標準実装を提供していないため、ASIOに対応するためにはデバイスドライバ・アプリケーションの実装が必要となる。多くの場合、オーディオインターフェース等のハードウェアではベンダーがASIO対応ドライバを提供し、DAW等のアプリケーションでは開発者がASIO入出力対応を提供する。
Steinberg ASIO SDK
[編集]Steinberg ASIO Software Development Kitはスタインバーグ社が公開しているASIOのソフトウェア開発キットである。SDKではドライバ・インターフェース・ホスト(クライアント)それぞれの定義・基底クラス・サンプル等が提供されている[2]。ライセンスフリー・無償で配布されており、同社は直接のサポートはおこなわないがメーリングリストにおいて開発者同士の意見交換がおこなわれている。
歴史
[編集]1990~2000年代において、Windows・Mac OSが提供する標準オーディオドライバは大きな入出力遅延があった。ASIOはマルチチャネルI/Oと共に低遅延という特徴を持っていたため、ASIOが広く利用されていた。macOSではCore Audioが標準実装されたこともあり、現在ではmacOSにおいてASIOは利用されていない(Steinberg ASIO SDKではMac OS対応が廃止され[3]、macOSには最初から対応していない)。
関連項目
[編集]- Windows Multimedia Extensions, MME
- DirectSound
- Sound Manager
- Core Audio (アップル)
- Core Audio (Windows)
- レイテンシ
- Virtual Studio Technology, VST
- WASAPI
外部リンク
[編集]- ASIO SDK - スタインバーグによる無償SDK配布およびメーリングリストの参加窓口
- ASIO4ALL - Windows NTの機能であるカーネルストリーミングを使用したフリーのASIOエミュレーションドライバ[4]。
脚注
[編集]- ^ https://web.archive.org/web/20040912181832/https://allabout.co.jp/entertainment/dtm/closeup/CU20030706/
- ^ "iasiodrv.h - interface definition for the ASIO driver class ... asiodrvr.cpp - ASIO driver class base definition ... hostsample.cpp - a simple console app which shows ASIO hosting" ASIO SDK 2.3.3. readme.txt.
- ^ "Changes in ASIO 2.3 since ASIO 2.2 ... dropped support for Mac OS 8 and 9" ASIO SDK 2.3.3. changes.txt.
- ^ ASIOに対応していないオーディオハードウェアとドライバ環境向けに擬似的にASIOインターフェイスを提供するエミュレーションインターフェイスもしくはカーネルストリーミングラッパーであり、TASCAM US-144MKIIなどのネイティブにASIO対応している環境ではインストールする必要はない