|
Advanced Linux Sound Architecture (ALSA) は、サウンドカードのデバイスドライバを提供するOpen Sound System (OSS)を置き換えるために開発されたLinuxカーネルコンポーネントである。ALSAプロジェクトの初期の目標は、サウンドカードハードウェアの自動設定や、複数のサウンドデバイスのスマートな取扱いなどであったが、それらは概ね達成された。JACKなどのいくつかのフレームワークは、低遅延でプロフェッショナル級の編集・ミキシングを実現するためにALSAを利用している。 ALSAプロジェクトは、1998年、Jaroslav KyselaによってGravis UltrasoundサウンドカードのためのLinuxデバイスドライバが書かれたことから始まった。ALSAは、2002年にLinuxカーネル2.5開発版(2.5.4-2.5.5)に導入されるまで、Linuxカーネルとは別個に開発されていた〔Linux 2.5.5 release notes 〕。2.6では、後方互換レイヤーがあったとはいえ、標準設定でOSSを置き換えた。 == 特徴 == ALSAは、その構想時点ではOSSがサポートしていなかったいくつかの機能をもつよう設計されている。 * ハードウェアベースのMIDI演奏 * 複数チャンネルのハードウェアによるミキシング * 全二重通信 * マルチプロセッサに対応した、スレッドセーフなデバイスドライバ これらの機能を美しくサポートするため、ALSAはOSSよりも巨大で複雑なAPIをもっている。そのため、ALSAのサウンド技術を利用するアプリケーションを開発することはOSSほど簡単ではない。しかし、ALSAにはOSSのエミュレーションレイヤーがあるため、より簡素で可搬性の高いOSSのAPIを利用することもできる。 ALSAはデバイスドライバの他に、カーネルドライバと直接やりとりせずに高レベルのAPIを使ってドライバ機能を使いたいという開発者のために、ユーザ空間のライブラリも提供している。ハードウェアの能力を直接反映しようとするカーネルAPIとは違って、ALSAのユーザ空間ライブラリは、異なるハードウェア間でも可能な限り同じように扱えるよう、抽象的なインタフェースを提供している。これは、一部にはソフトウェアプラグインを用いて実現されている。たとえば、現在の多くのサウンドカードや組込みサウンドチップは「マスターボリューム」コントロールをもたないが、これらのデバイスのためにユーザ空間ライブラリは「softvol」プラグインによってソフトウェアボリュームコントロールを提供している。そのため、通常のアプリケーションソフトウェアはこれらの違いを認識する必要がない。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Advanced Linux Sound Architecture」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Advanced Linux Sound Architecture 」があります。 スポンサード リンク
|