Dlaczego potrzebujesz PulseAudio?


14

Czytam i próbuję zrozumieć, dlaczego ktokolwiek miałby chcieć korzystać z Pulse Audio i nie rozumiem. Przeczytałem ten https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it i nadal jestem nie uzyskać przekonującej odpowiedzi. Mam konfigurację z jedną kartą dźwiękową. (Nie muszę multipleksować dźwięków z kilku kart dźwiękowych). Wiem, że wszystkie aplikacje są napisane przy użyciu różnych interfejsów API, ALSA, OSS, JACK itp. Więc jeśli skonfiguruję wszystkie te frameworki, aby kierować dźwięk przez dźwięk pulsacyjny, jakie korzyści mam, w porównaniu do umożliwienia wszystkim tym frameworkom rozmawiania bezpośrednio z kartą dźwiękową kierowca? Ponadto nie widzę, aby Pulse Audio miało własne API aplikacji. Więc i tak muszę wybrać framework (jak ALSA). Dzięki


5
Po pierwsze wiem, że miałem problem, gdy program A używał karty dźwiękowej, program B nie mógł jej użyć, dopóki program A nie został zamknięty. Nawet jeśli program A już go nie używał. W moim przypadku coś takiego zniknęło, gdy tylko powstało pulseaudio. Być może mógłbym skonfigurować ALSA lub OSS tak, aby umożliwiały także dostęp wielu programów do karty dźwiękowej, ale nigdy nie wymyśliłem, jak to zrobić.
terdon

2
Myśleli (pulseaudio), że rozwiązaniem wielu systemów audio na Linuksie jest stworzenie kolejnego systemu audio.
ctrl-d

Jeśli był to system, który mógł emulować inne lub miałby prostszy interfejs, byłby to rozwiązanie. Wygląda na to, że tego nie osiągnięto.
schily

Odpowiedzi:


16

Chodzi o multipleksowanie.

Nie muszę multipleksować dźwięków z lub na kilka kart dźwiękowych

Ach, ale ty tak! Jeśli chcesz móc odtwarzać dźwięk z dwóch źródeł jednocześnie, z dowolnego powodu, potrzebujesz multipleksowania.

OSX i Windows obsługują multipleksowanie w jądrze (ale nadal w oprogramowaniu), dlatego nigdy / rzadko pojawia się na tych platformach.

Jednak w systemie Linux, z oprogramowaniem takim jak ALSA, multipleksowanie należy do konkretnej karty dźwiękowej / implementacji / sterownika.

Niestety nie wszystkie karty i wszystkie sterowniki obsługują to po wyjęciu z pudełka.

W tym momencie pojawia się PulseAudio, wykonujące multipleksowanie w oprogramowaniu, niezależnie od karty dźwiękowej / sterownika.

Bez tej funkcji, gdyby ktoś powiedział, używając ALSA bezpośrednio bez sans-PulseAudio, z kartą dźwiękową, która miała słabą obsługę multipleksowania PCM w Linuksie, można usłyszeć dźwięk tylko z jednej aplikacji na raz.

Np. Jeśli miałeś wideo odtwarzane w przeglądarce internetowej i otrzymałeś powiadomienie w Pidgin, nie usłyszysz dźwięku powiadomienia, ponieważ Twoja przeglądarka internetowa ma już kontrolę nad kartą dźwiękową.

Problem ten można uniknąć, kierując najpierw cały dźwięk przez PulseAudio.

Źródło: Długa rozmowa IRC, którą kiedyś miałem z opiekunem Ubuntu dla ALSA, gdzie zadałem im dokładnie to samo pytanie, które zadajesz teraz.


5
Dzięki @Zee! To dobra odpowiedź! Jednak czytam ten alsa-project.org/main/index.php/Asoundrc i widzę, że mogę osiągnąć dokładnie to samo z konfiguracjami ALSA, używając „wtyczek”. Przetestowałem to i byłem w stanie odtworzyć wiele instancji gry w tym samym czasie. Moje pytanie wciąż pozostaje, dlaczego potrzebuję Pulse Audio, skoro mogę to wszystko zrobić z ALSA :)?
Michael P,

