PulseAudio

Z Wikipedii, wolnej encyklopedii
PulseAudio
Ilustracja
Autor Lennart Poettering, Pierre Ossman, Shahms E. King, Tanu Kaskinen, Colin Guthrie
Pierwsze wydanie 0.1 (17 lipca 2004; ponad 19 lat temu[1])
Aktualna wersja stabilna 17.0
(12 stycznia 2024) [±]
Język programowania C
Platforma sprzętowa ARM, PowerPC, x86 / IA-32, x86-64, i MIPS
System operacyjny GNU/Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Solaris, Microsoft Windows
Rodzaj serwer dźwięku
Licencja GNU Lesser General Public License[2]
Strona internetowa

PulseAudio (dawniej PolypAudio) – serwer dźwięku dostępny na wielu platformach, używany w dystrybucjach Linuksa. Działa również pod kontrolą Microsoft Windows, Mac OS X oraz systemów uniksopodobnych.

Został stworzony w 2004 roku pod nazwą PolypAudio, która w 2006 roku została zmieniona na PulseAudio[3].

Budowa i działanie[edytuj | edytuj kod]

Schemat działania PulseAudio

PulseAudio jest serwerem dźwięku, procesem działającym w tle, który przyjmuje wejście audio z różnych źródeł (procesów lub urządzeń wejściowych) i przekierowującym na inne strumienie (karty dźwiękowe, zdalne serwery PulseAudio, inne procesy).

Jednym z celów PulseAudio jest przekierowywanie przez siebie wszystkich strumieni audio, w tym strumieni procesów, które żądają bezpośredniego dostępu do sprzętu, podobnie jak programy wykorzystujące OSS. W tym celu dostęp programów do PulseAudio zapewnia system powiązań z innymi systemami dźwiękowymi, np. aRts czy ESD.

W typowych przypadkach użytkownik ustawia ALSA do korzystania z wirtualnego urządzenia dostarczanego przez PulseAudio – wyjście ALSA jest kierowane do PulseAudio, które używa ALSA do wyjścia na kartę dźwiękową. PulseAudio zapewnia również natywne interfejsy dla programów, które chcą natywnie obsługiwać ten serwer dźwięku oraz zamienniki dla starych interfejsów, jak ESD w celu zachowania zgodności z nimi.

Dla programów wykorzystujących OSS zapewnia dostęp do wirtualnego urządzenia padsp, które zastępuje pliki urządzeń takie jak /dev/dsp, co pozwala zapewnić takim programom wyłączny dostęp do karty dźwiękowej, chociaż całe wyjście jest kierowane na PulseAudio.

Główne cechy PulseAudio[edytuj | edytuj kod]

  • Regulacja głośności za pośrednictwem aplikacji[4]
  • Zgodność z wieloma popularnymi aplikacjami audio[5]
  • Interfejs wiersza poleceń z możliwością skryptów
  • Możliwość synchronizacji wielu odtwarzanych strumieni
  • Możliwość pracy z niskimi opóźnieniami i wsparciem mierzenia latencji
  • Rdzenna obsługa urządzeń audio komunikujących się za pomocą transmisji Bluetooth
  • Obsługa Apple Airport Express
  • Zmiana konfiguracji urządzeń audio w locie, idealnie sprawująca się z wyjściem S/PDIF
  • Rdzenna obsługa 24-bitowych próbek dźwiękowych.
  • Możliwość konfiguracji serwera dźwięku z poziomu wiersza poleceń
  • Możliwość wykrywania innych komputerów używających PulseAudio w sieci lokalnej i bezpośredniego wysyłania dźwięku na głośniki podłączone do tych komputerów
  • Możliwość łączenie wielu kart dźwiękowych w jedną
  • Wbudowana konwersja częstości próbkowania i jej zmiany
  • Możliwość ustawienia korekty dźwięku w całym systemie

Zastosowanie[edytuj | edytuj kod]

PulseAudio jest używane w nowych wersjach popularnych dystrybucji Linuksa, takich jak Fedora, Ubuntu, Mandriva, openSUSE i OpenWrt[6]. Zwiększa się również wsparcie PulseAudio w interfejsie GNOME. Od wersji 4.5 Plasma Workspaces zostało zintegrowane z PulseAudio, głównie dzięki Colinowi Guthrie przez dodanie obsługi PulseAudio do Phonon i mikserowi dźwięku KMix oraz napisaniu nowego kreatora ustawień głośników w celu ułatwienia konfiguracji głośników wielokanałowych.

PulseAudio jest również używane na urządzeniach przenośnych z Linuksem, takich jak Nokia N900, Nokia N9 oraz Palm Pre[7].

Początki zastosowania[edytuj | edytuj kod]

Kiedy pierwsze dystrybucje Linuksa zaczęły używać PulseAudio, Lennart Poettering scharakteryzował PulseAudio jako „program psujący obsługę dźwięku[8]. O Ubuntu wypowiedział się, że „nie wykonało właściwie swojej pracy” związanej z integracją PulseAudio z systemem[9], co dotyczyło zwłaszcza Ubuntu 8.04 Hardy Heron. Problem ten został rozwiązany wraz z następnymi wydaniami[10]. Jednakże w październiku 2009 Poettering stwierdził, że jeszcze go nie zadowala integracja PulseAudio z Ubuntu[11].

Niektóre programy, takie jak Adobe Flash Plugin dla Linuksa mogły zawiesić PulseAudio[12][13]. Nowsze wersje już nie zawierają komponentów wywołujących konflikty i są zgodne z PulseAudio.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Old release history (Historia starszych wydań).
  2. License. [w:] PulseAudio git [on-line]. freedesktop.org. [dostęp 2011-06-16]. [zarchiwizowane z tego adresu (2010-01-07)].
  3. The Project Formerly Known as Polypaudio. (ang.).
  4. Interviews/LennartPoettering – FedoraProject. FedoraProject. [dostęp 2009-07-03].
  5. Pulse Audio wiki. PulseAudio, 2009-10-18. [dostęp 2009-10-18]. [zarchiwizowane z tego adresu (2009-10-18)].
  6. PulseAudio [OpenWrt Wiki] [online], wiki.openwrt.org [dostęp 2017-11-26] (ang.).
  7. Open source identity: PulseAudio creator Lennart Poettering. [w:] TechWorld [on-line]. 8 October 2009.
  8. LPC: Linux audio: it’s a mess. Lwn.net. [dostęp 2009-07-03]. [zarchiwizowane z tego adresu (2009-10-18)].
  9. Lennart Poettering: PulseAudio FUD. 0pointer.de, 18 lipca 2008. [dostęp 2009-12-30]. (ang.).
  10. HOWTO: PulseAudio Fixes & System-Wide Equalizer Support. Ubuntu Forums, 2008-05-10. [dostęp 2009-10-18]. (ang.).
  11. I’ll Break Your Audio. Lennart Poettering Blog, 19 października 2009. [dostęp 2009-12-26]. (ang.).
  12. No sound after running Flash, YouTube, etc. (pulseaudio solution). Ubuntu Forums. [dostęp 2009-10-18]. (ang.).
  13. PulseAudio – Ubuntu Wiki. Ubuntu Wiki. [dostęp 2009-10-18]. (ang.).