PulseAudio

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
PulseAudio
PulseAudio logo
開發者Lennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie
當前版本
  • 17.0 (2024年1月12日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫 編輯維基數據鏈接
編程語言C[2]
操作系統跨平台
類型音效伺服器英語Sound server
許可協議GNU寬通用公共許可證 2.1[3]
網站www.freedesktop.org/wiki/Software/PulseAudio/

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

PulseAudio主要運行於POSIX兼容系統(如Linux和FreeBSD)。PulseAudio是自由軟件,基於GNU寬通用公共許可證 (LGPL)2.1協議[3]

該項目創建於2004年,當時的名稱叫Polypaudio,但在2006年更名為PulseAudio[4]

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

描述[編輯]

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[8]
  • 可擴展的插件與支持可裝載模塊架構
  • 兼容性許多流行的音頻應用程序[9]
  • 支持多重音源和多重輸出
  • 低延時操作[來源請求]和支持延遲測量
  • 一個對處理器資源效率零拷貝內存架構
  • 能夠發現本地網絡上使用PulseAudio的其他計算機並通過其揚聲器直接播放聲音
  • 能夠改變一個應用程序的聲音輸出設備,就算這個應用程序在播放聲音(程序不需要支持這特性,而事實上,程序甚至沒有意識到改變)
  • 帶有腳本功能的命令行界面
  • 一個功能完善且帶有命令行重新配置功能的守護進程
  • 內置採樣轉換和重採樣功能
  • 能夠合併多塊聲卡成一個聲卡
  • 能夠同步播放多個音頻流
  • 動態檢測藍牙音頻設備
  • 使全系統均衡的能力

使用[編輯]

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

PulseAudio已經被多款基於Linux的移動電話設備當作聲音系統,包括Nokia N900Palm Pre.[10]

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

某些程序,包括Linux上的舊版的Adobe Flash,在PulseAudio上造成不穩定.[15][16]幸運的是較新的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目前處理的用例[17]

參見[編輯]

注釋[編輯]

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

外部連結[編輯]