Outils pour utilisateurs

Outils du site


son

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
son [2021/05/18 17:01] jean-yvesson [2021/09/04 17:17] (Version actuelle) eric
Ligne 1: Ligne 1:
-Un ordinateur peut soit [[Enregistrer du son|enregistrer]] du son soit en [[Emettre du son|émettre]].+====== Le son sur Linux ======
  
-Problème : [[Aucun son en sortie|Aucun son ne sort de l'ordinateur]]. +Le son sur le système Linux est géré par un jeu de circuits intégrés spécialisés //(en|chipset)// historiquement placé sur une carte d'extension appelée 'Carte son'Mais il arrive de plus en plus fréquemment que cette carte son soit directement intégrée à la carte mère.
-[[Connectez un strap entre la sortie casque, l'entrée micro et une enceinte.]]+
  
-Ensuite téléchargez un ficher son de 10s maximum Test.wav par exemple )+Pour connaître la ou les cartes son  d'un ordinateur et leurs chipsets, on peut saisir les commandes suivantes dans un terminal : **lspci | grep -i audio**. //(expl°|La commande **lspci** liste l'ensemble des informations du "bus PCI" qui assure la communication entre les différents éléments d'un ordinateurParmi ces informations, celles qui nous intéressent sont généralement identifiées par le terme "audio", le paramètre -i de la commande lspci permet de ne pas tenir compte des majuscules ou minuscules)//
  
-Ensuite exécutez ce script :+Cela donne par exemple :\\ 
 +  :~$ lspci | grep -i audio 
 +  00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40) 
 +  01:05.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] RS880 HDMI Audio [Radeon HD 4200 Series] 
 +  04:06.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 05) 
 +  04:06.2 Multimedia controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05) 
 +  05:0d.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
  
-arecord -d 10 -f cd -t wav /tmp/test.wav &+qui donne 2 cartes son (identifiées par Audio device) et leurs chipsets respectifs (SBx00 Azalia et RS880 HDMI).\\
  
-aplay Test.wav+il existe aussi des cartes son connectées en USB que l'on peut trouver par **lsusb | grep -i audio**.
  
-wait+Chaque carte son et/ou chipset a son propre langage de commande. Pour que le système d'exploitation Linux puisse communiquer avec le chipset et la carte son, il faut  des interfaces qui vont traduire les commandes générales Linux en commandes spécifiques au chipset et à la carte. Ces interfaces s'appellent les 'pilotes' (en|driver) du chipset.\\ 
 +Afin de ne pas avoir à rechercher le driver spécifique à un chipset à chaque fois que Linux est installé sur un ordinateur, on les regroupe dans des ensembles de drivers.\\ 
 +L'ensemble de drivers utilisés par Ubuntu est intégré à un logiciel nommé [[https://www.alsa-project.org/wiki/Main_Page|ALSA]] (Advanced Linux Sound Architecture).\\ 
 +ALSA utilise le répertoire **/proc/asound** pour stocker toutes informations sur les cartes son avec lesquelles il peut dialoguer.\\ 
 + 
 +Pour obtenir la liste des cartes son utilisées par ALSA sur un ordinateur donné, saisir 
 +**cat /proc/asound/cards** dans un terminal\\ 
 +  :~$ cat /proc/asound/cards 
 +  0 [SB             ]: HDA-Intel - HDA ATI SB 
 +                       HDA ATI SB at 0xfbbf8000 irq 16 
 +  1 [HDMI           ]: HDA-Intel - HDA ATI HDMI 
 +                       HDA ATI HDMI at 0xfbde8000 irq 19 
 + 
 + 
 +Les cartes son sont listées par numéro croissant en commençant par '0'. Dans notre exemple, on retrouve bien les 2 cartes son trouvées précédemment (elles sont identifiées par un '0' et un '1' en début de ligne).\\ 
 +Cette commande permet déjà de voir que la première carte son est une carte de type [[https://fr.wikipedia.org/wiki/Sound_Blaster#P%C3%A9riph%C3%A9riques_USB_audio|Sound Blaster]] identifiée par 'SB'
 +La seconde carte est de type [[https://fr.wikipedia.org/wiki/High-Definition_Multimedia_Interface|HDMI]], identifiée par 'HDMI'
 +Il existe aussi bien d'autres types de cartes comme les cartes [[    https://fr.m.wikipedia.org/wiki/Musical_Instrument_Digital_Interface|MIDI]], identifiées par 'MID'
 + 
 +On voit aussi qu'il s'agit de cartes créées par la société 'ATI' et respectant la norme [[https://doc.ubuntu-fr.org/audio_intel_hda|HDA]] développée par la société 'Intel'.\\ 
 +Enfin, la dernière information est le numéro de l'interruption matérielle qui lui est appliquée, identifiée par le terme [[https://fr.wikipedia.org/wiki/Interruption_mat%C3%A9rielle|irq]] 
 + 
 +On retrouve la liste des modules Linux qui commandent les cartes son par **cat /proc/asound/modules**\\ 
 +  :~$ cat /proc/asound/modules 
 +  0 snd_hda_intel 
 +  1 snd_hda_intel 
 +Comme les deux cartes suivent la norme [[https://doc.ubuntu-fr.org/audio_intel_hda|HDA]] de Intel, Linux a besoin du module correspondant ('snd_hda_intel') pour les utiliser. 
 +   
 +Pour aller un peu plus loin, on peut voir les drivers utilisés par les chipsets par **cat /proc/asound/card__//X//__/codec#0 | grep -i codec**, où le __//X//__ est remplacé par le numéro de la carte.\\ 
 +Dans notre exemple, cela donne : 
 +  :~$ cat /proc/asound/card0/codec#0 | grep -i codec 
 +  Codec: Realtek ALC892 
 +  :~$ cat /proc/asound/card1/codec#0 | grep -i codec 
 +  Codec: ATI RS690/780 HDMI 
 +Les drivers sont indiqués après 'Codec:'
 +   
 +On peut aussi vérifier les entrées/sorties son //(en|device)// disponibles sur l'ordinateur par la commande **cat /proc/asound/pcm**\\ 
 + 
 +  :~$ cat /proc/asound/pcm 
 +  00-00: ALC892 Analog : ALC892 Analog : playback 1 : capture 1 
 +  00-01: ALC892 Digital : ALC892 Digital : playback 1 
 +  00-02: ALC892 Alt Analog : ALC892 Alt Analog : capture 1 
 +  01-03: HDMI 0 : HDMI 0 : playback 1 
 + 
 +Cette commande indique trois sorties possibles pour le son (identifiées par 'playback') : une sortie analogique (identifiée par 'Analog') et une sortie numérique (identifiée par 'Digital') pilotées par le driver ALC892, ainsi qu'une sortie numérique HDMI. 
 +De plus, l'identifiant 'capture' indique que le pilote ALC892 permet la capture du son externe sur deux canaux ('Analog' et 'Alt analog').\\ 
 + 
 + 
 + 
 +Pour tout savoir sur le son sur Linux, le site [[https://www.alsa-project.org/wiki/Main_Page|ALSA]] donne toutes les indications sur ce projet.
  
-aplay /tmp/test.wav  
  
-Ceci devrait vous faire entendre 2 fois le son, afin de vous aider dans le problème détermination 
son.1621350111.txt.gz · Dernière modification : de jean-yves

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki