PulseAudio開発元Lennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie
最新版14.2 / 2021年1月16日 (3年前) (2021-01-16)
リポジトリ
gitlab.freedesktop.org/pulseaudio/pulseaudio
PulseAudio(以前はPolypAudioと呼ばれていた)は、クロスプラットフォームでネットワークに対応したサウンドサーバのプロジェクトであり、Enlightened Sound Daemon(ESD) の置き換えを指向している。
PulseAudioはWindowsとPOSIX互換のシステム(Linuxなど)で動作する。ライセンスについては、ライブラリの一部はLGPL、サーバそのものはGPLとなっている。
特徴
アプリケーションごとのボリュームコントロール
ローダブル・モジュール対応を伴った拡張プラグイン構造
複数のオーディオソース/シンクに対応
遅延量の計測に対するサポート
プロセッサーリソースの効率的な利用のためのゼロコピー(英語版)メモリアーキテクチャ
アプリケーションが音声を再生中に、音声の出力デバイスを変更できる(アプリケーションが別途対応する必要がなく、また変更されたことを検知する必要もない)
スクリプト処理に対応したコマンドライン・インターフェイス
コマンドラインから設定変更できるサウンドデーモンとして動作する
サンプリングレート変換、再サンプリングにビルトインで対応
複数のサウンドカードをひとつにまとまられる
複数の再生ストリームを同期させることができる
Bluetoothオーディオデバイスを動的に検出
アプリケーションとの関係アプリケーションとの関係(Manuel Amador, 2007: [1])
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
表
話
編
歴
freedesktop.orgのプロジェクト
コンポーネント
Avahi
Compiz
D-Bus
DRI
Enchant
Flatpak
kmscon(英語版)
luit(英語版)
nouveau
PackageKit
Plymouth(英語版)
PulseAudio
systemd
Wayland
X.Org Server
Glamor
Xephyr(英語版)
ライブラリ
AppStream
cairo
Fontconfig
glitz
GStreamer
Mesa 3D
fprint
HarfBuzz
Pango
Poppler
Swfdec
Video Acceleration API(英語版)
XCB
Xft
フレームワーク
CppUnit(英語版)
Galago
GeoClue
Open Collaboration Services(英語版)
Telepathy
ミーテイング
Create Project(英語版)
Portland Project