Ubuntu utilise à la fois ALSA et Pulseaudio pour contrôler l'entrée et la sortie du son.
ALSA sert de système basé sur le noyau pour connecter votre matériel sonore au système d'exploitation. Toutes les cartes son de votre système seront contrôlées à l'aide de pilotes et de paramètres spécifiques à la carte. La plupart de ces opérations sont effectuées sous le capot, sans que les utilisateurs aient besoin d'intervenir.
En outre, ALSA propose des bibliothèques et des outils pour contrôler notre système de sonorisation. L'outil que la plupart d'entre nous ont peut-être déjà rencontré est la librairie alsamixer
Une application de terminal semi-graphique pour contrôler le volume sonore et l'état de sourdine de toutes les cartes et de tous les profils dans notre système.
Nous pouvons envoyer du son à notre carte son simplement en utilisant ALSA sans avoir besoin de PulseAudio ou de tout autre serveur de son.
En plus de la base ALSA, le serveur de son PulseAudio fournit des outils supplémentaires pour mieux contrôler notre système de son. Ceci est fait avec des modules pour définir les niveaux de volume, les profils de carte audio, les puits de sortie, ou les sources d'entrée, et plus encore pour un accès facile depuis la plupart des applications Ubuntu.
Comme ALSA, PulseAudio est également conçu pour fonctionner avec le moins d'interactions possibles avec l'utilisateur. Chaque fois que nous devons modifier le volume, la balance ou les périphériques d'entrée/sortie, c'est un module ou une application PulseAudio que nous ou notre application appelons.
Une alternative professionnelle à PulseAudio est l'application Serveur audio JACK avec plus d'options pour interagir avec notre matériel sonore et une meilleure prise en charge de la faible latence. Seules quelques applications de production musicale prévoient de faire tourner JACK, ce qui peut être fait en parallèle avec PulseAudio.
Intégration des applications et des postes de travail
Le système sonore d'Ubuntu peut également être contrôlé à partir d'applications exécutées sur le bureau Unity/GNOME, telles qu'une applet de contrôle du volume.
La manière dont une application donnée utilise le contrôle du son dépendra des développeurs de l'application. Certaines applications n'utiliseront que ALSA, d'autres auront besoin de PulseAudio, d'autres encore de JACK.
Par conséquent, lorsque nous installons un autre gestionnaire de bureau au-dessus d'Ubuntu, nous pouvons perdre les applications spécifiques au bureau pour contrôler le son, mais ALSA et PulseAudio fonctionneront toujours en arrière-plan pour le contrôle du son.
Il se peut que nous devions installer des paquets supplémentaires comme par exemple pavucontrol l'application de contrôle de volume pulseaudio basée sur GTK.
Est-ce que ALSA ou PulseAudio fonctionne ?
ALSA et PulseAudio sont tous deux fournis avec des applications en ligne de commande pour imprimer l'état de notre système de sonorisation.
-
PulseAudio :
pactl list
-
ALSA :
aplay -l
Les deux donneront une erreur si le système de son n'est pas en marche. ALSA sera chargé avec le noyau, PulseAudio sera lancé plus tard. Si ce n'était pas le cas, nous pouvons démarrer PulseAudio manuellement depuis le terminal avec :
pulseaudio [options] ## option -D starts the daemon
Au cas où nous aurions des problèmes d'audio, je recommande de lire les post écrit par David Henningsson sur les choses que nous devrions pas faire avant d'aller plus loin pour déboguer notre problème audio .