2009-10-11 17:32:47 +0000 2009-10-11 17:32:47 +0000
67
67

Que signifient les dispositifs ALSA comme "hw:0,0" ? Comment savoir quel appareil utiliser ?

J'ai cherché encore et encore et je ne trouve aucune explication de ce que signifie “hw:0,0”. Comment puis-je déterminer le numéro de ma carte audio USB ? MPD m'oblige à entrer quelque chose comme ceci :

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 de noms et de numéros de périphériques sur mon système ? Sont-ils résistants aux changements de matériel ? Si j'enlève la carte 2, la carte 3 devient-elle la carte 2 ? Existe-t-il d'autres moyens d'identifier les appareils ? Où puis-je trouver de la documentation à ce sujet ?

Réponses (2)

53
53
53
2009-10-11 18:12:29 +0000

La réponse de JohnT donne une bonne base. Je vais la faire suivre d'une explication sur la façon de trouver les appareils sur votre système. Utilisez “aplay -l” pour obtenir une liste des appareils présents sur votre système. Le hw:X,Y provient de cette cartographie de votre matériel – dans ce cas, X est le numéro de la carte, tandis que Y est le numéro du dispositif.

$ 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, le périphérique hw:X,Y peut changer. La réponse la plus simple est, pour un système de bureau, d'essayer les outils de configuration GNOME/KDE/Xfce, et de voir s'ils sont assez intelligents pour prendre en compte les changements.

La manière complexe, si vous ne faites pas cela avec un système de bureau, devient … intéressante. Vous pourriez vous en tirer avec en utilisant les alias de device au lieu de “hw:X,Y” – c'est ce que montre la sortie de “aplay -L”. Le truc “something:CARD=FOO,DEV=Y” est l'alias, et ne changera probablement pas entre les différents plug-ins de périphériques, alors que le X dans “hw:X,Y” pourrait le faire. (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

Donc 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 .asoundrc.


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

19
19
19
2009-10-11 17:40:05 +0000

hw:0,0 spécifie l'appareil 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. Pour en savoir plus sur tout cela ici .

Questions connexes

6
10
10
5
12