Problèmes de sons sous Ubuntu

Avant de se lancer dans des diagnostics avancés, assurez-vous de ne pas avoir quitté avec une mise en veille prolongée. Cette fonctionnalité permet en effet de relancer Ubuntu rapidement, mais ne permet pas à Ubuntu d'utiliser le périphérique de sortie audio.

Les applications OSS

Nous avons vu précédemment que certaines applications utilisent encore OSS. Afin de pouvoir exploiter ces programmes, deux possibilités s'offrent à vous :

  1. Vous pouvez décider que lors de l'utilisation de cette application, vous n'avez pas besoin de plusieurs sons. Il faut dans ce cas quitter toutes les applications qui pourraient potentiellement émettre du son. Dans le cas où vous utiliseriez un autre serveur de sons que Dmix il vous faudra également terminer son processus dans le moniteur de système. Enfin vous pourrez lancer votre application OSS.
  2. La deuxième solution est d'utiliser la sur-couche de ALSA qui se nomme aoss. Si ce n'est pas déjà fait installez le paquet alsa-oss.

Afin d'activer alsa-oss il faudra lancer l'application OSS depuis un terminal en ligne de commande comme ceci :

sudo apt-get install alsa-oss

Il est également possible d'éditer directement vos menus pour en modifier la commande.

Aucun son audible

Si GNU/Linux ne détecte pas de carte son, il ne joue JAMAIS le son :!: et affiche TOUJOURS une erreur :!:
Avant toute chose vérifiez vos branchements, ainsi que l'alimentation d'éventuelles enceintes. Veillez aussi à utiliser du matériel en état de marche. Ensuite vérifiez le volume tant au niveau matériel que logiciel.

Il arrive parfois que alsa mixer soit mal configuré lors de l'installation. Il est alors nécessaire de le configurer manuellement. Pour cela taper dans un terminal:

alsamixer

Utilisez les flèches gauche et droite pour naviguer, haut et bas pour augmenter/baisser le son et M pour activer/désactiver le mode silencieux (marqué "MM").

Dans certains cas, la commande M coupe le son et impossible de le remettre autre que par redémarrer la machine, si c'est votre cas : (N'UTILISEZ PAS LA COMMANDE M)

Activation matérielle dans le BIOS

  • Si tout ceci semble en ordre, vérifiez ensuite l'activation de votre carte son dans le BIOS, ainsi que le support de cette dernière par ALSA. Une base de donnée est mise à disposition par ALSA-project ici et .
  • Dans le cas où vous posséderiez un ordinateur portable, il se peut que votre carte son soit reliée à votre modem interne. Allez donc dans le BIOS et vérifiez que l'option Internal modem soit activée.

Linux détecte-il ma carte son ?

  • Votre carte son est-elle détectée par GNU/Linux Ubuntu ? Pour le savoir, vous pouvez utiliser cette commande dans un terminal et trouvez une ligne avec audio comme dans les exemples ci-dessous :

Pour une carte interne (PCI ou intégrée sur la carte mère):

 lspci | grep -i audio 

Pour une carte connecté via usb:

 lsusb | grep -i audio  

Vous obtiendrez par exemple:

00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
ou
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
ou 
00:05.0 Multimedia audio controller: nVidia Corporation nForce Audio Processing Unit (rev a2)
00:06.0 Multimedia audio controller: nVidia Corporation nForce2 AC97 Audio Controler (MCP) (rev a1)
ou
01:09.0 Multimedia audio controller: Ensoniq ES1370 [AudioPCI] (rev 01)

Autre methode

  cat /proc/asound/cards

Et pour avoir le chipset :

  cat /proc/asound/pcm

Dans cet exemple, chaque carte son a bien été détectée et un module du noyau linux la pilote (pas visible sur cette commande ?) → Il faut charger le module avec modprobe.

Réinitialisation de Alsa ou PulseAudio

Dans de très nombreuses situations vous pouvez rencontrer l'impossibilité de jouer 2 sons en même temps, ou alors un grésillement à la place du son. Il suffit de réinitialiser Alsa depuis un terminal par la commande suivante :

