Advanced Linux Sound Architecture
Advanced Linux Sound Architecture (ALSA) は、サウンドカードのデバイスドライバを提供するOpen Sound System (OSS)を置き換えるために開発されたLinuxカーネルコンポーネントである。ALSAプロジェクトの初期の目標は、サウンドカードハードウェアの自動設定や、複数のサウンドデバイスのスマートな取扱いなどであったが、それらは概ね達成された。JACKなどのいくつかのフレームワークは、低遅延でプロフェッショナル級の編集・ミキシングを実現するためにALSAを利用している。
![]() AlsaMixer 1.0.14のスクリーンショット | |
作者 | Jaroslav Kysela |
---|---|
初版 | 1998年 |
最新版 |
1.2.10
/ 2023年9月1日[1] |
対応OS | Linux |
種別 | Audio |
ライセンス | GPL and LGPL |
公式サイト | www.alsa-project.org |
ALSAプロジェクトは、1998年、Jaroslav KyselaによってGravis UltrasoundサウンドカードのためのLinuxデバイスドライバが書かれたことから始まった。ALSAは、2002年にLinuxカーネル2.5開発版(2.5.4-2.5.5)に導入されるまで、Linuxカーネルとは別個に開発されていた[2]。2.6では、後方互換レイヤーがあったとはいえ、標準設定でOSSを置き換えた。
特徴
編集ALSAは、その構想時点ではOSSがサポートしていなかったいくつかの機能をもつよう設計されている。
これらの機能を美しくサポートするため、ALSAはOSSよりも巨大で複雑なAPIをもっている。そのため、ALSAのサウンド技術を利用するアプリケーションを開発することはOSSほど簡単ではない。しかし、ALSAにはOSSのエミュレーションレイヤーがあるため、より簡素で可搬性の高いOSSのAPIを利用することもできる。
ALSAはデバイスドライバの他に、カーネルドライバと直接やりとりせずに高レベルのAPIを使ってドライバ機能を使いたいという開発者のために、ユーザ空間のライブラリも提供している。ハードウェアの能力を直接反映しようとするカーネルAPIとは違って、ALSAのユーザ空間ライブラリは、異なるハードウェア間でも可能な限り同じように扱えるよう、抽象的なインタフェースを提供している。これは、一部にはソフトウェアプラグインを用いて実現されている。たとえば、現在の多くのサウンドカードや組込みサウンドチップは「マスターボリューム」コントロールをもたないが、これらのデバイスのためにユーザ空間ライブラリは「softvol」プラグインによってソフトウェアボリュームコントロールを提供している。そのため、通常のアプリケーションソフトウェアはこれらの違いを認識する必要がない。
脚注
編集- ^ “Main Page News”. 2023年11月21日閲覧。
- ^ Linux 2.5.5 release notes
関連項目
編集外部リンク
編集- 公式サイト
- http://alsa.opensrc.org/ (ALSAのウィキ)