PulseAudio

類Unix作業系統的音訊伺服器

PulseAudio(以前叫Polypaudio)是一個跨平台的、可通過網路工作的聲音服務,其一般使用於LinuxFreeBSD作業系統。它可以用來作為一種簡易改進的Enlightened Sound Daemon(ESD)替換。

PulseAudio
PulseAudio logo
開發者Lennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie
目前版本16.1(2022年6月22日,​2年前​(2022-06-22
預覽版本15.99.1(2022年2月21日,​2年前​(2022-02-21
原始碼庫 編輯維基數據鏈結
程式語言C[1]
作業系統跨平台
類型音效伺服器英語Sound server
授權條款GNU較寬鬆公共許可證 2.1[2]
網站www.freedesktop.org/wiki/Software/PulseAudio/

PulseAudio主要執行於POSIX相容系統(如Linux和FreeBSD)。PulseAudio是自由軟體,基於GNU較寬鬆公共許可證 (LGPL)2.1協定[2]

該專案建立於2004年,當時的名稱叫Polypaudio,但在2006年更名為PulseAudio[3]

PulseAudio與新出現的PipeWire競爭,後者提供了一個相容PulseAudio的服務組件(稱為pipewire-pulse),PipeWire現在被許多Linux發行版預設採用以替換PulseAudio,包括Fedora LinuxUbuntuDebian[4][5][6]

描述

編輯
 
PulseAudio operational flow chart

PulseAudio是一個聲音伺服器,一個後台行程從一個或多個音源(行程或輸入裝置)接受聲音輸入 然後重新導向聲音到一個或多個槽(音效卡,遠端網路PulseAudio服務,或其他行程)。

PulseAudio的一個目的通過它是重新導向所有聲音流,包括那些試圖訪問硬體的行程(像那些遺留的基於OSS的軟體)。PulseAudio通過提供配接器給那些使用不同的聲音系統,像aRtsESounD

在Linux下的典型方案,使用者提供組態ALSA來使用PulseAudio提供的虛擬裝置。儘管應用使用ALSA會將輸出的聲音輸出到PulseAudio,然後PulseAudio會使用ALSA它自己來訪問真正的音效卡. PulseAudio同樣提供它自己的介面給應用程式,用來直接支援PulseAudio,就像那些遺留的基於ESD的軟體,這樣使得PulseAudio適合作為ESD的替代品。

對於OSS的軟體, PulseAudio提供padsp工具,用來代替硬體資料夾像/dev/dsp,欺騙應用程式,使程式以為它們有音效卡的完全控制權。在事實上,它們的輸出被PulseAudio重新導向。

特點

編輯

PulseAudio的主要特點包括:

  • 可對每一個應用程式進行音量控制Per-application volume controls[7]
  • 可延伸的外掛程式與支援可裝載模組架構
  • 相容性許多流行的音訊應用程式[8]
  • 支援多重音源和多重輸出
  • 低延時操作[來源請求]和支援延遲測量
  • 一個對處理器資源效率零拷貝主記憶體架構
  • 能夠發現本地網路上使用PulseAudio的其他電腦並通過其揚聲器直接播放聲音
  • 能夠改變一個應用程式的聲音輸出裝置,就算這個應用程式在播放聲音(程式不需要支援這特性,而事實上,程式甚至沒有意識到改變)
  • 帶有指令碼功能的命令列介面
  • 一個功能完善且帶有命令列重新組態功能的守護行程
  • 內建採樣轉換和重採樣功能
  • 能夠合併多塊音效卡成一個音效卡
  • 能夠同步播放多個音訊流
  • 動態檢測藍牙音訊裝置
  • 使全系統均衡的能力

使用

編輯

PulseAudio被幾個主要Linux發行版使用,例如FedoraUbuntuMandrivaLinux MintopenSUSEOpenWRTGNOME專案中還有越來越多的對Pulseaudio的支援。

PulseAudio已經被多款基於Linux的行動電話裝置當作聲音系統,包括Nokia N900Palm Pre.[9]

當PulseAudio第一次公開發布時, PulseAudio開發者Lennart Poettering描述它為"the software that currently breaks your audio".[10] Poettering later claimed that "Ubuntu didn't exactly do a stellar job. They didn't do their homework" in adopting PulseAudio[11] for Ubuntu "Hardy Heron" (8.04), a problem which was then improved with subsequent Ubuntu releases.[12] However, on October 2009, Poettering reported that he was still not happy with Ubuntu's integration of PulseAudio.[13]

某些程式,包括Linux上的舊版的Adobe Flash,在PulseAudio上造成不穩定.[14][15]幸運的是較新的Flash外掛程式的不引起衝突,因此Flash和PulseAudio的是相容的。

替代品

編輯

ALSA提供一個軟體調音台叫dmix,它是在PulseAudio前開發的。這是幾乎可以在所有的Linux發行版使用的一個簡單的PCM音訊混合的解決方案。但它不提供PulseAudio的進階功能(如高品質的重採樣,聚合裝置,定時的排程和網路音訊)。

JACK是一個提供相比PulseAudio更專業的服務的體系,提供即時和低延時的表現。 和自從JACK2開始支援對稱多處理,使得所有的音訊客戶端能有效平衡負載於多個處理器。音訊客戶端可以彼此之間任意連接。在JACK的所有客戶之間的圖新連接,可以被多種應用程式視覺化和編輯,例如Qjackctl。這使得它非常直觀地概述了整體音訊控制流,可以在任何時候修改所有的音訊應用程式和硬體路由。JACK對專業音訊軟體來說是首選的專業音訊應用服務,例如ArdourRezoundLinuxSampler

在OSS V4的聲音系統,如4Front,可提供軟體混音,重採樣和改變對每個應用程式的基礎量,與PulseAudio對比,這些功能是在核心中實現。PulseAudio的還可以與現有的音響系統互操作,包括那些設計成獨占音效卡的程式(OSS V3)

PipeWire是一款同時處理音訊和影片的多媒體框架,旨在支援PulseAudio和Jack目前處理的用例[16]

參見

編輯

注釋

編輯
  1. ^ Ohloh Analysis Summary - PulseAudio. Ohloh. [2009-10-18]. (原始內容存檔於2009-10-18). 
  2. ^ 2.0 2.1 LICENSE. Pulseaudio git. [14 May 2010]. (原始內容存檔於2010年1月7日). 
  3. ^ The Project Formerly Known as Polypaudio. [2023-10-25]. (原始內容存檔於2023-09-30). 
  4. ^ Changes/DefaultPipeWire. [2023-10-25]. (原始內容存檔於2020-11-22). 
  5. ^ Ubuntu 22.10 Makes PipeWire Default for Audio. OMG! Ubuntu. [2023-10-25]. (原始內容存檔於2022-05-22). 
  6. ^ Debian 12 Switches To PipeWire & WirePlumber By Default With The GNOME Desktop. phoronix. [2023-10-25]. (原始內容存檔於2022-10-01). 
  7. ^ Interviews/LennartPoettering - FedoraProject. FedoraProject. [2009-07-03]. (原始內容存檔於2009-10-18). 
  8. ^ Pulse Audio wiki. PulseAudio. [2009-07-19]. (原始內容存檔於2009-10-18). 
  9. ^ Open source identity: PulseAudio creator Lennart Poettering, TechWorld, 8 October 2009 [2010-11-10], (原始內容存檔於2011-04-06) .
  10. ^ LPC: Linux audio: it's a mess. Lwn.net. [2009-07-03]. (原始內容存檔於2009-10-18). 
  11. ^ Lennart Poettering. PulseAudio FUD. 0pointer.de. 18 July 2008 [2009-12-30]. (原始內容存檔於2009-10-18). 
  12. ^ HOWTO: PulseAudio Fixes & System-Wide Equalizer Support. Ubuntu Forums. 2008-05-10 [2009-10-18]. (原始內容存檔於2009-10-18). 
  13. ^ I'll Break Your Audio. Lennart Poettering Blog. 19 October 2009 [26 December 2009]. (原始內容存檔於2009-10-22). 
  14. ^ No sound after running Flash, YouTube, etc. (pulseaudio solution). Ubuntu Forums. [2009-10-18]. (原始內容存檔於2009-10-18). 
  15. ^ PulseAudio - Ubuntu Wiki. Ubuntu Wiki. [2009-10-18]. (原始內容存檔於2009-10-18). 
  16. ^ On the Road to Fedora Workstation 31. [2023-10-25]. (原始內容存檔於2023-09-30). 

外部連結

編輯