web-dev-qa-db-fra.com

Comment se rapportent Alsa et Pullethaio?

Tout en essayant de obtenir mon son de travail , je me demandais des rôles d'Alsa et de Pullethaio. J'ai tous deux installé et je me demandais, par exemple, lequel d'entre eux doit savoir sur ma carte son.

Les deux semblent être capables de pouvoir s'en utiliser, il y a un plug-in PulseAudio pour ALSA, et sur mon système, ALSA apparaît comme une carte son dans PULSAUIO.

Lequel des deux fait quoi, sont-ils des alternatives ou complémentaires?

33
Hanno Fietz

Alsa est le mélangeur de son de niveau du noyau, il gère votre carte sonore directement. Alsa en soi ne peut gérer qu'une seule application à la fois. Bien sûr, il y a '- DMIX ', qui a été écrit pour résoudre ce problème. (C'est un module alsa.)

Pulseaudio est un mélangeur de logiciel, au-dessus de la zone user (comme si vous exécutez une application). Lorsqu'il est exécuté, il utilise ALSA - sans DMIX - et gère tous les types de mélange, les appareils, les périphériques de réseau, tout ce qui lui-même.

En 2014, vous pouvez toujours exécuter seulement ALSA. Mais à moins que vous ne compilez vos applications pour vous-même et activez la prise en charge de l'ALSA partout ou utilisez une distribution de source comme Gentoo - vous pourriez obtenir des problèmes de mélange. Les applications pré-compilées que les distributeurs expédiés sont généralement construites avec le soutien de Pulseaudio, pas de Pure ALSA. Ubuntu par exemple préfère Pullevéo. Il est livré avec Pullethaio par défaut, chaque application est donc compilée pour seulement utiliser PulseAudio.

Pulseaudio a ses avantages. Les gens disent qu'il est bon de travailler avec de l'audio à travers un réseau, et cela résout des problèmes avec des flux audio multicanaux qui s'est passé sous Pure ALSA. Il est également supposément plus facile de développer des applications pour PA. Sur l'utilisateur final des choses, il est facile de sélectionner de nouveaux périphériques, de contrôler le volume par application, etc.

Cependant, dans la configuration par défaut, il ajoute une quantité non négligeable de latence dans le mélange. Ceci est un grand con pour certains types de tâches nécessitant une faible latence comme certains jeux et logiciels.

L'OSS est une alternative à ces deux, mais elle n'est pas autorisée sous la GPL, ce qui permet de ne pas voir beaucoup d'adoption par des distributions.

Illustration :
Systèmes sonores pulsés typiques, comme Ubuntu:
[.____] Kernel: ALSA -> TLLANG: PASSAUDIO -> APP1, APP2, APP3
[.____] Dans le système de Linux typique, Pulleudio mélange de l'audio de toutes vos applications différentes et les nourrit de la chaîne vers ALSA.

Alsa:
Noyau: alsa -> DMIX -> Terre Userland: App1, App2, App3
[.____] avec juste Pure ALSA, vous avez besoin de DMIX pour mélanger plusieurs applications. Sans cela, ALSA ne peut lire qu'un flux audio d'une application à la fois.

Oss:
Noyau: OSS -> Terre: App1, App2, App3
[.____] avec OSS, les applications Useland parlent directement à OSS dans le noyau, qui mélange les flux lui-même.

Donc, pour résumer, dans votre système typique de nos jours, ALSA parle directement à vos cartes son, et Pulseaudio parle à vos applications et à vos programmes et nourrit cela dans ALSA.

36
Apache