PulseAudio(以前叫Polypaudio)是一個跨平台的、可通過網路工作的聲音服務,其一般使用於Linux和FreeBSD作業系統。它可以用來作為一種簡易改進的開放聲音後台(ESD)替換。
PulseAudio運行於Microsoft Windows和POSIX兼容系統(如Linux和FreeBSD)。PulseAudio是自由軟體,基於GNU寬通用公共許可證 (LGPL)2.1協定。
基本介紹
- 中文名:PulseAudio
- 目的:聲音服務
- 領域:計算機
- 性質:聲音伺服器
描述,特點,使用,替代品,
描述
PulseAudio是一個聲音伺服器,一個後台進程從一個或多個音源(進程或輸入設備)接受聲音輸入 然後重定向聲音到一個或多個槽(音效卡,遠程網路PulseAudio服務,或其他進程)。
PulseAudio的一個目的通過它是重定向所有聲音流,包括那些試圖訪問硬體的進程(像那些遺留的基於OSS的軟體)。PulseAudio通過提供適配器給那些使用不同的聲音系統,像aRts和ESounD。
在Linux下的典型方案,用戶提供配置ALSA來使用PulseAudio提供的虛擬設備。儘管套用使用ALSA會將輸出的聲音輸出到PulseAudio,然後PulseAudio會使用ALSA它自己來訪問真正的音效卡. PulseAudio同樣提供它自己的接口給應用程式,用來直接支持PulseAudio,就像那些遺留的基於ESD的軟體,這樣使得PulseAudio適合作為ESD的替代品。
對於OSS的軟體, PulseAudio提供padsp工具,用來代替硬體資料夾像/dev/dsp,欺騙應用程式,使程式以為它們有音效卡的完全控制權。在事實上,它們的輸出被PulseAudio重定向。
特點
PulseAudio的主要特點包括:
- 可對每一個應用程式進行音量控制Per-application volume controls
- 可擴展的外掛程式與支持可裝載模組架構
- 兼容性許多流行的音頻應用程式
- 支持多重音源和多重輸出
- 低延時操作和支持延遲測量
- 一個對處理器資源效率零拷貝記憶體架構
- 能夠發現本地網路上使用PulseAudio的其他計算機並通過其揚聲器直接播放聲音
- 能夠改變一個應用程式的聲音輸出設備,就算這個應用程式在播放聲音(程式不需要支持這特性,而事實上,程式甚至沒有意識到改變)
- 帶有腳本功能的命令行界面
- 一個功能完善且帶有命令行重新配置功能的守護進程
- 內置採樣轉換和重採樣功能
- 能夠合併多塊音效卡成一個音效卡
- 能夠同步播放多個音頻流
- 動態檢測藍牙音頻設備
- 使全系統均衡的能力
使用
PulseAudio被幾個主要Linux發行版使用,例如Fedora、Ubuntu、Mandriva、Linux Mint、openSUSE和OpenWRT。GNOME項目中還有越來越多的對Pulseaudio的支持。
當PulseAudio第一次公開發布時, PulseAudio開發者Lennart Poettering描述它為"the software that currently breaks your audio".Poettering later claimed that "Ubuntu didn't exactly do a stellar job. They didn't do their homework" in adopting PulseAudioforUbuntu"Hardy Heron" (8.04), a problem which was then improved with subsequent Ubuntu releases.However, on October 2009, Poettering reported that he was still not happy with Ubuntu's integration of PulseAudio.
某些程式,包括Linux上的舊版的Adobe Flash,在PulseAudio上造成不穩定.幸運的是較新的Flash外掛程式的不引起衝突,因此Flash和PulseAudio的是兼容的。
替代品
ALSA提供一個軟體調音台叫amixer,它是在PulseAudio前開發的。這是幾乎可以在所有的Linux發行版使用的一個簡單的PCM音頻混合的解決方案。但它不提供PulseAudio的高級功能(如高品質的重採樣,聚合裝置,定時的調度和網路音頻)。
JACK是一個提供相比PulseAudio更專業的服務的體系,提供實時和低延時的表現。 和自從JACK2開始支持對稱多處理,使得所有的音頻客戶端能有效平衡負載於多個處理器。音頻客戶端可以彼此之間任意連線。在JACK的所有客戶之間的圖新連線,可以被多種應用程式可視化和編輯,例如Qjackctl。這使得它非常直觀地概述了整體音頻控制流,可以在任何時候修改所有的音頻應用程式和硬體路由。JACK對專業音頻軟體來說是首選的專業音頻套用服務,例如Ardour、Rezound和LinuxSampler。
在OSS V4的聲音系統,如4Front,可提供軟體混音,重採樣和改變對每個應用程式的基礎量,與PulseAudio對比,這些功能是在核心中實現。PulseAudio的還可以與現有的音響系統互操作,包括那些設計成獨占音效卡的程式(OSS V3)。