A resposta de JohnT dá uma boa base. Vou acompanhá-lo com a forma de encontrar os dispositivos no seu sistema. Use "aplay -l" para obter uma lista dos dispositivos em seu sistema. O hw: X, Y vem desse mapeamento do seu hardware - nesse caso, X é o número da carta , enquanto Y é o dispositivo número.
$ 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 esses são dispositivos USB que nem sempre recebem os mesmos números de dispositivo sempre que estão conectados, o dispositivo hw: X, Y pode mudar. A resposta mais simples é, para um sistema de desktop, experimentar as ferramentas de configuração do GNOME / KDE / Xfce e ver se elas são inteligentes o suficiente para captar as mudanças.
A maneira complexa, se você não está fazendo isso com um sistema desktop, fica ... interessante. Você pode conseguir usar o usando alias de dispositivos em vez de " hw: X, Y "- isto é o que a saída de" aplay -L "mostra. O material "something: CARD = FOO, DEV = Y" é o alias e provavelmente não será alterado entre diferentes plug-ins de dispositivo, onde o X em "hw: X, Y" pode. (Supondo que você esteja usando o mesmo dongle USB de 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
Assim, seu comando aplay se tornaria "aplay -D front: CARD = CK804, DEV = 0 somefile.wav" e você pode usar o mesmo devicename em seu .asoundrc.
Se você precisar de algo mais estável em um nível ainda mais baixo, os dispositivos de kernel reais, udev é o que você quer - é o sistema que permite dispositivos hotplug no sistema. Você pode escrever regras para o udev (e aqui está o man page ) que permitirá que os dispositivos obtenham o mesmo nome de usuário quando conectados.