Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Diagnostiquer un problème de son sous Debian

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

créé - 10/05/2011

Merci à Lætitia pour sa remarque bienfaisante.

Voir sur le forum df : http://debian-facile.org/forum/viewtopic.php?pid=31765#p31765

Remerciement d'une personne qui ne fréquente pas DF : chez debian-fr.org

Préface

Ce qui fait que vous avez du son c'est la carte son. La carte son est gérée par le noyau qui comprend en son sein les controleurs qui la régissent.

Ces controleurs sont habituellement du ressort d'ALSA (Advanced LINUX Sound Architecture)

Pulseaudio dans ce schéma n'est qu'un élément qui s'intercale entre vos applications audio et la carte son.

Pas besoin de pulse pour avoir du son, pulseaudio canalise l'audio, il le centralise pour faire cohabiter plusieurs sources, plusieurs sorties même en réseau .

Attention

Vérifiez en premier l’installation des 3 paquets de base alsa-base alsa-tools et alsa-utils
(sont normalement présents sur le système dès le début, s'occupent de sauvegarder et restaurer les paramètres sonores du système au démarrage et à l'arrêt du système)

Je n'ai pas de son, que faire ?

1 - Vérifiez vos hauts parleurs, branchements, etc...

Dans environ 20% des cas sur le son, les enceintes n'étaient pas branchées au bon endroit.

Exemple : https://debian-facile.org/viewtopic.php?pid=95477#p95477

2 - Vérifiez que rien n'est branché sur la sortie audio !

Exemple : comme des écouteurs …

3 - Vérifiez le volume !

Dans alsamixer, MASTER et PCM doivent être à 80 % et sans qu'ils soit marqué MM(mute = sourdine en Français) au dessus ou en dessous. Souvent par défaut la sourdine est activée. (déplacement par les flèches et la touche M pour enlever/remettre le MM)

Attention, certaines cartes (très rares) ont le mute inversé… Il faut donc avoir MM sur celles ci (pour changer la valeur MM en 00 utiliser la touche M ).

4 - Vérification groupe audio

Vérifiez que l'utilisateur qui veut lire le son est bien membre du groupe audio.

Pour vérifier, dans une console tapez :

groups

Vous aurez la liste des groupes auquel appartient l'utilisateur, dans le cas contraire il faut ajouter votre utilisateur à ce groupe :

adduser <VotreUtilisateur> audio

Lancer alsactl init :

alsactl init

qui va tenter une reconnaissance automatique de votre carte son.

5 - Si votre carte son est intégrée à votre carte mère, vérifiez qu'elle est bien activée dans le BIOS !

De plus, il se peut que votre carte son soit reliée à votre modem interne dans le cas d'un ordinateur portable par exemple. Allez dans le BIOS et vérifiez que l'option Internal modem est bien sur enabled (activé) !

6 - Commandes utiles et erreurs connues

Pour sauvegarder vos réglages :

alsactl store

Bien sûr un moteur de recherche sera votre ami, de même que le site d'Alsa, passez voir les cartes son qui posent problème il y aura peut-être la vôtre.

Si les musiques semblent se jouer correctement mais que vous n'entendez rien, revérifiez les deux points précédents.

Si Linux ne détecte pas de carte son, il ne joue JAMAIS le son ! et affiche TOUJOURS une erreur !

Vérifiez que votre ordinateur n'est pas équipé de deux cartes sons et branchez vos enceintes sur l'autre (utiliser une carte son particulière est un autre problème résolu plus bas dans cette page).

Si vous avez un message d'erreur de type : Not found or busy, vérifiez avec lsof quel logiciel occupe votre carte son.

La commande ci dessous vous indique les programmes utilisant ALSA :

