PulseAudio

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

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

 特徴 

 アプリケーションごとのボリュームコントロール
 ローダブル・モジュール対応を伴った拡張プラグイン構造
 複数のオーディオソース／シンクに対応
 遅延量の計測に対するサポート
 プロセッサーリソースの効率的な利用のためのメモリアーキテクチャ
 アプリケーションが音声を再生中に、音声の出力デバイスを変更できる（アプリケーションが別途対応する必要がなく、また変更されたことを検知する必要もない）
 スクリプト処理に対応したコマンドライン・インターフェイス
 コマンドラインから設定変更できるサウンドデーモンとして動作する
 サンプリングレート変換、再サンプリングにビルトインで対応
 複数のサウンドカードをひとつにまとまられる
 複数の再生ストリームを同期させることができる
 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
 PipeWire

Category:Linux API
Category:音声処理ソフト
Category:オープンソースソフトウェア
Category:2004年のソフトウェア
Category:GNU Lesser General Public Licenseを利用するソフトウェア
Category:Cでプログラムされた自由ソフトウェア