{{tag>portail multimédia}}
{{ https://raw.githubusercontent.com/ubuntu/yaru/refs/heads/master/icons/Yaru/256x256%402x/devices/audio-speakers.png?140|Icône audio}}
====== Le son sous Ubuntu ======
===== Comment ça fonctionne ? ======
Ubuntu, comme tous les systèmes [[wpfr>GNU/Linux]], est constitué de différentes couches logicielles qui ont chacune une fonction propre. Pour gérer le son, Ubuntu utilise 3 couches :
* l'**[[#applications_audio|application audio]]** : en relation directe avec l'utilisateur, elle permet de créer un flux audio (encore virtuel), dirigé vers le serveur de son. Les applications courantes sont les [[:lecteur_audio|lecteurs audio]], les [[:lecture_et_encodage_de_fichiers_videos#lecture_de_fichier_video|lecteurs vidéo]] ou les [[:navigateur|navigateurs web]], mais certaines peuvent aussi servir à l'[[#enregistrement]] ou à la manipulation des sons (voir la //[[:MAO|Musique Assistée par Ordinateur]]//).
* le **[[#les serveurs de sons|serveur de son]]** fait l'interface entre le pilote et l'application. Il permet d'uniformiser, mélanger, gérer, et acheminer 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...). Il s'agit désormais de [[:PipeWire]].
* le **[[#les pilotes|pilote]]**, qui permet au [[wpfr>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. Sur Ubuntu il s'agit de ALSA.
Pour une explication didactique en français, n'hésitez pas à consulter [[https://youtu.be/lTv2jJDcPns|cette vidéo]]. À noter toutefois que [[:PipeWire]] est désormais aussi performant que [[:jackd|JACK]] (depuis la sortie de la version 1), et qu'il est lui-même un //daemon//, donc pour WirePlumber on parle plutôt de //[[:pipewire#gestionnaire de session]]//.
==== Les pilotes ====
Afin de pouvoir exploiter les cartes son, Ubuntu utilise le [[wpfr>Pilote_informatique|pilote]] **[[https://www.alsa-project.org/main/index.php/Main_Page|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)// supporte un nombre de cartes son presque aussi conséquent qu'%%ALSA%% mais il n'a plus beaucoup d'intérêt comparé à ALSA qui l'a remplacé.|
|**[[https://www.ffado.org/|FFADO]]**|**%%FFADO%%** //(Free Firewire Audio Drivers)//, est un projet visant à fournir un pilote unifié pour les cartes son Firewire sous %%GNU%%/Linux. C'est le successeur de FreeBob. Il est désormais directement intégré à ALSA, donc n'a plus de [[:paquet]] propre.|
|**%%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%%.|
==== Les serveurs de sons ====
Il existe différents serveurs de sons. Sur Ubuntu, **[[:PipeWire]]** est le serveur de son installé par défaut à partir de la version [[:kinetic|Kinetic 22.10]]. On trouve **[[:Pulseaudio]]** sur les [[:versions]] précédentes.
Un **serveur de sons** relaye les signaux audio entre les **[[#applications audio]]** et le **[[#pilote]]** qui permet à la carte son de fonctionner. Pour la lecture, le rôle du serveur de son est par exemple de normaliser et mélanger tous les signaux audio provenant des applications afin de n'envoyer qu'un signal unifié au pilote (dans un format qu'accepte la carte son), sans quoi seule une application à la fois pourrait utiliser le système son (et dans une résolution particulière).
Il permet aussi de configurer la manière dont le système gère l'audio en général, donc par exemple de choisir les entrées (entrée microphone, entrée ligne, micro de //webcam//, ... ) et sorties audio (casque, haut-parleurs, [[:bluetooth]], ... ) qu'on souhaite utiliser.\\
Ainsi sur les versions récentes d'Ubuntu, la section //Son// de [[:gnome-control-center|GNOME Paramètres]] permet en coulisse de configurer certains paramètres de [[:PipeWire]].
Pour la lecture audio ordinaire le signal suit donc ce chemin :\\
| Applications -> PipeWire (serveur de son) -> ALSA (pilote audio) -> carte son -> hauts parleurs |
Le traitement numérique du son implique un **temps de latence** (c'est le délai de transmission du son) qui peut être gênant pour certains usages audio avancés ([[:MAO]], temps réel). Ce retard audio peut être minimisé en [[:mao#optimisation_audio|optimisant les réglages]] du serveur de son et éventuellement par l'utilisation d'un [[:linux-lowlatency|noyau pour faible latence]].\\
À l'inverse, [[:mao#optimisation_audio|mal réglé]], le système peut entraîner des craquements et des hachures dans le rendu audio.
==== Ubuntu avec une installation standard ====
Lors de l'installation d'Ubuntu, l'installateur détecte votre carte son, installe le pilote audio **[[https://www.alsa-project.org/main/index.php/Main_Page|ALSA]]**, le serveur de son **[[:PipeWire]]** et une série d'applications utilisateur. L'ensemble est directement opérationnel.
===== Lecture =====
À condition que votre carte son soit supportée et reconnue, la **lecture** d'un son ne demande pas de configuration particulière.
L'application **[[:Rhythmbox]]** est installée par défaut sur Ubuntu, mais vous pouvez utiliser n'importes quelles autres applications de votre choix pour lire de la musique ou autre contenu audio. Voir la page concernant les [[:lecteur_audio|lecteurs audio]].
==== Contrôle du volume ====
{{:gnome-usage:gnome_system_menu.png?300|Menu système GNOME}}
Vous pouvez régler simplement le volume sonore grâce au [[:gnome-shell#le menu systéme|menu systéme]] de GNOME, accessible depuis la barre de notification (plusieurs icônes dont un petit haut-parleur), avec un clic gauche sur la première barre de volume, à droite d'une icône casque ou haut-parleur, pour le volume de lecture.\\
Les touches multimédia de certains claviers agissent aussi directement sur ce volume précis.
Si plusieurs lecteurs audio sont en service, vous pouvez régler les volumes de ceux-ci individuellement :
* depuis les [[:gnome-control-center|paramètres système]] de [[:GNOME]], entrée //Son// -> //Niveaux de volume//
* depuis l'application de mixage [[:Pavucontrol]], onglet //lecture// et choisir //applications// dans le menu déroulant en bas à droite.
La plupart des lecteurs audio, ainsi que ceux des navigateurs web, possèdent un réglage de volume propre et parfois un bouton //muet// (//mute// en anglais). Vérifier aussi ces paramètres en cas de problème.
===== Enregistrement ou capture =====
Les cartes son des ordinateurs sont souvent équipées de **2 entrées**, une **bleue ou verte** et une **rouge ou rose**.
L'entrée microphone est faite pour les signaux bruts. Microphones non-amplifiés, platines tourne-disques vinyles, instruments de musique non amplifiés,...
L'entrée ligne est faite pour les signaux pré-amplifiés. Baladeurs, platine de lecture amplifiée (CD, magnétophone,...) instruments de musique amplifiés,...
Dans certains cas, en particulier sur les ordinateurs portables il n'y a plus qu'une prise jack qui fait a la fois micro et casque (à l'aide d'un mini-jack à 4 contacts((mini-jack TRRS : //tip// - //ring// - //ring// - //sleeve//))).
On peut aussi utiliser un périphérique USB, carte son externe, webcam, ou microphone USB pour enregistrer un signal externe, ou un appareil audio [[:Bluetooth]].
==== Enregistrement d'un périphérique audio ====
Un microphone lié à la webcam est normalement reconnu et présent dans le contrôleur de volume d'un ordinateur portable.
{{:captures:gnome-control-center_audio.png?750|Paramètres système - Son}}
Pour enregistrer depuis un microphone externe ou un appareil audio :
- Connecter l'appareil
* à l'aide d'un câble mini-jack, en utilisant la carte son intégrée à votre ordinateur
* sur l'entrée ligne (prise jack souvent bleue) pour un signal amplifié (lecteur K7 par exemple)
* sur l'entrée micro (prise jack souvent rose) pour un signal faible (microphone dynamique par exemple)
* ou en USB (microphone USB ou webcam par exemple)
* ou en [[:Bluetooth]] le cas échéant, en [[:bluetooth#appairage|appairant]] le périphérique de capture (casque-micro Bluetooth par exemple)
- Lancer une [[#enregistrement|application d'enregistrement]].
- Ouvrir les [[:gnome-control-center|paramètres système]], entrée //Son//, et choisissez votre //Périphérique d'entrée// (voir ci-dessus).
- Modifier le //Volume d'entrée// en le réglant au maximum avant saturation (reconnaissable à un son distordu, ou un vumètre rouge dans l'application d'enregistrement).
- Dans l'application de capture, lancer l'enregistrement (en général, un bouton rouge -- //rec.// ou //record// en anglais).
Si vous ne voyez pas apparaître votre entrée dans la liste des périphériques d'enregistrement, essayez de débrancher et rebrancher votre appareil. Les cartes sons récentes détectent le branchement d'une prise jack et le système peut n'afficher une entrée qu'une fois connectée.\\
\\
Si votre interface audio n'est toujours pas visible, elle n'est peut-être pas reconnue par le système. Voir les //[[#Problèmes courants]]//.
==== Enregistrement de la sortie audio ====
Ce chapitre ne concerne pas les versions les plus récentes d'Ubuntu, qui utilisent [[:PipeWire]].
//(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, [[:tutoriel:comment_installer_un_paquet|installer le paquet]] du contrôleur de volume **[[apt>pavucontrol]]**;
- Démarrer un flux audio (une vidéo, une webradio/webTV,...);
- Ouvrir **Pavucontrol** ainsi que l'[[#les_applications_d_enregistrement|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 8-), 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'[[:audio#les_applications_d_enregistrement|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 [[:son_problemes#enregistrements|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".
* 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 [[:son_problemes|section dédiée aux problèmes de son]].
===== Réglages en ligne de commande =====
En plus des interfaces graphiques, il est possible de configurer les cartes son depuis un [[:terminal]] avec les outils utilisables en [[:commande_shell|ligne de commande]]. En plus des commandes propres à PipeWire qui sont documentée sur [[:pipewire#utilisation_basique_en_ligne_de_commande|leur page]], voici des commandes propres à ALSA :
* **alsamixer** : une [[:terminal#une_sorte_d_interface_graphique_dans_le_terminal|sorte d'interface graphique dans un terminal]] pour contrôler les volumes du pilote de la carte son ALSA (Pour une interface purement graphique, [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>gnome-alsamixer]]**((gnome-alsamixer n'est plus disponible dans les dépôts officiels depuis [[Focal]]))).
* **amixer** : pour contrôler les volumes,
* **aplay** : pour gérer la lecture,
* **arecord** : pour gérer l’enregistrement.
==== Activer l'entrée audio (line in) ====
Il est possible (peut-être après avoir suivi un tutoriel obsolète ?) que certaines entrées ou sortie soit désactivées au niveau d'ASLA.
Si vous souhaitez activer l'entrée audio de votre carte son (//line in//, entrée audio pour appareil amplifié), par exemple pour y brancher la sortie audio d'une console de jeu, d'un lecteur de K7 audio, etc. :
- Taper dans un [[:terminal]]: alsamixer
- Repérer la colonne intitulée ''''
- 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_shell|commande]] suivante :amixer -c 0 set Line 80% unmute capture
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 ====
Voir le chapitre //[[:pipewire#changer_la_sortie_son_avec_un_script|Changer la sortie son avec un script]]// sur la page consacrée à PipeWire.
===== Applications audio =====
==== Lecteurs ====
[[:Lecteur audio|La page listant tous les lecteurs audio, musicaux disponibles sur Ubuntu]].
==== Enregistrement ====
* [[:gnome-sound-recorder|gnome-sound-recorder]]: enregistre l'entrée audio sélectionnée.
* [[:audio-recorder|audio-recorder]], enregistre l'entrée audio sélectionnée ou la sortie du système audio sans configuration spéciale à faire.
* [[:audacity|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.
==== Conversion d'un format à un autre ====
Il est possible de convertir des fichiers audio d'un format (//codec// et conteneur) à un autre.
Divers logiciels existent :
* **[[handbrake|Handbrake]]** : un convertisseur très populaires, puissant et libre, plus connu comme convertisseur vidéo, mais qui traite sans problème les fichiers audio. Multiplate-forme.
* **Fre:ac** - un [[https://ubunlog.com/fr/freac-un-excellent-convertisseur-audio-multiplateforme/|excellent convertisseur audio multiplate-forme]], libre, avec une interface un peu vieillotte mais simple, et très puissant. Pas disponible dans les dépôts (en 2024), mais installable via [[:Flatpak]] (si celui-ci est activé sur votre Ubuntu) : ''flatpak install freac''.
* **[[:SoundConverter]]** une petite application gnome pour vos conversions audio.
* **[[:Soundkonverter]]**. Malgré un nom similaire, c'est bien un logiciel différent du précédent. Un [[https://korben.info/soundkonverter-pour-convertir-nimporte-quel-format-de-fichiers-audio-sous-linux.html|article le concernant]].
* **FormatLab** – [[https://korben.info/formatlab-pour-convertir-tous-les-formats-audio-video-sous-linux.html|Pour convertir tous les formats audio / vidéo sous Linux]]. Pas dans les dépôts, mais peut s'installer en [[:Flatpak]] (''flatpak install formatlab'') ou en [[:snap]] (**snap install formatlab**).
==== Reconnaissance de titre de musique ====
* [[https://github.com/marin-m/SongRec|SongRec]] est un client Shazam open source pour Linux, écrit en Rust.
* [[https://www.midomi.com/|Midomi.com]] est un site web permettant de reconnaître la musique. Il s'utilise avec un navigateur internet classique.
* [[https://github.com/SeaDve/Mousai|Mousai]]((https://packages.ubuntu.com/search?suite=default§ion=all&arch=any&keywords=+Mousai&searchon=names))
==== Édition des tags (métadonnées) ====
* [[:liste_taggueurs_audio|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
* [[:Audacity]]
==== Éditeurs audio ====
Voir le chapitre //[[:mao#Édition audio, mixage, enregistrement]]// sur la page concernant la MAO.
* [[:audacity]] : l'éditeur audio le plus populaire, puissant et libre.
* [[: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.
* [[http://mp3wrap.sourceforge.net/|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.
==== Extraction de CD ====
* [[:Sound-Juicer]]
* [[:Asunder]]
* [[:RipperX]]
* [[:Grip]]
* [[:Xcfa]]
* [[:abcde]] (en ligne de commande)
La plupart des [[:lecteur_audio|lecteurs audio]] disponibles pour Ubuntu (par exemple [[:rhythmbox?encoder_un_cd_audio|Rhythmbox]] installé par défaut) sont aptes à extraire des CD audio.
===== Problèmes courants =====
Voir les problèmes courants sur les pages //[[:son_problemes|Problèmes de sons sous Ubuntu]]// et //[[:pipewire#problemes_courants|PipeWire]]//.
La documentation [[https://support.system76.com/articles/audio/|Pop!_OS]], malheureusement en anglais, est aussi très à jour, et reste adaptée à Ubuntu.
==== Pas de son ====
Si vous n'avez pas de son alors que l'interface audio semble détectée, vérifiez avant tout :
* la **connexion des hauts-parleurs** (prise verte),
* l'**alimentation électrique** de ces derniers,
* la présence d'un **bouton** potentiomètre de son.
Plus généralement, n'hésitez pas à connecter un autre appareil avec une sortie jack (comme un smartphone) pour vous assurer que le problème ne vient pas du système son.
Si l'absence de son ne provient pas de ce matériel mais effectivement de votre ordinateur, suivez les liens ci-dessus.
===== Voir aussi =====
* [[:midi]]
* [[:buzzer|Bips système]]
* [[:multimédia]]
* [[:son_cartes_son]]
* [[:mao|MAO (musique assistée par ordinateur)]]
* [[:sox]] - logiciel de traitement de son en ligne de commande
* [[:son_problemes|Problèmes de son]]
* **(en)**[[https://www.alsa-project.org/main/index.php/Main_Page|Site officiel du pilote ALSA]]
* **(en)** [[http://wiki.hydrogenaudio.org |Base de connaissance HydrogenAudio]]
* [[https://alsa.opensrc.org/Main_Page|wiki non officiel d'alsa]] - plein d'exemple pour configurer .asoundrc
* [[:lecture_et_encodage_de_fichiers_audio| 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
* [[:Baladeur]]
==== Pages sur le sujet ====
{{topic>audio}}
----
// Contributeurs : [[:utilisateurs:toy]], [[:utilisateurs:cyberdf]], [[:utilisateurs:Id2ndR]], [[:utilisateurs:bellegarde|L.Bellegarde]], [[:utilisateurs:Judibet]], [[:utilisateurs:krodelabestiole]]. //