Una introduzione ad Alsa
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;