sudo /sbin/alsa-utils reset && sudo /sbin/alsa-utils restart
FIXME Pour une version égale ou supérieure à Ubuntu 14.04, après avoir essayé cette commande sans succès (sudo: /sbin/alsa-utils : commande introuvable), j'ai tenté :
sudo /etc/init.d/alsa-utils reset && sudo /etc/init.d/alsa-utils restart 

qui semble avoir fonctionné (j'ai à nouveau du son)

Si on n'arrive vraiment pas à réinitialiser les paramètres par défaut de la carte son, on peut booter sur le CD d'installation d'Ubuntu (mode "essayer ubuntu") et récupérer les fichiers ou dossiers suivants :

  • /etc/modprobe.d/alsa-base.conf
  • /etc/alsa
  • /etc/pulse
  • ~/.pulse

Le son grésille et craque sur un jeu

Si le son craque ou grésille dans un jeu, il est probable que ce jeu utilise SDL. Il faut installer le paquet libsdl1.2-oss. Ceci implique de fermer toutes les applications nécessitant le son, puis de lancer le logiciel.

Pour éliminer ce temps de latence et donner la priorité au son, vous pourrez utiliser un noyau Linux dit temps réel linux-rt. Ubuntu Studio, une variante multimédia d'Ubuntu utilise en standard ce noyau temps réel, mais il est aussi possible de l'installer dans votre Ubuntu.

pas de carte son pas de disque dur ok

Perte soudaine de son suite à une mise à jour

Allez dans le contrôleur de volume → paramètres Vérifier ceci :

Tone :coché

micro +20dB : sans importance sauf si vous avez un microphone.

IEC958 Optical Raw :décoché

"nom de votre carte audio" Output jack :décoché

External amplifier : sans importance sauf si vous avez un amplificateur externe.

Micro qui ne fonctionne plus

Installez pavucontrol puis :

  • Accédez à l'onglet « Périphériques d'entrée »,
  • Cliquez sur l'icône de verrouillage pour déverrouiller les chaînes (le cadenas),
  • Sous « Port », sélectionnez le bon microphone.

Plusieurs cartes son

Procédure testée avec succès sous Trusty.

Vous avez la chance d'avoir plusieurs cartes son (idéal pour mixer comme un dj avec mixxx par exemple), mais problème : la carte principale qui est reconnue et utilisée par Ubuntu n'est pas celle que vous voulez utiliser.
Le problème se pose aussi avec les cartes TV, qui souvent s'identifient comme carte son principale, la vrai carte son passant en 2ème position, donc plus aucun son n'en sort.
Le problème existe aussi pour les ordinateur récents qui proposent une sortie spdif (S/PDIF est une sortie coaxiale numérique qui peut se brancher directement sur un ampli 5.1:-) Pour les sorties numériques avec ALSA voir aussi le lien Configurer une sortie numérique avec ALSA.

Il existe plusieurs solutions, si une ne marche pas, essayez la suivante.

1ère solution

Aller dans Système > Préférences > Son et de choisir la bonne carte.

2ème solution

Depuis un terminal avec les commandes:

  •  cat /proc/asound/modules 

    Cette commande retourne une liste qui ressemble à ceci :

     0 snd_hda_intel
     1 snd_usb_audio

    ou si c'est le même module pour les cartes sons

     0 snd_hda_intel
     1 snd_hda_intel

    Il faut alors obtenir plus d'information pour configurer avec la commande

     cat /proc/asound/cards 

    qui nous retourne alors

     0 [Nvidia         ]: HDA-Intel - HDA NVidia
                          HDA NVidia at 0xfe020000 irq 21
     1 [Creative       ]: HDA-Intel - HDA Creative
                          HDA Creative at 0xfdafc000 irq 16

Si vous souhaitez que la carte son reconnu en 1 prenne la place de la carte son reconnu en 0 pour que votre deuxième carte son deviennent la carte son par défaut, éditez votre fichier de configuration /etc/modprobe.d/alsa-base.conf et changez l"ordre des modules son (ils commencent par snd) afin de mettre la carte favorite en premier, il faut changer par exemple :

install sound-slot-0 modprobe snd-card-0
install sound-slot-1 modprobe snd-card-1

en

install sound-slot-1 modprobe snd-card-0
install sound-slot-0 modprobe snd-card-1

Puis à la fin du fichier, commentez toutes les lignes commençant par options, et rajoutez ces 2 lignes
(remplacez snd-usb-audio et snd-hda-intel par le nom de vos cartes que la commande cat /proc/asound/modules vous a retourné, en veillant à utiliser des - à la place des _ ) :

options snd-usb-audio index=0
options snd-hda-intel index=1

ou

options snd slots=snd-usb-audio,snd-hda-intel

Et si les deux modules sont identiques

options snd-hda-intel id=Creative index=0
options snd-hda-intel id=Nvidia index=1

Puis redémarrez.

Conflit : carte son pci / carte intégrée

Son en local mais pas sur internet

Si après avoir, comme moi, installé bon nombre de codecs et paquets, modifié des fichiers de configuration, fait des recherches un peu partout, etc… il s'avère que vous n'avez toujours pas de son sur les vidéos des sites, une autre solution est possible.
Vérifiez en lançant Firefox depuis un terminal que lors de la lecture d'une vidéo, des lignes (assez nombreuses) de messages d'erreur apparaissent. Du style :

 Alsa lib conf : Unknow PCM...etc...


  1. allez dans le bios et désactivez le chipset/son intégré;
  2. regardez dans votre /home, renommez les fichiers .asoundconf et .asoundrc (ou similaires);
  3. redémarrez votre ordinateur, testez et si ça fonctionne, vous pouvez virer les fichiers ci-dessus.

Changer sa carte son

Si après toutes vos recherches, tests et réglages votre carte son refuse de fonctionner correctement, il est possible pour une somme modique d'installer dans votre ordinateur une nouvelle carte son 100% compatible GNU/Linux sans aucun réglage ;-). Vous pouvez trouver des cartes son d'occasion à partir de 6€ dans les bonnes brocantes informatiques.

Enregistrement de la sortie audio (ce que vous entendez)

Voir ce chapitre sur la page Pavucontrol.

Sinon, il existe un utilitaire dédié Audio-Recorder qui propose quelques automatismes, dont une minuterie et qui ne nécessite aucune configuration pour enregistrer le flux audio de sortie.

Enregistrement avec le microphone

Commencez par vérifier le fonctionnement du microphone : voir enregistrement ou capture.

Le microphone n'est pas dans la liste des entrées son

Veillez à bien brancher le micro sur une fiche micro (usuellement rose) de la bonne carte son et non Line-in (bleue) qui est dédiée au signaux déjà pré-amplifiés.
Avant toute chose, vérifier lors du réglage de la sélection de votre matériel (Paramètres système –> Son –> Matériel) que vous avez bien une sortie (Output) et une entrée (Input) (exemple: Surround analogique 5.1 Outpout + Stéréo analogique Input, et pas seulement Surround analogique 5.1 Output) , auquel cas votre micro ne sera jamais actif.

Au moins deux paramètres doivent activés en mode capture: la ligne Mic et la ligne Capture 1)

