Ответ JohnT дает хорошее основание. Я расскажу, как найти устройства в вашей системе. Используйте «aplay -l», чтобы получить список устройств в вашей системе. HW: X, Y исходит от этого отображения вашего аппаратного обеспечения - в этом случае X является карта номер, в то время как Y является устройство номер.
$ 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
Поскольку это USB-устройства, которые могут не всегда получать одинаковые номера устройств при каждом подключении, устройство hw: X, Y может измениться. Самый простой ответ для настольной системы - попробовать инструменты конфигурации GNOME / KDE / Xfce и посмотреть, достаточно ли они умны, чтобы принять изменения.
Сложный способ, если вы не делаете это с настольной системой, становится ... интересным. Вы можете избежать использования псевдонимов устройств вместо «hw: X, Y» - это то, что показывает вывод «aplay -L». Материал «что-то: CARD = FOO, DEV = Y» является псевдонимом и, вероятно, не будет меняться между различными подключаемыми модулями устройств, где может быть X в «hw: X, Y». (Предполагая, что вы используете один и тот же USB-ключ каждый раз.)
$ 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
Таким образом, ваша команда aplay станет «aplay -D front: CARD = CK804, DEV = 0 somefile.wav», и вы можете использовать то же имя устройства в вашем .asoundrc.
Если вам нужно что-то более стабильное на еще более низком уровне, на реальных устройствах ядра, udev - это то, что вам нужно - это система, позволяющая подключать устройства к системе. Вы можете написать правила для udev (и вот справочную страницу ), которые позволят устройствам получать одинаковое имя устройства при подключении.