lsof /dev/snd/*

Lsof est un outil de diagnostic spécifique à UNIX. Son nom signifie LiSt Open Files (LiSte les Fichiers Ouverts) et c'est exactement cela qu'il fait. Il affiche des informations à propos de n'importe quel fichier ouvert par les processus s'exécutant actuellement sur le système.

Installer les modules son

Normalement il suffit de lancer :

dpkg-reconfigure alsa-base

et de se laisser guider. Si votre carte n'est pas dans la liste, ça se complique, il va falloir utiliser “votre moteur de recherche” ou
Is my soundcard supported?

Note : les cartes son USB nécessitent snd_usb_audio.

cat /proc/asound/modules
retour de commande
 0 snd_ctxfi
 1 snd_usb_audio

Si cette commande retourne une seule carte snd-hda-intel vous pouvez profiter de cette solution ⇒ http://linuxfr.org/forums/linux-debian-ubuntu/posts/alsa-hda-intel-debian-wheezy

Merci à GhostSpirit (voir le topic sur le forum df) ⇒ http://debian-facile.org/viewtopic.php?pid=89861#p89861

Plusieurs cartes son

Vous avez plusieurs cartes son, et un problème : la carte principale, qui est reconnue et utilisée par Linux, n'est pas celle que vous voulez utiliser.

Le problème se pose aussi avec les cartes TV, qui s'identifient souvent comme carte son principale, la vraie carte son passant en 2ème position, donc plus aucun son n'en sort…

Le problème existe enfin sur les ordinateurs récents qui disposent d'une sortie S/PDIF2). Pour les sorties numériques avec ALSA voir aussi le lien Configurer une sortie numérique avec ALSA.

Choisir la bonne carte son

Tout d'abord informez-vous sur les différentes solutions existantes ci-dessous, puis testez et appliquez celle qui vous convient le mieux.

1ère solution

Allez dans Système > Préférences > Son et choisissez la bonne carte. FIXME3)

Pour vérifier le volume attribué à vos sorties audio, qui par défaut peut parfois être à zéro, utilisez alsamixer.

alsamixer

Pour commencer, ces deux procédures permettent de tester le bon fonctionnement de la couche ALSA :

speaker-test -D plug:front -c 2 -l 1 -t wav
aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav

2ème solution

Exécutez la commande

aplay -l

puis regardez quel numéro porte la carte qui vous intéresse.

Par exemple :

retour de la commande
**** List of PLAYBACK Hardware Devices ****
card 0: External [SB Live! 24-bit External], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: AudioPCI [Ensoniq AudioPCI], device 1: ES1371/2 [ES1371 DAC1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Éditez (ou créez) votre fichier /etc/asound.conf pour y placer

asound.conf
# On définit la sortie son
pcm.!default {
  type hw
  card 1 # numéro de la carte que vous voulez utiliser
}
# On définit le mixeur associé
ctl.!default {  
  type hw
  card 1 # numéro de la carte que vous vouler utiliser
}

Vous utilisez désormais la 2ème carte !

On peut aussi comme alternative mettre le device (périphérique) égal à : “hw:0,1” directement dans l'application (comme celles à base de XINE : Kaffeine, Amarok, VLC).

3ème solution

Enlevez la carte de l'unité centrale ou désactivez dans le BIOS la carte son intégrée à la carte mère… radical et efficace.

4ème solution

Quand vous ajoutez une nouvelle carte son, la première chose à faire pour éviter les problèmes est de désactiver dans le BIOS la carte son intégrée à la carte mère.

Si vous avez plusieurs cartes il faut effectivement définir l'ordre d'utilisation.

Modifiez l'ordre des cartes dans le fichier /proc/asound/modules, qui indique l'ordre des cartes son, puis lancez la mise à jour des modules dans le système (redémarrage nécessaire après).

Par exemple la commande

cat /proc/asound/modules

donne (carte son intégrée à la carte mère désactivée) :

retour de la commande
0 snd_hda _intel  ( carte vidéo ATI )
1 snd_ctxfi       ( SB-XFi - Creative X-Fi )
2 snd_usb_audio   ( USB-Audio - QuickCam Pro 9000 )

Sous Wheezy la sortie de la commande

nano /etc/modprobe.d/alsa-base.conf

se présente comme ça :

alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2

Si vous voulez principalement utiliser “SB-XFi - Creative X-Fi” puis “USB-Audio - QuickCam Pro 9000”, il faut changer l'ordre dans le fichier /etc/modprobe.d/alsa-base.conf :

extrait de alsa-base.conf
install sound-slot-1 /sbin/modprobe snd-card-0
install sound-slot-2 /sbin/modprobe snd-card-1
install sound-slot-0 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3

puis ajouter votre configuration en dessous.

Par exemple :

extrait de alsa-base.conf
options snd-ctxfi      index=0
options snd-usb-audio  index=1
options snd-hda-intel  index=2

Cas particulier : pour utiliser une carte son externe USB il sera judicieux de changer la valeur options snd-usb-audio index=-2 à 0, puis d'ajouter

extrait de alsa-base.conf
options snd slots=snd-usb-audio,snd-hda-intel

Enregistrez et redémarrez.

5ème solution

Tout d'abord il faut connaître le numéro de votre carte :

Exécutez la commande

cat /proc/asound/cards

qui par exemple retourne :

retour de la commande
0 [Q9000          ]: USB-Audio - QuickCam Pro 9000
                      Logitech, Inc. QuickCam Pro 9000 at usb-0000:00:1d.7-5, high speed
1 [XFi            ]: SB-XFi - Creative X-Fi
                      Creative X-Fi 20K1 Unknown

Éditez (ou créez) votre fichier /etc/modprobe.d/alsa-base.conf pour y placer

extrait de alsa-base.conf
install sound-slot-1 modprobe snd-card-0
install sound-slot-0 modprobe snd-card-1

puis faites (ne fonctionne pas sous Jessie) :

update-modules

Redémarrez pour appliquer les modifications.

6ème solution

Désactiver le lancement des modules de la carte son non désirée.

Pour cela, repérez les modules chargés correspondant à vos cartes son avec la commande lsmod (leur nom commence par “snd_”).

Exécutez la commande :

lsmod | grep snd_

Ensuite, éditez le fichier /etc/modprobe.d/alsa-base-blacklist.conf en mode administrateur et ajoutez les modules à désactiver.

Par exemple :

extrait de alsa-base-blacklist.conf
# modules son à désactiver
blacklist snd-via82xx-modem
blacklist snd-via82xx
blacklist snd-ac97-codec
blacklist snd-ac97-bus

Au redémarrage, seule la carte son désirée sera utilisée.

La seule difficulté qui peut être rencontrée est de désactiver les bons modules, mais rien n'empêche de faire plusieurs essais…

Son qui grésille

Allez dans votre contrôleur de volume, en double cliquant sur le petit haut parleur en haut à droite de votre écran. Réduisez le PCM à 80% ou moins. Puis fermez la fenêtre. Votre son ne devrait plus grésiller. (si il n'y a pas de curseur PCM, allez dans Fichier ⇒ Changer de périphérique). (PCM : Pulse Code Modulation, 'digital audio interface')

Kit 5.1 qui n'est que 2.0

À part certains médias (DVD transcrit/encodé en 5.1) on écoute surtout du 2.0, c'est-a-dire de la stéréo simple.

Il y a moyen de faire du pseudo 5.1 avec ALSA, pas avec OSS.

Éditez/créer le fichier “etc/asound.conf” avec nano la commande (à lancer dans un terminal)

nano /etc/asound.conf

et ajouter :

pcm.duplicate {
    type plug
    slave.pcm "surround51"
    slave.channels 6
    route_policy duplicate
}

Créez un répertoire dans /home/mon_user/.asoundrc

nano /home/mon_user/ .asoundrc

et ajouter ce fichier :

ctl.ca0106
type hw
card 0
 
pcm. !default
slave.pcm surround51
slave.channels 6
type route
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 0.5
ttable.1.4 0.5
ttable.0.5 0.5
ttable.1.5 0.5

Pour affiner vos fichiers voir ⇒ http://www.alsa-project.org/main/index.php/Asoundrc

Enregistrer, puis redémarrer ALSA

service alsa-utils restart


Vous pouvez utiliser cette configuration sans répertoire .asoundrc
Il faut éditer le /etc/asound.conf,

nano /etc/asound.conf

et ajouter :

pcm.card0 {
    type hw
    card 0
}
ctl.card0 {
    type hw
    card 0
}
pcm.!default {
    type plug
    slave.pcm "surround51"
    slave.channels 6
    route_policy duplicate
}

Enregistrer, puis redémarrer ALSA

service alsa-utils restart


Pour modifier/actualiser vos fichiers voir howto ⇒ (en)http://alsa.opensrc.org/Playing_stereo_on_surround_sound_setup_%28Howto%29

Clique droit sur l'icone du haut parleur dans la zone de notification “Ouvrir le contrôleur de volume” ou lancer :

gnome-volume-control

et configurer la lecture et les options du son avec “votre_carte”(Alsa mixer)

Vérifier que vous avez effectuez ce modèle de branchement:

Après, il suffit de choisir “surround51” comme sortie son dans son application préférée (Totem, Amarok, VLC etc…) pour qu'ils utilisents une sortie Surround 5.1 !

Tester son installation 5.1 sous Linux

Vous avez effectué la manipulation précédente et le son continue à sortir en 2.0

Faites un premier test avec ces deux commandes (en coupant ce qui utiliserait le périphérique sonore au préalable)

speaker-test -D surround51:0 -c 6 -t 2
speaker-test -D duplicate -c 6 -t 2

Faites un deuxième test avec cette commande ( alsa-utils installé ) :

speaker-test -D plug:surround51 -c 6 -l 1 -t wav

Exemple :

Les paramètres du flux sont 48000Hz, S16_LE, 6 canaux
Fichier(s) WAV
Taux fixé à 48000Hz (demandé 48000Hz)
Taille du tampon entre 64 et 16384
Taille de la periode entre 32 et 8192
Utilisation du tampon maximal 16384
Périodes = 4
La durée de la période à été définie= 4096
La taille du tampon à été définie = 16384
0 - Avant Gauche
4 - Centre
1 - Avant Droit
3 - Arrière Droit
2 - Arrière Gauche
5 - Effets basse fréquence

A voir également le problème résolu sur le forum df ⇒ http://debian-facile.org/viewtopic.php?pid=68154#p68154

1ere solution

Vous devez spécifier au lecteur multimédia la sortie son principale, soit votre kit 5.1 et les sorties de votre carte son.

gstreamer-properties
  • Greffon de sortie par défaut ⇒ choisissez Personnalisé
  • Périphérique ⇒ Choisissez votre carte son
  • Pipeline ⇒> alsasink device=duplicate

Redémarrer ensuite alsa :

service alsa-utils restart

2eme solution

Les changements ne sont pas pris en compte dans la méthode précédente… ce n'est pas grave, il vous reste à tester si le son vers les sorties sont autorisées.
Lancez alsamixer et activez le son des sorties front, rear, LFE (pour les basses). Ou tout autre menu qui pourrait être susceptible de ressembler à votre kit d'enceintes.

Le son ne sort pas par mes enceintes arrières

Avez vous vérifié que le son joué était bien du 5.1 ? Essayer avec un DVD en mode 5.1, dans VLC par exemple il faut choisir dans AUDIO, le son SURROUND 5.1 pour l'activer correctement.

KDE

Allez dans K > Centre de configuration de KDE > Son et multimedia > Système de son.

Dans le cadre Suspension automatique (pour que KDE 'rende' le controle du son aux autres applications) mettez 1 seconde.

Ensuite dans Sons et multimédia > Notifications systèmes, Gestionnaire de fenetre, désactivez le son: nouvelle fenetre.

Et voila, il devrait vous suffir d'attendre 1 seconde après un son de KDE pour avoir le son.

Attention: apparement, si vous mettez sur 0, ca ne marche pas. Voir aussi : Wiki Alsa : Dmix pour KDE

Liens externes

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2) S/PDIF est une sortie coaxiale numérique qui peut se brancher directement sur un ampli 5.1
3) Quid dans Gnome3 ?
doc/materiel/cartes-son/depannage.txt · Dernière modification: 12/09/2016 23:26 par èfpé

Pied de page des forums

Propulsé par FluxBB