L'ultilizzo dell'audio sotto linux rimane un po' un settore sconosciuto, il supporto per le schede audio non è dei migliori eppure la struttura che gestisce il tutto c'è ed è funzionale.In questo piccolo articolo spiegheremo alcune cose fondamentali sull'uso di Alsa, per riuscire un po' a cavare il ragno dal buco!

Innanzi tutto partiamo dal riconoscimento delle periferiche hardware: Alsa ormai funziona in kernel space e possiamo trovare delle informazioni nel file system virtuale /proc/.

Innanzituttto possiamo visualizzare quale schede sono riconosciute dal visualizzando il file /proc/asound/cards:

cat cards

0 [CK804 ]: NFORCE - NVidia CK804
NVidia CK804 with ALC850 at 0xd2003000, irq 17
1 [T28 ]: ICE1724 - Terratec PHASE 28
Terratec PHASE 28 at 0xa000, irq 20
2 [UART ]: MPU-401 UART - MPU-401 UART
MPU-401 UART at 0x330, irq 10

Il risultato è quello della mia postazione, vedete comunque che nel file viene data una corrispondenza numerica ad ogni scheda o componente audio.

Se volete avere informazioni circa il modulo del kernel usato da ciascuna scheda audio basta visualizzare il file /proc/asound/modules.

In ogni cartella con il nome cardX dove per X si intende il numero di scheda visto nel file cards, vi sono altri file con informazioni importanti, prendiamo per esempio la cartella /proc/asound/card1:

ls -l /proc/adound/card1

totale 0

-r--r--r-- 1 root root 0 2007-10-04 22:37 ice1724

-r--r--r-- 1 root root 0 2007-10-04 22:37 id

-rw-r--r-- 1 root root 0 2007-10-04 22:37 oss_mixer

dr-xr-xr-x 3 root root 0 2007-10-04 22:37 pcm0c

dr-xr-xr-x 3 root root 0 2007-10-04 22:37 pcm0p

dr-xr-xr-x 3 root root 0 2007-10-04 22:37 pcm1c

dr-xr-xr-x 3 root root 0 2007-10-04 22:37 pcm1p

dr-xr-xr-x 5 root root 0 2007-10-04 22:37 pcm2p

Le directory che si presentano sono di due tipi, quelle che hanno come suffisso la c sono di cattura, ovvero microfono, line-in o altro, mentre quelle che terminano con la p sono di playback ovvero di riproduzione...

Torniamo alla directori principale dove troviamo il file devices

cat devices

2: : timer

3: : sequencer

4: [ 0- 2]: digital audio playback

5: [ 0- 1]: digital audio capture

6: [ 0- 0]: digital audio playback

7: [ 0- 0]: digital audio capture

8: [ 0] : control

9: [ 1- 2]: digital audio playback

10: [ 1- 1]: digital audio playback

11: [ 1- 1]: digital audio capture

12: [ 1- 0]: digital audio playback

13: [ 1- 0]: digital audio capture

14: [ 1] : control

15: [ 2- 0]: raw midi

16: [ 2] : control

Il listato precedente modstra tre periferiche di controllo (control), le periferiche di controllo sono dei devices speciali che consento di controllare l'interfaccia sonora...l'applicazione più semplice è la regolazione del volume ad esempio!

Le altre periferiche rispecchiano il contenuto delle varie cartelle card, evidenziando i vari canali di cattura/playback;