La respuesta de JohnT da una buena base. Lo seguiré para encontrar los dispositivos en su sistema. Use "aplay -l" para obtener una lista de los dispositivos en su sistema. El hw: X, Y proviene de esta asignación de su hardware; en este caso, X es el número de tarjeta , mientras que Y es el número de dispositivo .
$ 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
Como se trata de dispositivos USB que no siempre obtienen los mismos números de dispositivo cada vez que se conectan, el dispositivo hw: X, Y puede cambiar. La respuesta más simple es, para un sistema de escritorio, pruebe las herramientas de configuración de GNOME / KDE / Xfce y vea si son lo suficientemente inteligentes como para detectar los cambios.
La forma compleja, si no está haciendo esto con un sistema de escritorio, se vuelve ... interesante. Es posible que pueda evitar el uso de alias de dispositivo en lugar de "hw: X, Y": esto es lo que muestra la salida de "aplay -L". El "algo: CARD = FOO, DEV = Y" es el alias, y probablemente no cambiará entre los diferentes complementos del dispositivo, donde la X en "hw: X, Y" podría. (Suponiendo que esté usando el mismo dispositivo USB cada vez).
$ 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
Entonces su comando aplay se convertiría en "aplay -D front: CARD = CK804, DEV = 0 somefile.wav", y puede usar el mismo nombre de dispositivo en su .asoundrc.
Si necesita algo más estable en un nivel aún más bajo, dispositivos de kernel reales, udev es lo que desea: es el sistema que permite la conexión en caliente de dispositivos en el sistema. Puede escribir reglas para udev (y aquí está la página de manual ) que permitirá que los dispositivos obtengan el mismo nombre de dispositivo cuando estén conectados.