====== Moduli ALSA ======
===== Con kernel 2.6 =====
Con il kernel 2.6 il supporto ALSA è compreso, per sapere quale versione è disponibile nel kernel in uso:
# uname -a
Linux corinto 2.6.17 #1 PREEMPT Sat Nov 11 17:02:46 CET 2006 i686 GNU/Linux
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.11rc4 (Wed Mar 22 10:27:24 2006 UTC).
===== Con kernel 2.4 =====
Il supporto audio ALSA è stato integrato nel kernel ufficiale a partire dalla versione 2.6, prima era necessario installare i sorgenti e compilare i moduli dopo aver compilato il kernel. Ecco la procedura.
Si scelgono i moduli ALSA perché hanno un maggior supporto alle schede audio. Se si è compilato un kernel ad hoc con ''make-kpkg'' si procede come segue:
* Installazione dei pacchetti Debian alsa-source alsa-base e alsa-utils
* Scompattare /usr/src/alsa-driver.tar.bz2
* Configurare le opzioni di compilazione con ''dpkg-reconfigure alsa-source''
* Compilare i moduli e creare il pacchetto Debian:
cd /usr/src/linux
make-kpkg --revision=linuxtop.2.3 --added-modules alsa-driver modules_image
dpkg -i ../alsa-modules-2.4....
I moduli ALSA non vengono caricati da ''/etc/init.d/alsa'' come accadeva con Debian Woody, dovrebbe pensarci ''hotplug''. Se questo non è installato basta dichiarare i moduli in ''/etc/modules''. Conviene caricare anche l'emulazione OSS offerta da ALSA con il modulo ''snd-pcm-oss''.
===== Integrazione in KDE =====
KDE si avvale del demone **aRts** al quale le applicazioni si rivolgono per produrre audio, questi provvede a mixare le varie sorgenti. Il problema è che non tutte le applicazioni sono aRts-aware, comunque aRts dovrebbe intercettare le chiamate OSS e ALSA e farle passare in modo trasparente. Il demone aRts si appoggia a sua volta a OSS (originale o all'emulazione fornita da ALSA) per produrre effettivamente il suono.
===== Impostazione dei livelli volume =====
Si può utilizzare ''alsamixer'' oppure KMix in KDE. Dopo aver impostato i livelli con ''alsactl store'' le impostazioni vengono salvate in ''/var/lib/alsa/asound.state''.
===== Verifica dispositivi audio =====
Dispositivi di **cattura audio**, esempio:
arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 0: PCI [ESS Allegro PCI], device 0: Allegro [Allegro]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: V8237 [VIA 8237], device 0: VIA 8237 [VIA 8237]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: V8237 [VIA 8237], device 1: VIA 8237 [VIA 8237]
Subdevices: 1/1
Subdevice #0: subdevice #0
si vede che esistono due schede audio: la **card 0** è una **ESS Allegro PCI**, la **card 1** è un chip ALC655 integrato nel chipset **VIA 8237**. Sulla prima esiste un solo dispositivo di cattura audio: **device 0** identificato con il nome generico **Allegro**, probabilmente corrisponde all'ingresso **LINE-IN**. Sulla seconda esistono due dispositivi di cattura: **device 0** e **device 1** entrambi identificati con il nome generico **VIA 8237**, probabilmente si tratta del **LINE-IN** e dell'ingresso **MIC**.
L'elenco dei device audio ALSA si ottiene con:
# cat /proc/asound/devices
0: [ 0] : control
1: : sequencer
16: [ 0- 0]: digital audio playback
24: [ 0- 0]: digital audio capture
32: [ 1] : control
33: : timer
48: [ 1- 0]: digital audio playback
49: [ 1- 1]: digital audio playback
56: [ 1- 0]: digital audio capture
57: [ 1- 1]: digital audio capture