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 cet OS rapidement, mais ne permet pas à Ubuntu d'utiliser le périphérique de sortie audio.
Nous avons vu précédemment que certaines applications utilisent encore OSS. Afin de pouvoir exploiter ces programmes, deux possibilités s'offrent à vous :
Afin d'activer alsa-oss il faudra lancer l'application OSS 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.
Tentez en installant la dernière version des pilotes ALSA.
Installez le paquet linux-backports-modules-headers-precise-generic
Installez le paquet linux-backports-modules-headers-quantal-generic
(Réglage des cartes sons sur carte Intel) Pour éviter le claquement des haut-parleurs avant le premier son et en cours d'utilisation, il faut désactiver la temporisation de mise hors service de la carte son.
éditez le fichier /etc/modprobe.d/alsa-base.conf et changez cette ligne :
options snd-hda-intel power_save=10 power_save_controller=N
par celle-ci (ou ajouter la si elle n'existe pas) :
options snd-hda-intel power_save=0 power_save_controller=N
Sauvegarder puis redémarrer le PC
éditez le fichier /etc/pulse/default.pa et commentez la ligne (ajouter # en début de ligne):
#load-module module-suspend-on-idle
Cette ligne suspend le serveur de son lorsque celui-ci n'est pas utilisé depuis un certain temps, ce qui génère un claquement des haut-parleurs lorsque celui-ci est ré-activé (lecture d'un son ou démarrage d'un programme utilisant le son par exemple).
Ne pas oublier de sauvegarder, puis de tuer et re-démarrer le démon:
pulseaudio -k pulseaudio -D
Copier le fichier /etc/pulse/default.pa dans le dossier caché $HOME/.pulse/ et ajouter ces 2 lignes à la fin de ce fichier :
set-sink-volume 0 0xb333 set-sink-mute 0 no
À adapter le cas échéant : le 1er 0 après les noms des variables désigne le périphérique par défaut et la valeur - en hexa - après 0x vaut 70% du contrôle mixer (10000 = 100%)
Au démarrage suivant, le son devrait être à 70%
Si ça ne marche pas, remplacer le 0 désignant le périphérique par sa “définition” complète telle que vue par pulseaudio (exemple : alsa_output.pci_10de_7fc_sound_card_0_alsa_playback_0 ).
On peut vérifier le résultat en tapant dans un terminal :
pacmd "dump"|grep set-sink
ce qui renvoie une réponse du type :
set-sink-volume alsa_output.pci_10de_7fc_sound_card_0_alsa_playback_0 0xb333 set-sink-mute alsa_output.pci_10de_7fc_sound_card_0_alsa_playback_0 no
(Source)
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 gauches et droites 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)
Pour une carte interne (PCI ou intégrée sur la carte mère):
lspci | grep -i udio
Pour une carte connecté via usb:
lsusb | grep -i udio
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)
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.
groups
dans un terminal et vérifiez que audio apparait bien dans la liste des groupes auquel appartient l'utilisateur. Dans le cas contraire, rajouter l'utilisateur à ce groupe :
sudo adduser $USER audio
Attention ! Si vous utilisez PulseAudio, les utilisateurs ne doivent pas être dans le groupe audio ! Donc il ne faut surtout pas appliquer cette consigne (sinon on peut avoir un son haché dans certaines applications, des absences de son lors du changement rapide de session utilisateur…). Voir ici ou la documentation PulseAudio qui explique cela.
sudo /etc/init.d/alsa-utils reset sudo /etc/init.d/alsa-utils restart
sudo /sbin/alsa-utils reset & sudo /sbin/alsa-utils restart
/etc/modprobe.d/alsa-base.conf /etc/alsa /etc/pulse ~/.pulse
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.
Installer le dépôt et le paquet suivant comme préconisé ici (en anglais) peut résoudre votre problème :
Ensuite redémarrez.
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 :coché
External amplifier : sans importance sauf si vous avez un amplificateur externe.
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.
Aller dans Système > Préférences > Son et de choisir la bonne carte.
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_usb_audio 2 snd_hda_intel 3 snd_hda_intel
Il faut alors obtenir plus d'information pour configurer avec la commande
cat /proc/asound/cards
qui nous retourne alors
0 [Generic ]: HDA-Intel - HD-Audio Generic HD-Audio Generic at 0xfe200000 irq 16 1 [C170 ]: USB-Audio - Webcam C170 Webcam C170 at usb-0000:00:12.2-1, high speed 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xfe080000 irq 19 3 [Creative ]: HDA-Intel - HDA Creative HDA Creative at 0xfe100000 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 defaut, éditez votre fichier de configuration
gksudo gedit /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 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 options snd-hda-intel id=Generic index=2 options snd-usb-audio index=3
Puis redémarrez.
Cette solution fonctionne dans de nombreux cas.
Dans un terminal taper :
asoundconf list
Cette commande sert à lister les cartes son reconnues par la bibliothèque audio ALSA (Advanced Linux Sound Architecture).
Toujours dans le terminal taper ensuite la commande asoundconf set-default-card suivie du nom de la carte son qu'on veut utiliser tel qu'il a précédemment été renvoyé par la commande asoundconf list.
Exemple avec une carte son Soundblaster Audigy 2 qu'on souhaite définir par défaut :
asoundconf set-default-card Audigy2
Au redémarrage, c'est normalement la bonne carte son qui sera systématiquement utilisée par défaut et cela devrait persister lors des futurs redémarrages.
Son en local mais pas sur internet
Si après avoir, comme moi, installé bon nombre de codecs et paquets, modifié des fichiers de config, fait des recherches un peu partout, etc… il s'avère que vous n'avez toujours pas de son sur les videos des sites, une autre solution est possible. Vérifiez en lançant Firefox depuis un terminal que lors de la lecture d'une video, des lignes (assez nombreuses) de messages d'erreur apparaissent. Du style :
Alsa lib conf : Unknow PCM...etc...
- allez dans le bios et désactivez le chipset/son intégré
- regardez dans votre /home, renommez les fichiers .asoundconf et .asoundrc (ou similaires)
- redémarrez votre pc, testez et si ça fonctionne vous pouvez virer les fichiers ci-dessus
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.
Référence carte son | Ordinateur type tour | Ordinateur portable |
---|---|---|
carte son Terratec auréon 5.1 PCI | 19 euros environ | - |
carte son Terratec auréon 5.1 USB MK2 | 49 euros environ | 49 euros environ |
Il existe au moins deux utilitaires dédiés :
Méthode avec Audacity (cf. ce post)
* installer audacity
* installer alsa-oss
* installer pavucontrol
* lancer audacity en mode oss (ALT+F2, “aoss audacity”, entrer)
* Dans Audacity, allez dans préférences > E/S Audio. Choisir Alsa: Défault pour le périphérique de lecture, comme pour le périphérique d'enregistrement.
* lancer pavucontrol (ALT+F2, “pavucontrol”, entrer)
* Allez à l'onglet enregistrement (qui est normalement vide).
* Après ça, lancer audacity.
* Cliquer sur Enregistrer.
* Maintenant dans pavucontrol est apparu audacity. Là, il suffit de choisir de cliquer sur la petite flêche vers le bas (a droite), allez sur déplacez le flux. Et choisir “Monitor of …. (chez moi exemple : Monitor of HDA Intel).
Commencez par vérifier le fonctionnement du microphone : voir enregistrement.
Au moins deux paramètres doivent activés en mode capture: la ligne Mic et la ligne Capture 2)
Cela peut se faire via kmix ou alsamixer (dans un terminal)
Avec alsamixer,
Avec kmix (GUI)
introduire des captures d'écran
Essayez en augmentant le gain du micro : activer le commutateur/switch Mic Boost +20 db (autre label possible mic gain
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
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 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)
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 :
sudo adduser <user> pulse-access
start on
dans le fichier /etc/init/pulseaudio.conf
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