サウンドサーバ
サウンドサーバはオーディオデバイス(通常はサウンドカード)の使用とアクセスを管理するソフトウェアである。サウンドサーバは普通、バックグランドで動作する。サウンドサーバという用語は、オーディオストリーミングや音声を再生するための機器にも使われる。
OS上のサウンドサーバ
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Soundserver_eng.png/240px-Soundserver_eng.png)
Unix系のOSでは、サウンドサーバは異なるデータストリームをミキシングして、出力装置へ単一の統一された音声を送る。ミキシングは通常ソフトウェアで行われる。サポートされているサウンドカードがある場合はハードウェアによってミキシングが行われる。
レイヤー
サウンドスタックは以下のように表される。
- アプリケーション (mp3プレイヤー・webビデオなど)
- サウンドサーバ (aRts・ESD・JACK・PulseAudioなど)
- サウンドサブシステム (OSS・ALSAなど)
- OSのカーネル (Linux・Unixなど)
サウンドサーバ開発の経緯
サウンドサーバはオープンサウンドシステム(OSS)の限界が認識された後に、Unix系のOSで登場した。OSSは基本的なサウンドインターフェースであり、同時に複数のストリームを再生したり、複数のサウンドカードを扱ったり、ネットワーク上で音声をストリーミング再生することができなかった。
サウンドサーバはOSSではできなかったこれらの機能を、デーモンとして実行することで提供することができる。サウンドサーバは異なるプログラムから呼び出しを受け、ストリームをミキシングし、オーディオデバイスへ音声を送信する。
サウンドサーバを用いると、ユーザは共通のサウンド設定だけではなく、アプリケーションごとのサウンド設定を行うことができる。
多様性と問題点
2012年現在、複数のサウンドサーバが存在する。あるサウンドサーバは短い待ち時間を提供する。一方で、別のサウンドサーバは一般的なデスクトップシステムに適した機能に取り組んでいる。多様化によって、ユーザは特定のアプリケーションにとって重要な機能を選ぶことができるようになった。しかし多様化は、開発者に様々なサウンドサーバへの対応を強制するようになった。その結果、標準APIの開発が望まれている。
サウンドサーバの一覧
- aRts
- Bergen Sound Server[1]
- Enlightened Sound Daemon
- JACK
- en:Network Audio System
- PulseAudio
- PipeWire
- en:sndio
ストリーミング
脚注
- ^ EVL.uic.edu
外部リンク
- Introduction to Linux Audio
- RFC: GNOME 2.0 Multimedia strategy