PulseAudio

PulseAudio（以前はPolypAudioと呼ばれていた）は、クロスプラットフォームでネットワークに対応したサウンドサーバのプロジェクトであり、
Enlightened Sound Daemon(ESD) の置き換えを指向している。

PulseAudioはWindowsとPOSIX互換のシステム（Linuxなど）で動作する。
ライセンスについては、ライブラリの一部はLGPL、サーバそのものはGPLとなっている。

特徴 

 アプリケーションごとのボリュームコントロール
 ローダブル・モジュール対応を伴った拡張プラグイン構造
 複数のオーディオソース／シンクに対応
 遅延量の計測に対するサポート
 A zero-copy memory architecture for processor resource efficiency
 Ability to change which output device an application plays sound through while the application is playing sound (without the application needing to support this, and indeed without even being aware that this happened)
 スクリプト処理に対応したコマンドライン・インターフェイス
 コマンドラインから設定変更できるサウンドデーモンとして動作する
 サンプリングレート変換、再サンプリングにビルトインで対応
 複数のサウンドカードをひとつにまとまられる
 複数の再生ストリームを同期させることができる
 Bluetoothオーディオデバイスを動的に検出

アプリケーションとの関係 

PulseAudioはバックグラウンドで動作するサウンドサーバであり、
一つまたは複数の音声入力（プロセスや録音デバイスなど）からデータを受け取って一つまたは複数の音声出力（サウンドカードやネットワーク上のPulseAudioサーバ、他プロセスなど）に送る。

PulseAudioの目標の一つは、旧来のOSSを利用したアプリケーションなどのようにハードウェアに直接アクセスする代わりに、すべての音声ストリームをPulseAudio経由で扱うようにすることである。
そのために、aRtsやESDなど他のオーディオシステムの利用するアプリケーションに対してアダプターを提供する。

Linux環境では通常、PulseAudioが提供している仮想デバイスをALSAが使うように設定する。
こうすることで、ALSAを利用するアプリケーションはPulseAudioにデータを送るようになり、PulseAudioからはALSAを利用してサウンドカードにデータが送られる。
また、
PulseAudioに直接対応しようとするアプリケーションに対しては、
ESDアプリケーション向けの旧来のインターフェイスだけでなく、ESDを置き換える位置づけのネイティブなインターフェイスも提供する。

OSSアプリケーションに対しては、padsp ユーティリティを提供する。
これにより /dev/dsp などのデバイスを置き換えた場合、アプリケーション側からは排他的にサウンドカードをコントロールしているように見えるが、実際の出力はPulseAudio経由で行われる。

関連項目 
 ALSA
 JACK
 OSS

Linux API
音声処理ソフト
オープンソースソフトウェア
2004年のソフトウェア