====== 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