Cela peut se faire via kmix ou alsamixer (dans un terminal)

Avec alsamixer,

  1. visualiser les pistes de capture (touche F4)
  2. la mention CAPTUR doit apparaître sous les barres Mic et Capture (touche <espace>)

Avec kmix (GUI)

  1. sélectionner la bonne carte son et l'onglet Entrée/Input
  2. la diode rouge doit être allumée sous Mic et Capture (inutile d'activer les diodes vertes qui vous donnent un retour direct et donc rapidement un larsen)FIXM

FIXME introduire des captures d'écran

Si les réglages ci-dessus ne fonctionnent pas, mettre un petit adaptateur USB entre votre casque et le PC (on en trouve à quelques euros) permet de régler le souci2).

Retours trop faibles (son d'enregistrement trop faible)

Essayez en augmentant le gain du micro : activer le commutateur/switch Mic Boost +20 db (autre label possible mic gain

Le son stéréo marche bien mais pas en 5.1

Depuis la mise à jour de la version 9.04 à la version 9.10 le son fonctionne parfaitement en stéréo mais lorsqu'on le passe en mode 5.1 il fait des "vague" et deviens peu à peu inaudible.

Pas de solution jusqu'à présent

Le son grésille sur une carte son VIA

Lorsque vous lisez un fichier sonore et qu'un horrible grésillement s'y ajoute.

Vous possédez une carte son VIA VT8233, vérifiez-le en tapant :

lsmod|grep snd-via82xx

Si la commande ne renvoie rien, n'allez pas plus loin.

Sinon vous pouvez tenter d'ajouter la ligne suivante au fichier /etc/modprobe.d/alsa-base.conf :

options snd-via82xx index=0 dxs_support=3

Redémarrer votre ordinateur. Si ça ne fonctionne pas, éditez le fichier /etc/asound.conf et ajoutez-y le contenu suivant :

pcm.card0 {
        type hw
        card 0
}
 
pcm.!default {
        type plug
        slave.pcm "dmixer"
}
 
pcm.dmixer {
        type dmix
        ipc_key 1025
        slave {
                pcm "hw:0,0"
                period_time 0
                period_size 1048
                buffer_size 32768
                rate 48000
        }
        bindings {
                0 0
                1 1
        }
}

Saturation et grésillement (bis)

si vous lisez un fichier audio avec Audacious (ou autre) vérifier dans les paramètres / options que vous n'avez pas ajouté un effet audio créant la saturation (grésillement)

Gestion de plusieurs utilisateurs avec Pulseaudio

Lorsqu'on tente de créer plusieurs utilisateurs ayant des droits sur le son, cela ne fonctionne parfois pas. On a ce problème par exemple avec skype, lorsqu'on tente de le lancer dans un "bac à sable" avec un utilisateur dédié. Pour faire en sorte que tous les utilisateurs puisse accéder à pulseaudio, il suffit de suivre ces deux étapes :

  1. Ajouter les utilisateurs devant accéder au son dans le groupe pulse-access :
    sudo adduser <user> pulse-access
  2. décommenter la ligne
    start on

    dans le fichier /etc/init/pulseaudio.conf

Brancher un casque ne coupe pas le son de la sortie haut-parleur

Vous aller devoir intervenir au niveau du serveur de son ALSA, en tapant dans un terminal la commande suivante :

alsamixer

Choisissez votre carte son avec la combinaison de touches FN+F6

Avec les touches fléchées, déplacez-vous sur les curseur jusqu’à trouver Auto-Mute. Basculez jusqu’à Enabled avec les flèches haut et bas.

Plus de son casque sous Windows en cas de dual boot

Sur certaines machines (notamment ASUS) l'installation d'un dual boot Ubuntu Windows coupe le son de la prise casque sous Windows (alors que les hauts parleurs fonctionnent). Et si l'on met Windows en veille, la prise casque fonctionne à nouveau à la sortie de veille. Comme expliqué ici http://social.technet.microsoft.com/Forums/fr-FR/c7108b75-4de6-4ef4-9e43-51254cd19c3c/rsolu-plus-de-son-via-sortie-jack-hauts-parleurs-fonctionnels?forum=win7fr, il faut modifier une ligne du fichier default.pa de pulse audio sous Ubuntu.

Dans la console, ouvrez le fichier default.pa avec les droits administrateur

gksudo gedit /etc/pulse/default.pa

et remplacez la ligne "load-module module-device-restore" par "#load-module module-device-restore"

La ligne de commande désactivée dans default.pa a pour but de garder les paramètres son sur le niveau d'arrêt précédent.

Il suffit ensuite de rebooter sur Windows, lancer votre application son favorite, mettre Windows en veille, sortir de veille pour que la prise casque fonctionne à nouveau comme d'habitude. Mais la différence est que ce réglage restera en mémoire, et donc vous aurez la sortie casque directement active quand vous booterez sur Windows.

Pour choisir la sortie audio voulue la commande "alsamixer" vous permettra de choisir le volume à attribuer à chaque sortie.


Contributeurs : topazz, Trishika, eat your potato, fnx, feanturiP


1)
remarque basée sur un retour d'expérience avec une carte nforce2 (puce Realtek ALC650F), et un micro apparemment inactif
  • son_problemes.txt
  • Dernière modification: Le 24/03/2020, 19:41
  • (modification externe)