Pourquoi avez-vous besoin de PulseAudio?

13

Je lis et j'essaie de comprendre pourquoi quelqu'un voudrait utiliser Pulse Audio et je n'arrive pas à comprendre. J'ai lu ce https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it , et je suis toujours ne pas obtenir de réponse convaincante. J'ai une configuration, avec une carte son. (Je n'ai pas besoin de multiplexer des sons depuis ou vers plusieurs cartes son). Je sais que toutes les applications sont écrites avec différentes API, ALSA, OSS, JACK etc. Donc, si je configure tous ces frameworks pour acheminer le son par impulsion audio, quel avantage ai-je, par rapport à permettre à tous ces frameworks de parler directement à la carte son chauffeur? De plus, je ne vois pas que Pulse Audio possède sa propre API d'application. J'ai donc quand même besoin de choisir un framework (comme ALSA). Merci

Michael P
la source
5
D'une part, je sais que j'avais un problème où si programA utilisait la carte son, programB ne pouvait pas l'utiliser jusqu'à ce que programA soit fermé. Même si programA ne l'utilisait plus. Dans mon cas, ce genre de chose a disparu dès que pulseaudio a vu le jour. J'aurais peut-être pu configurer ALSA ou OSS pour permettre également à plusieurs programmes d'accéder à la carte son, mais je n'avais jamais compris comment.
terdon
2
Ils (pulseaudio) pensaient que la solution aux nombreux systèmes audio sur Linux était de créer un autre système audio.
ctrl-d
S'il s'agissait d'un système capable d'émuler les autres ou s'il avait une interface plus simple, c'était la solution. Il semble que cela n'ait pas été réalisé.
schily

Réponses:

17

Il s'agit de multiplexage.

Je n'ai pas besoin de multiplexer les sons de ou vers plusieurs cartes son

Ah, mais toi! Si vous voulez pouvoir lire du son à partir de deux sources à la fois, pour une raison quelconque, vous avez besoin du multiplexage.

OSX et Windows gèrent le multiplexage dans le noyau (mais toujours dans le logiciel), c'est pourquoi cela ne se produit jamais / rarement sur ces plateformes.

Cependant, sous Linux, avec un logiciel comme ALSA, le multiplexage est laissé à la carte son / implémentation / pilote spécifique.

Malheureusement, toutes les cartes et tous les pilotes ne prennent pas cela en charge.

C'est là que PulseAudio intervient, faisant le multiplexage dans le logiciel, quelle que soit la situation de votre carte son / pilote.

Sans cette fonctionnalité, si vous disiez, en utilisant ALSA directement sans-PulseAudio, avec une carte son qui avait une mauvaise prise en charge du multiplexage PCM sous Linux, vous ne pourriez jamais entendre le son d'une seule application à la fois.

Par exemple, si vous aviez une vidéo en cours de lecture dans votre navigateur Web et que vous receviez une notification dans Pidgin, vous n'entendriez pas le son de notification car votre navigateur Web aurait déjà le contrôle de votre carte son.

En acheminant d'abord tous les sons via PulseAudio, ce problème est évité.

Source: Une longue conversation IRC que j'ai eue une fois avec le responsable Ubuntu pour ALSA, où je leur ai posé exactement la même question que vous posez maintenant.

Zee Alexander
la source
5
Merci @Zee! Voilà une bonne réponse! Cependant, j'ai lu ce alsa-project.org/main/index.php/Asoundrc et je vois que je peux obtenir exactement la même chose avec les configurations ALSA, en utilisant des "plugins". Je l'ai testé et j'ai pu jouer plusieurs instances d'un jeu en même temps. Donc ma question demeure, pourquoi ai-je besoin de Pulse Audio, si je peux tout faire avec ALSA :)?
Michael P
5
Hé @MichaelP, heureux de vous aider. La raison pour laquelle PulseAudio est toujours utile est que plusieurs serveurs audio peuvent fonctionner, pas seulement ALSA. Par exemple, si quelqu'un effectue un travail d'édition audio, il utilise souvent le serveur audio JACK pour cela, ce qui est mieux adapté au travail audio à faible latence, mais utilise toujours ALSA pour l'audio général. Cela ne s'applique peut-être pas à vous, mais PulseAudio signifie que vous n'avez pas à vous soucier de la façon dont tout cela fonctionne. Si vous le configurez uniquement pour ALSA, vous devez configurer chaque cas d'utilisation séparément. PulseAudio fonctionne AVEC Alsa et toute autre source audio que vous pourriez utiliser.
Zee Alexander
2
Cela étant dit, PulseAudio peut ne pas être particulièrement utile pour vous en particulier, mais en général, les distributions non-barebones le configurent pour vous dès la sortie de la boîte, il n'y a donc aucune vraie raison de le remplacer par un plugin ALSA. Si vous exécutez une distribution comme Arch où vous devez tout configurer vous-même à partir de zéro, utilisez le plugin ALSA à la place.
Zee Alexander
1
Merci @Zee Alexander, cela règle toute ma confusion. Merci pour la réponse. J'aimerais que PulseAudio l'explique aussi bien sur leur site Web.
Michael P
2

Depuis l'introduction de Dmix dans alsa, pulseaudio s'est avéré inutile. Alsa nue avec Dmix activé d'une manière ou d'une autre profondément (je n'ai rien à définir) fonctionne beaucoup mieux pour moi. Par exemple, il n'y a pas de retard pendant la modification d'un niveau sonore.

Désinstallez simplement pulseaudio si vous utilisez une alsa récente et que vous vous sentez bien.

user4674453
la source
1
Je viens d'avoir ce problème de popping, j'ai désinstallé pulseaudio et maintenant tout sonne bien (la lecture à partir de plusieurs sources fonctionne également très bien). Pilote Alsa 4.4.0-104, utils 1.1.0
klogd
1
WTaF. Alors pourquoi les distributions permettent-elles toujours le démon de multiplexage pulseaudio? Il est laggy, buggy AF et a été le coupable derrière trop de problèmes sonores! Je désactive le démon plutôt que de désinstaller le package entier, car il existe des dépendances avec la configuration ALSA, que le package semble bien faire.
Dominic Cerisano