5
Cześć @MichaelP, chętnie pomogę. Powodem, dla którego PulseAudio jest nadal użyteczny, jest to, że możesz mieć uruchomionych wiele serwerów audio, nie tylko ALSA. Na przykład, jeśli ktoś wykonuje prace związane z edycją dźwięku, często używa do tego serwera audio JACK, który lepiej nadaje się do pracy z niskim opóźnieniem, ale nadal używa ALSA do ogólnego dźwięku. To może nie dotyczyć ciebie, ale PulseAudio oznacza, że ​​nie musisz się martwić, jak to wszystko działa. Jeśli skonfigurujesz go tylko dla ALSA, będziesz musiał skonfigurować każdy przypadek użycia osobno. PulseAudio współpracuje z Alsa i każdym innym źródłem audio, którego możesz użyć.
Zee Alexander,

2
To powiedziawszy, PulseAudio może nie być specjalnie dla ciebie szczególnie przydatne, ale ogólnie dystrybucje nie-barebone konfigurują go dla ciebie po wyjęciu z pudełka, więc nie ma prawdziwego powodu, aby zastąpić go wtyczką ALSA. Jeśli prowadzisz dystrybucję, taką jak Arch, w której musisz wszystko skonfigurować od zera, za wszelką cenę użyj zamiast tego wtyczki ALSA.
Zee Alexander,

1
Dzięki @Zee Alexander, to rozwiązuje wszystkie moje zamieszanie. Dziękuję za Twoją odpowiedź. Chciałbym, żeby PulseAudio tak dobrze to wytłumaczył na swojej stronie internetowej.
Michael P

4

Od wprowadzenia dmix w alsa, PulseAudio okazał się bezużyteczny. Naga alsa z Dmixem w jakiś sposób włączonym głęboko w środku (nie muszę niczego ustawiać) działa dla mnie znacznie lepiej. Na przykład nie ma opóźnień podczas zmiany poziomu dźwięku.

Po prostu odinstaluj pulseaudio, jeśli używasz najnowszej alsy i czujesz się dobrze.


2
Właśnie pojawił się ten problem, odinstalowałem pulseaudio i teraz wszystko brzmi dobrze (gra z wielu źródeł również działa świetnie). Sterownik Alsa 4.4.0-104, wersja 1.1.0
klogd

2
WTaF. Dlaczego więc dystrybucje nadal włączają demona multipleksowania pulseaudio? Jest to opóźniony, wadliwy autofokus i był przyczyną zbyt wielu problemów dźwiękowych! Wyłączam demona zamiast odinstalowuję cały pakiet, ponieważ istnieją zależności z konfiguracją ALSA, co wydaje się, że pakiet dobrze sobie radzi.
Dominic Cerisano

0

Ty nie. Jest to oprogramowanie pośrednie, które dla większości użytkowników jest całkowicie niepotrzebne. Większość aplikacji, które potrzebują dźwięku, może bezpośrednio korzystać z ALSA. ALSA doskonale radzi sobie z podstawowymi multipleksacjami (chociaż może potrzebować wtyczki). W moim systemie nie mam zainstalowanego pulseaudio i mogę grać w gry wideo i odtwarzać muzykę w tle z Rhythmbox, bez problemu. Działa od razu po wyjęciu z pudełka z ALSA, nie wymaga skomplikowanej konfiguracji.

Polecam każdemu, kto ma jakiekolwiek problemy związane z dźwiękiem: pierwszą rzeczą do wypróbowania jest oderwanie pulseaudio. Ostatnio sam miałem problemy z dźwiękiem, wyjąłem je i natychmiast zniknęły.

Tbh, trudno wymyślić przypadek, w którym ktoś naprawdę potrzebowałby pulseaudio. Dla „typowego” użytkownika systemu domowego, który chce, aby dźwięk współpracował z aplikacjami komputerowymi, sam ALSA jest całkowicie odpowiedni. Dla bardziej zaawansowanego użytkownika, który chce wykonywać bardziej złożone zadania audio lub kogoś, kto potrzebuje profesjonalnej jakości dźwięku, JACK jest wyraźnie tym, czego chcesz. Puls, imo, wydaje się raczej nadęty i zbędny.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.