ALSA
- URL
- http://www.alsa-project.org/
- ライセンス
- GPL(ドライバ), LGPL(ライブラリ)
概要
ALSA とは Advanced Linux Sound Architecture の略であり、つまり Linux 用サウンドドライバである。 元々 Linux のサウンドドライバといえば Open Sound System(OSS/Free) が主流であり、実際それしか選択肢が無かったのであるが、 OSS の仕様は古くまたプログラミングの自由度が低かったため、より充実したサウンド環境を目指して設計開発されたのが ALSA である。 OSS 互換 API もあるため、旧来の OSS 用アプリケーションでも ALSA ドライバの上で使うことができる。
構成
ALSA はサウンド関連のハードウェアを制御するためのドライバ群と、それらをプログラムから利用するためのライブラリ、そしていくつかのユーティリティソフトウェアからなる。
ドライバ
ハードウェアと ALSA ライブラリとの間を橋渡しする部分。これが正常動作しない限りは音を鳴らすことすらできないが、 普通に買えるサウンドカードやマザーボードに搭載されているサウンドチップの多くはすでに対応ドライバが用意されており、問題なく使用できるだろう。 USB 接続のものも、一般的な規格にのっとって設計されたものであれば、usb-audio という汎用ドライバが対応している。
また、ALSA ドライバを Open Sound System (OSS) API から使うためのドライバも提供されている。これを使うと ALSA ドライバを OSS API から使えるようになり、 旧来のアプリケーションも変更することなく動かすことができる。
ライブラリ
ドライバとアプリケーションの間を橋渡しする部分。ALSA が提供する機能をくまなく使いたい場合には、ALSA ライブラリを直接使ったプログラミングが 必要となってくる。細かい制御ができる分、細かいことを一々設定せねばならず、プログラミングには苦労が伴う。ただ単に音を鳴らしたいといった単純な目的の場合には、 他のもっと高位なライブラリを使う方が楽だ (SDL_mixer など)。
ユーティリティ
音量の調整をする alsamixer、WAVE ファイルを再生する aplay など、MIDI の設定をする acconet など。いずれもテキストベースのインタフェースであり、 起動時の再設定や終了時の設定保存など、自動化された処理を行うのに便利だ。なお、GUI での設定は、GNOME や KDE などがそれぞれ提供している。
関連
- Alsa, Jack and LADSPA - http://www.agnula.org/documentation/dp_tutorials/alsa_jack_ladspa/