Le son sous Ubuntu
Comment ça fonctionne ?
Ubuntu, comme tous les systèmes GNU/Linux, est constitué de différentes couches logicielles qui ont chacune une fonction propre. Pour gérer le son, GNU/Linux utilise 3 couches :
- le pilote, qui permet au noyau Linux de gérer la ou les cartes son de l'ordinateur. C'est une couche logicielle, invisible pour l'utilisateur, en relation directe avec le matériel.
- le serveur de son, invisible pour l'utilisateur, qui fait l'interface entre le pilote et l'application. Il permet de gérer les différents flux audio créés par les logiciels, entre les entrées (micro, Line In, réseau, …) et les sorties (casque, haut-parleur, réseau, Bluetooth…)
- l'application audio, en relation directe avec l'utilisateur. Il permet de créer un flux audio, dirigé vers le serveur de son. Les plus utilisées sont les lecteurs audio, les lecteurs vidéo, mais elles peuvent aussi servir à l'enregistrement ou à la manipulation des sons.
Juste avant de vous lancer dans ce qui suit, si vous rencontrez un problème sur "Line" ou "Entrée micro" et/ou sur un "jack de sortie" alors que votre carte son est reconnue et activée, alors vous pouvez voir la discussion ici.
Les pilotes
Afin de pouvoir exploiter les cartes son, Ubuntu utilise le pilote ALSA.
ALSA | ALSA (Advanced Linux Sound Architecture) est un ensemble de pilotes pour les cartes son intégrées, PCI et USB. Il a été créé lorsque OSS est passé sous licence propriétaire, afin de toujours avoir une alternative libre. Ce pilote est en constante amélioration et gère un très grand nombre de cartes. De plus il permet la gestion directe de plusieurs sons grâce à un serveur de sons intégré (dmix). En vue de toujours pouvoir utiliser les programmes écrits pour OSS, une sur-couche logicielle a été créée afin de conserver l'usage des applications écrites seulement pour OSS |
OSS4 | OSS4 (Open Sound System v4), est la nouvelle version d'OSS qui est repassé en OpenSource ! Elle supporte de plus un nombre de cartes son aussi conséquent ou presque qu'ALSA et permet une compatibilité à toute épreuve avec les applications anciennes (OSS classique) comme récentes (Alsa/pulseaudio). |
FFADO | FFADO (Free Firewire Audio Drivers), est un projet expérimental qui vise à fournir un pilote unifié pour les cartes son Firewire sous GNU/Linux. C'est le successeur de FreeBob. |
OSS | OSS (Open Sound System), était l'interface de gestion du son largement utilisée sur les anciennes versions de Linux (jusqu'à la version 2.4 du noyau). Ce pilote est de moins en moins utilisé du fait que la version libre n'est plus maintenue et est plutôt archaïque. il est remplacé par OSS4. |
sudo apt-add-repository ppa:ubuntu-audio-dev/alsa-daily sudo apt-get update sudo apt-get install oem-audio-hda-daily-lts-vivid-dkms
Redémarrez et mettez la carte générique en priorité sur les applications que vous souhaitez.
Les serveurs de sons
Un serveur de sons est la couche logicielle qui s'interpose entre le signal audio créé par une application audio et le pilote qui va transmettre le signal audio à la carte son. Le rôle du serveur de son est de mélanger tous les signaux audio provenant des applications afin de n'en envoyer qu'un seul au pilote. Il permet aussi de choisir les entrées (micro, Line In, master, CD,… ) et sorties (casque, haut-parleurs, bluetooth,… ) audio utilisées.
Sous GNU/Linux il existe différents serveurs de sons, à contrario des systèmes propriétaires Windows® et Apple® qui n'ont qu'un seul serveur de sons. Actuellement, Ubuntu utilise Pulseaudio pour toutes les versions et variantes officielles et soutenues.
La plupart des serveurs de sons impliquent un temps de latence (temps de transmission du son) qui peut être gênant dans les usages audio avancés. Ce problème de latence peut être facilement résolu par l'utilisation du noyau temps réel. Pour en savoir plus lisez cette documentation.
Ubuntu avec une installation standard
Lors de l'installation d'Ubuntu, l'installateur détecte votre carte son, installe le pilote audio ALSA, le serveur de son Pulseaudio et une série d'application utilisateurs. L'ensemble est directement opérationnel.
Dans la variante officielle d'Ubuntu Unity, le contrôle de volume installé par défaut "unity-control-center sound" ne prend pas en charge toutes les sources audio de la carte son. Si vous souhaitez enregistrer la sortie audio de votre système (le son de vos haut-parleurs) il vous faudra, avec les droits d'administration, installer le paquet pavucontrol puis utiliser ce dernier.
Lecture
À condition que votre carte son soit supportée et reconnue, la lecture d'un son ne demande pas de configuration particulière. Vous pouvez gérer simplement le son par le contrôleur de volume intégré dans la barre de notification (petit haut-parleur):
- Avec un clic gauche, la puissance du son avec le volume général
- Veillez à ne pas augmenter le volume à plus de 80 % pour préserver un son d'une bonne qualité.
- Si plusieurs lecteurs audio sont en service, vous pouvez régler ceux-ci séparément:
- Depuis le contrôleur de volume d'Unity (accessible depuis les paramètres sonores… du menu du petit haut-parleur ou encore depuis l'entrée "son" des paramètres système), onglet "Application"
- Depuis le contrôleur de volume Pavucontrol, onglet "lecture" et choisir "applications" dans le menu déroulant en bas à droite.
- Certaines cartes son possèdent dans les préférences une option Surround Jack Mode. Il est nécessaire de l'activer et dans l'onglet Options de choisir Independent.
À noter: Certains lecteurs audio comme par exemple ceux des pages internet, possèdent un réglage de volume et parfois un bouton "muet". Vérifier aussi ces deux paramètres.
- la connexion des hauts-parleurs (prise verte),
- l'alimentation électrique de ces derniers et sur certains PC portables,
- la présence d'un bouton potentiomètre de son.
Si l'absence de son ne provient pas de ces problèmes, lisez cette section dédiée aux problèmes de son.
Les applications de lecture
Enregistrement ou capture
Avant toute chose, il faut savoir sur quelle entrée vous allez brancher votre périphérique d'entrée de son. Les cartes son des ordinateurs sont souvent équipées de 2 entrées, une bleue ou verte et une rouge ou rose.
microphone (rose)
l'entrée ligne (bleue)
Les applications d'enregistrement
- gnome-sound-recorder: enregistre l'entrée audio sélectionnée.
- audio-recorder, enregistre l'entrée audio sélectionnée ou la sortie du système audio sans configuration spéciale à faire.
- audacity: Très complet, enregistre mais aussi permet de créer des montages audio avec de nombreux effets.
- mhwaveedit: Éditeur de son aussi performant qu'Audacity mais plus léger.
Enregistrement d'un périphérique audio
(À noter: Un microphone incorporé sera normalement reconnu et présent dans le contrôleur de volume)
- Connectez un périphérique émetteur de son;
- Sur l'entrée ligne (prise jack bleue) pour un signal amplifié (lecteur K7 par exemple)
- Sur l'entrée micro (prise jack rose) pour un signal brut (microphone par exemple)
- En Bluetooth après l'avoir appairé pour un périphérique de capture Bluetooth (casque-micro Bluetooth par exemple)
- Allumez-le;
- Lancez une application d'enregistrement:
- Ouvrez le contrôleur de volume et dans l'onglet "Entrée", choisissez le périphérique.
(À noter: les périphériques apparaissent une fois connectés).
4.1. Ou si vous utilisez le contrôleur de volume "Pavucontrol": → onglet "Périphérique d'entrée", puis dans les listes déroulantes:- Port: Choisissez l'entrée;
- Afficher: choisissez "All except monitor"
(Sur certaines cartes, il vous faudra aussi activer Enregistrement, (parfois le seul disponible).
- Modifiez la puissance du signal (volume d'entrée) à souhait. (Il est possible de dépasser 100% en cochant la case prévue à cet effet).
Si la ou les barres de défilement s'agitent, cela indique qu'il y a bien un signal sonore; - Dans l'application de capture, lancer l'enregistrement (en général, un bouton rouge).
Enregistrement de la sortie audio
(Lors de la 1ère utilisation)
Lorsque vous voulez capturer un flux audio en continu (streaming), il peut être pratique d'enregistrer tout simplement la sortie audio (ce qui sort de vos hauts-parleurs). Mais dans Pulseaudio la sortie audio pour le retour en entrée "Monitor" n'est pas configurée par défaut pour l'enregistrement. Pour ce faire:
- Si ce n'est pas déjà fait, installer le paquet du contrôleur de volume pavucontrol;
- Démarrer un flux audio (une vidéo, une webradio/webTV,…);
- Ouvrir Pavucontrol ainsi que l'application de capture et démarrer l'enregistrement;
- Dans l'onglet "Enregistrement" apparaît alors:
- capture de →
Built-in Audio interne Stéréo Analogique
Le modifier en: - capture de →
Monitor of Built-in Audio interne Stéréo Analogique
(Exemple de nom pour une carte son générique, il peut être différent pour d'autres cartes)
Si la barre de défilement s'agite cela indique que le signal audio s'enregistre , l'enregistrement de la sortie audio de l'ordinateur est maintenant configurée. Cela n'est plus à faire les fois suivantes, il suffira seulement de lancer l'application de capture et démarrer l'enregistrement.
Il ne reste plus qu'à régler les différents curseurs de volume de l'application lecture, du contrôleur de volume et de l'application de capture pour obtenir une qualité correcte.
En cas de difficultés, voir le chapitre "Enregistrement" dans la page Problèmes de sons sous Ubuntu.
Les réglages de base à vérifier
Dans le contrôleur de volume Pavucontrol:
- Onglet Enregistrement - > Afficher - > tout les flux (all streams)
- Onglet Périphériques de sortie → Afficher → all output devices
- Onglet Périphériques d'entrée → Afficher → all input devices (Ou bien uniquement Monitor pour éviter d'avoir en plus les sons provenant d'un éventuel microphone incorporé)
- Onglet Configuration → Audio Interne → profil → Duplex stéréo analogique
N'oubliez pas non plus de vérifier le niveau sonore du lecteur audio de l'application "source".
Et aussi
- Certaines cartes son possèdent dans les préférences une option Surround Jack Mode. Il est nécessaire de l'activer et dans l'onglet Options de choisir Independent.
- Si après toutes les vérifications (branchements, configurations, etc.) l'enregistrement ne fonctionne toujours pas ou n'est pas disponible, consultez la section dédiée aux problèmes de son.
Réglages en ligne de commande
Il est tout à fait possible des configurer les cartes son depuis un terminal avec les outils utilisables en ligne de commande.
- alsamixer: une sorte d'interface graphique dans un terminal pour contrôler les volumes du pilote de la carte son ALSA (Pour une interface purement graphique, installer le paquet gnome-alsamixer).
- amixer: pour contrôler les volumes,
- aplay: pour gérer la lecture,
- arecord: pour gérer l’enregistrement.
Activer l'entrée son (line in)
Si vous souhaitez activer l'entrée son de votre carte son (Line-in, entrée son amplifiée), par exemple pour brancher la sortie audio d'une console de jeu, d'un lecteur de K7 audio, etc. sur votre ordinateur.
- Taper dans un terminal:
alsamixer
- Repérer la colonne intitulée <Line>
- Utilisez les flèches gauches et droites pour naviguer, haut et bas pour augmenter/baisser le son et M pour activer/désactiver le mode silencieux/mute (marqué "MM").
Solution alternative
Pour vérifier l'état on ou off de l'entrée ligne, dans amixer:
- Tapez dans un terminal:
amixer
- Repérez la partie correspondante à 'Line', ici désactivée:
Simple mixer control 'Line',0 Capabilities: pvolume pswitch penum Playback channels: Front Left - Front Right Limits: Playback 0 - 31 Mono: Front Left: Playback 25 [81%] [3.00dB] [off] Front Right: Playback 13 [42%] [-15.00dB] [off]
Pour réactiver l'entrée ligne, entrez la commande suivante:
amixer -c 0 set Line 80% unmute capture
Note : Le 0 correspond au chiffre à la fin de la ligne "Simple mixer control 'Line'"
Définir l'entrée ou/et la sortie audio au démarrage
On peut configurer les entrées/sorties par défaut1):
Pour la sortie audio:
$ pactl list short sink … 2 alsa_output.pci-0000_00_1f.3.analog-stereo … $ pactl set-default-sink 2 # ou $ pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo'
fonctionne bien (on peut le voir si on ouvre la fenêtre sur les paramètres audio)
idemn pour l'entrée en utilisant source au lieu de sink
L'ajout au début du fichier ~/.profile pour que ce soit vrai à chaque démarrage:
pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo'
Utilisations avancées
Cette section vous regroupe les informations importantes si vous envisagez un usage audio avancé ou professionnel.
Reconnaissance de titre de musique
- Midomi.com est un site web permettant de reconnaître la musique. Il s'utilise avec un navigateur internet classique.
Édition des tags (métadonnées)
- Liste des taggueurs audios : Page dédiée aux applications permettant de gérer les métadonnées des fichiers audio.
Filtrage bruit clic
- gramofile
- gwc
Éditeurs audio
- flacon : Flacon extrait individuellement les pistes d'un gros fichier audio contenant l'album entier et les sauvegarde en fichiers audio distincts.
- mp3splt : Permet de découper (crop) des mp3 et des ogg sans perte (lossless) car il ne décompresse pas le fichier pour le recompresser. Il supporte le découpage automatique des zone de silence.
- mp3wrap : Permet de concaténer des mp3 sans perte (lossless) car il ne décompresse pas le fichier pour le recompresser.
- mp3gain: MP3Gain est une application de normalisation sans perte du volume des musiques dans un dossier ou fichier par fichier.
- Voir la page sur la MAO
Applications d'extraction de CD
- abcde (en ligne de commande)
À noter: La plupart des lecteurs audio disponibles pour Ubuntu (par exemple Rhythmbox installé par défaut) sont aptes à extraire des CD audio.
Voir aussi
- sox - logiciel de traitement de son en ligne de commande
- wiki non officiel d'alsa - plein d'exemple pour configurer .asoundrc
- Lecture et encodage de fichiers audio : Page dédiée aux applications permettant la lecture et l'extraction de CD audios , ainsi que leur conversion dans un autre format audio.
- Radio : tout pour écouter la radio avec Ubuntu
Pages sur le sujet
Contributeurs : toy, cyberdf, Id2ndR, L.Bellegarde, Judibet.