PulseAudio 是一個用於Linux和其他類UNIX操作系統的開源網絡聲音服務器。它是從頭開始設計的,為用戶提供舊ESOUND(Enlightened Sound Daemon)的可靠替代品。
它是一個模塊化的聲音服務器
作為任何計算環境中非常重要的一部分,聲音服務器主要用於多個音頻流的軟件混合,通用硬件和聲音API抽象,以及網絡透明性。它是一個模塊化聲音服務器,包含許多插件模塊,用於支持聲音協議,聲音設備,X Window系統,藍牙,JACK連接,RTP,SAP和SDP傳輸,音量控制,濾波器以及各種協議。
可擴展的插件架構
即使其插件架構是可擴展的,它還支持靜態鏈接和模塊自動加載,多個源或接收器,客戶端延遲插值,可接受的低延遲功能以及樣本類型重新採樣和轉換。對於錄音和回放,該項目提供非常準確的延遲測量。它可以輕鬆嵌入到其他程序中,具有“零拷貝”架構和簡單的命令行界面,允許有經驗的用戶在守護進程運行時設置守護進程。
在引擎蓋下
在幕後,PulseAudio包括一個完全異步的C API(應用程序編程接口),兩個同步API和幾個網絡音頻流選項。聲音服務器可用於輕鬆混合多個聲卡並同時同步多個播放流。一些開源項目提供對PulseAudio聲音服務器的支持,例如ALSA,LiVES,MPD,MPlayer,xine,VLC Media Player和SXEmacs。
支持任何現代發行 Linux
目前,任何現代Linux發行版以及FreeBSD,NetBSD,Solaris,Mac OS X和Microsoft Windows(Win32)操作系統都支持PluseAudio。它也是眾多知名Linux操作系統的默認聲音服務器,可以通過PulseAudio音量控制和PulseAudio首選項圖形應用程序輕鬆配置。
這是什麼新內容 :
- 12.1的tarball包含一個損壞的配置腳本(在啟用gsettings時構建失敗),所以不要使用它!使用PulseAudio 12.2,它更好!除了使用工作配置腳本和更新的NEWS文件的重新生成的tarball之外,沒有任何更改。
版本11.1中的新功能:
- 使用A2DP藍牙配置文件獲得更好的延遲報告(以及更好的A / V同步)
- 為AirPlay設備提供更準確的延遲報告
- 修復了英特爾HDMI LPE的崩潰或CPU使用率高的問題
- module-switch-on-connect現在忽略虛擬設備
- 使用passthrough進行壓縮音頻時,請設置“非音頻”。位
- 優先考慮通過S / PDIF輸出的HDMI輸出
- HSP支持更多藍牙耳機
- 默認選擇A2DP藍牙配置文件而不是HSP
- 新“sink_input_properties” module-ladspa-sink的模塊參數
- 新“use_system_clock_for_timing” module-pipe-sink的模塊參數
- module-pipe-sink現在可以使用現有管道
- Steelseries Arctis 7 USB耳機立體聲輸出支持
- Dell Thunderbolt Dock TB16揚聲器插孔支持
- 修復了某些USB聲卡的數字輸入支持
- 修復了Native Instruments Traktor Audio 6 detection
- 能夠在macOS上禁用輸入或輸出
- 新“dereverb” Speex迴聲消除器的選項
- 新模塊:module-always-source
- 系統模式下所有用戶無法讀取的狀態文件
- module-augment-properties現在使用XDG_DATA_DIRS查找.desktop文件
- Vala綁定的更新
- 現在可以避免GConf依賴
- qpaeq許可證從AGPL更改為LGPL
- qpaeq移植到Qt 5
- 與glibc 2.27的兼容性
- 如果禁用esound支持,則不再安裝esdcompat工具
版本中的新功能:
- 自動路由改進
- 波束成形和WebRTC迴聲消除器中的各種其他新功能
- 模塊角色軟木和模塊角色扮演的各種改進
- 默認情況下禁用LFE重新混音
- memfd支持的共享內存傳輸
- 支持高達384 kHz的採樣率
- webrtc-audio-processing依賴最小版本碰到了0.2
- 將C標準從C99更改為C11。
8.0版中的新功能:
- 自動路由更有可能更改個人資料
- OS X和NetBSD支持改進
- 客戶的系統日記記錄
- 新LFE平衡編程界面
- 模塊 - dbus協議改進
- 更靈活的配置文件處理
- pulsecore-8.0.so移動到私人目錄
- 衡量內存消耗的新腳本
- 各種錯誤修復和小改進
7.1版中的新功能:
- 使用srbchannel時修復崩潰
- 修復導致符號鏈接出現在 中的構建系統錯誤
- 讓Xonar卡更好用
- 其他小錯誤修復和改進
版本7.0中的新功能:
- 使用低通濾波的LFE通道合成
- 基於新的基於libsoxr的重新採樣器
- TCP的套接字激活支持
- “srbchannel”默認情況下啟用IPC機制
- 使用UCM時更靈活的插孔檢測支持
- 因SIGTERM而退出不被視為失敗
- 更好地支持Creative SoundBlaster Omni Surround 5.1
6.0版中的新功能:
- BlueZ 5本機HSP(耳機)支持
- 通過oFono 支持BlueZ 5 HFP(免提)配置文件
- systemd套接字激活支持
- 更好地支持多渠道和2.1個人資料
- 重新映射優化
- 許多小改進,錯誤修復和i18n更新
版本4.0中的新功能:
- 更好地處理低延遲請求
- 混音時的優化(通用,ARM NEON)
- 默認重新採樣器現在是speex-float-1(CPU使用率較低)
- 主要的藍牙重構,更好的可靠性和更輕鬆的維護
- 修復與JACK的優雅交接
- 基於流角色應用閃避的新模塊
- 迴聲消除器基礎架構修復
- 命令行工具的Bash和zsh完成
- Solaris和OS X修復
- 許多其他增強功能,錯誤修復,文檔和i18n更新
3.0版中的新功能:
- ALSA用例管理器(UCM)支持:
- 台式機和筆記本電腦上的音頻硬件通常足以讓PulseAudio使用一組通用配置文件進行處理。例如情況不同手機和平板電腦。實際上所有這些設備都需要單獨的配置文件來描述硬件,以便PulseAudio可以正確使用硬件的所有基本功能。配置可以作為PulseAudio配置文件提供,但ALSA人員一直致力於一個允許應用程序(如PulseAudio)使用硬件而無需在應用程序中進行任何額外配置的系統。該系統稱為UCM,PulseAudio現在支持它。
- 運行時可編輯LADSPA過濾器參數:
- LADSPA模塊現在公開了一個基本的D-Bus接口,用於動態更改過濾器參數。以前,加載過濾器後無法更改參數。
- 對藍牙資源的開箱即用支持:
- PulseAudio可用於藍牙耳機,例如將筆記本電腦連接到手機並假裝筆記本電腦是耳機。在這種情況下,通常需要將音頻從手機環回到筆記本電腦的聲卡。現在由module-bluetooth-policy自動完成,默認加載。但是,用戶確實需要在其BlueZ配置中啟用Source支持。
- ARM NEON優化:
- 使用ARM NEON指令為S16LE和浮點格式之間的樣本格式轉換添加了優化。在編譯時(基於FPU標誌)以及運行時(基於/ proc / cpuinfo)檢測對這些的支持。作為這項工作的一部分,為未來增加更多NEON優化奠定了基礎。
- 可配置設備延遲偏移:
- 準確的延遲報告對於例如“唇同步”在視頻播放中。 PulseAudio依靠音頻硬件提供有關音頻延遲的準確信息。如果由於某種原因該信息不准確,現在可以配置一個偏移量來應用於每個延遲報告,這要歸功於Damir Jelic的Google Summer of Code工作。例如,如果您正在觀看視頻並且使用藍牙耳機進行音頻輸出,則唇形同步可能有點偏差,因為PulseAudio目前沒有適當的支持來查詢藍牙設備的延遲。使用即將推出的pavucontrol版本,您將能夠通過調整藍牙耳機的延遲偏移來解決同步問題。
- 遵守XDG基本目錄規範:
- 配置文件的位置已從〜/ .pulse移動到〜/ .config / pulse(或者如果設置了$ XDG_CONFIG_HOME,則使用該位置)。但是,如果存在〜/ .pulse,它仍將被使用,以便在更新PulseAudio時不會丟失用戶配置。身份驗證cookie也已從〜/ .pulse-cookie移至〜/ .config / pulse / cookie。
- 運行時文件的位置(即不需要在重新啟動時保留的文件,例如套接字)已從/ tmp下的隨機目錄移動到$ XDG_RUNTIME_DIR / pulse。如果未設置$ XDG_RUNTIME_DIR,舊方案仍將用作後備。
- 各種ALSA變更:
- 2.0中的回歸,可能導致某些機器沒有“揚聲器”或“內部麥克風”或當與Linux 3.6或更高版本一起使用時,端口大多已固定在3.0中。此外,舊內核的解決方法適用於某些最常見的計算機。
- Pierre-Louis Bossart通過原子方式查詢大量ALSA時序參數,引入了一項改進措施,以提高時間戳查詢的準確性,從而提高基於計時器的時間安排。
- 我們已將圖標名稱屬性添加到ALSA端口,這可以幫助UI製造商顯示更好的每端口圖標。
- 此外,還有一些其他更改,例如刪除麻煩的lfe-on-mono端口,以及添加更多混音器控件名稱以更好地與內核保持同步。
- 自動測試的改進:
- Deng Zhengrong改進了PulseAudio的自動測試支持,作為他的Google Summer of Code工作的一部分。這些改進包括支持使用gcov進行測試覆蓋率報告,更改現有測試以使用“檢查”功能。框架,並且可以在運行正常守護程序的同時啟動PulseAudio守護程序以進行測試。
- 按名稱卸載模塊:
- pactl和pacmd現在支持按名稱卸載模塊。以前卸載只能通過模塊索引來完成,這有點不方便,因為通常你不知道索引而不以某種方式首先查找它。
- 記錄改進:
- 除了自動測試改進之外,GSoC學生鄧還在PulseAudio的測井設施上工作。現在可以使用set-log-target命令使用pacmd更改正在運行的守護程序的日誌目標。此外,還添加了新的日誌目標類型:“newfile”。 “新文件” target就像舊的“文件”一樣。目標,區別在於,如果給定的文件名已經存在,則不會覆蓋該文件,而是創建帶有編號後綴的新文件。
- 藍牙代碼重構:
- 藍牙模塊已經進行了大量的重構工作,為即將推出的BlueZ 5支持做準備,並使代碼更加愉快。這些不是用戶直接看到的變化,但我們想藉此機會感謝Mikel Astiz,感謝他所做的出色工作。
- 後續步驟:
- 開發一如既往地繼續發展,4.0發布的目標是在4月份發布(到目前為止,我們還沒有很好地維持4個月的發布週期,所以請稍等一下)。 PulseConf 2012的報告提供了一些關於接下來會發生什麼的線索。
版本2.0中的新功能:
- 替代採樣率
- 傑克檢測
- 迴聲消除:WebRTC消除器,自動增益控制,漂移補償
- 虛擬環繞聲模塊
- Xen半虛擬化音頻接收器
- 修正了HURD支持
- A2DP解碼器質量改進
版本0.9.17中的新功能:
- Lennart Poettering(13):
- libpulse:添加新的錯誤代碼PA_ERR_BUSY
- alsa:正確轉換樣本緩衝區大小
- alsa:正確報告暫停錯誤代碼
- i18n:將ja添加到LINGUAS
- i18n:運行make update-po
- build-sys:增加庫版本
- doxygen:刪除對pacat.c和paplay.c的引用作為例子,因為tehy沒有用,因為paplay不再存在
- doxygen:將rtclock.h添加到文檔li>
- doxygen:不要將doxygen與虛假混淆..
- proplist:定義存儲窗口位置的屬性
- position-event-sounds:設置榮譽窗口位置,垂直和水平放置
- 核心:添加在重新採樣後應用的額外音量因子
- position-event-sounds:在重新採樣之後而不是重新採樣之前應用音量因子
- amitakhya(1):
- 為阿薩姆語發送翻譯
- anipeter(1):
- 發送馬拉雅拉姆語翻譯
- hyuuga(1):
- 發送po / ja.po 的翻譯
- ifelix(1):
- 發送泰米爾語翻譯
- jassy(1):
- 為旁遮普語發送翻譯
- kkrothap(1):
- Sending translation for Telugu
- rajesh (1):
- Sending translation for Hindi
- runab (1):
- Sending translation for Bengali (India)
- sandeeps (1):
- Sending translation for Marathi
- swkothar (1):
- Sending translation for Gujarati
- warrink (1):
- Sending translation for Dutch
評論沒有發現