La risposta di JohnT fornisce una buona base. Lo seguirò con come trovare i dispositivi sul tuo sistema. Usa "aplay -l" per ottenere un elenco dei dispositivi sul tuo sistema. L' hw: X, Y deriva da questa mappatura del tuo hardware - in questo caso, X è il numero della carta , mentre Y è il numero del 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
Poiché si tratta di dispositivi USB che potrebbero non ottenere sempre gli stessi numeri di dispositivo ogni volta che sono collegati, il dispositivo hw: X, Y potrebbe cambiare. La risposta più semplice è, per un sistema desktop, provare gli strumenti di configurazione GNOME / KDE / Xfce e vedere se sono abbastanza intelligenti da rilevare le modifiche.
Il modo complesso, se non lo fai con un sistema desktop, diventa ... interessante. Potresti essere in grado di cavartela usando alias di dispositivo invece di "hw: X, Y" - questo è ciò che mostra l'output di "aplay -L". Il "qualcosa: CARD = FOO, DEV = Y" è l'alias e probabilmente non cambierà tra i diversi plug-in di dispositivi, dove la X in "hw: X, Y" potrebbe. (Supponendo che si stia utilizzando lo stesso dongle USB ogni volta.)
$ 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
Quindi il tuo comando aplay diventerebbe "aplay -D front: CARD = CK804, DEV = 0 somefile.wav", e puoi usare lo stesso nome devic nel tuo .asoundrc.
Se hai bisogno di qualcosa di più stabile a un livello ancora più basso, dispositivi kernel reali, udev è quello che vuoi: è il sistema che consente di collegare a caldo i dispositivi nel sistema. Puoi scrivere regole per udev (ed ecco la pagina man ) che consentiranno ai dispositivi di ottenere lo stesso nome devic quando sono collegati.