93 votes

Que signifient les dispositifs ALSA comme "hw:0,0" ? Comment puis-je savoir lesquels utiliser ?

J'ai cherché partout et je n'ai pas trouvé d'explication sur la signification de "hw:0,0". Comment puis-je déterminer le numéro de ma carte audio USB ? MPD me demande d'entrer quelque chose comme ça :

audio_output {
        type                    "alsa"
        name                    "Sound Card"
        device                  "hw:0,0"     # optional
        format                  "44100:16:2" # optional
}

Si je fais "alsamixer -c 1", cela ouvre le contrôle du volume de la carte USB, mais cela ne m'aide pas vraiment.

Où puis-je trouver une liste des noms/numéros de périphériques sur mon système ? Sont-ils résistants aux changements de matériel ? Si je retire la carte 2, la carte 3 devient-elle la carte 2 ? Existe-t-il d'autres moyens d'identifier les périphériques ? Où puis-je trouver de la documentation à ce sujet ?

75voto

user12786 Points 454

La réponse de JohnT donne une bonne base. Je vais poursuivre en expliquant comment trouver les périphériques sur votre système. Utilisez aplay -l pour obtenir une liste des périphériques de votre système. Le site hw:X,Y vient de ce mappage de votre matériel -- dans ce cas, X est le carte tandis que Y est le dispositif numéro.

$ aplay -l   # note lower-case "L" option
**** List of PLAYBACK Hardware Devices ****
card 0: T71Space [Terratec Aureon 7.1-Space], device 0: ICE1724 [ICE1724]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 1: IEC1724 IEC958 [IEC1724 IEC958]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 2: ICE1724 Surrounds [ICE1724 Surround PCM]
  Subdevices: 3/3
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2

Comme il s'agit de périphériques USB qui ne reçoivent pas toujours les mêmes numéros de périphérique à chaque fois qu'ils sont branchés, l'option hw:X,Y Le dispositif peut changer. La réponse la plus simple est, pour un système de bureau, d'essayer les outils de configuration de GNOME/KDE/Xfce, et de voir s'ils sont assez intelligents pour détecter les changements.

La méthode complexe, si vous ne faites pas cela avec un système de bureau, devient ... intéressante. Vous pourriez vous en sortir en utilisant alias de dispositifs au lieu de la hw:X,Y -- c'est ce que la sortie de aplay -L spectacles. Le site quelque chose:CARD=FOO,DEV=Y est l'alias, et ne changera probablement pas entre les différents plug-ins de périphériques, où l'option X en hw:X,Y pourrait. (En supposant que vous utilisez le même dongle USB à chaque fois).

$ aplay -L
default:CARD=CK804
    NVidia CK804, NVidia CK804
    Default Audio Device
front:CARD=CK804,DEV=0                 # hw:0,0
    NVidia CK804, NVidia CK804
    Front speakers
surround40:CARD=CK804,DEV=0            # hw:0,1
    NVidia CK804, NVidia CK804
    4.0 Surround output to Front and Rear speakers

Ainsi, votre commande aplay deviendrait aplay -D front:CARD=CK804,DEV=0 somefile.wav et vous pouvez utiliser le même nom de périphérique dans votre fichier .asoundrc.


Si vous avez besoin de quelque chose de plus stable à un niveau encore plus bas, les dispositifs réels du noyau, udev est ce que vous voulez - c'est le système qui permet de brancher à chaud des appareils dans le système. Vous pouvez règles d'écriture pour udev (et voici le page de manuel ) qui permettra aux périphériques d'obtenir le même nom de périphérique lorsqu'ils sont branchés.

24voto

Dalroth Points 2468

hw:0,0 spécifie le périphérique par défaut, sur la carte son par défaut. Pour accéder au premier périphérique de votre deuxième carte son, vous devez spécifier hw:1,0 . Ceux-ci sont spécifiés dans votre .asoundrc . Plus d'informations sur tout cela aquí .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X