<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/it/alsa-guide.xml,v 1.33 2012/10/13 12:14:44 ago Exp $ -->

<guide lang="it">
<title>Guida ad ALSA su Gentoo Linux</title>

<author title="Autore">
  <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
</author>
<author title="Autore">
  <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
</author>
<author title="Contributi">
  <mail link="flameeyes@gentoo.org">Diego Pettenò</mail>
</author>
<author title="Traduzione">
   <mail link="scen@gentoo.org">Davide Cendron</mail>
</author>

<abstract>
Questo documento aiuta gli utenti a installare ALSA su Gentoo Linux.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>5</version>
<date>2012-07-24</date>

<chapter>
<title>Introduzione</title>
<section>
<title>Che cos'è ALSA?</title>
<body>

<p>
ALSA, <e>Advanced Linux Sound Architecture</e>, fornisce le funzionalità audio e
MIDI (<e>Musical Instrument Digital Interface</e>) al sistema operativo Linux.
ALSA è il sottosistema audio predefinito nei kernel 3.x e 2.6 in tal modo da sostituire OSS
(<e>Open Sound System</e>), usato nei kernel 2.4.
</p>

<p>
Le principali caratteristiche di ALSA includono un supporto efficiente per tutti
i tipi di interfacce audio, da quelle normali a quelle professionali, driver
totalmente modularizzati, supporto SMP e al multi-threading, retro-compatibilità
con OSS e una libreria per gli utenti, <c>alsa-lib</c>, per facilitare la
programmazione delle applicazioni.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Installare ALSA</title>
<section id="lspci">
<title>Prima di proseguire</title>
<body>

<p>
Come prima cosa è necessario sapere quali sono i driver necessari per la propria
scheda sonora. Nella maggior parte dei casi, le schede sonore (integrate e di
altro tipo) sono basate su PCI e <c>lspci</c> vi aiuterà nella ricerca delle
informazioni. Effettuare l'emerge di <c>sys-apps/pciutils</c> per ottenere
<c>lspci</c>, se non è già installato. Se si ha una scheda sonora USB,
<c>lsusb</c> da <c>sys-apps/usbutils</c> <e>potrebbe</e> essere di aiuto. Per
schede ISA, provare ad usare <c>sys-apps/isapnptools</c>. Le seguenti pagine
<e>potrebbero</e> aiutare gli utenti con schede sonore basate ISA:
</p>

<ul>
  <li>
    <uri link="http://www.roestock.demon.co.uk/isapnptools/">The ISAPNPTOOLS
    Page</uri>
  </li>
  <li>
    <uri link="http://www2.linuxjournal.com/article/3269">LinuxJournal PnP
    Article</uri>
  </li>
  <li>
    <uri link="http://www.tldp.org/HOWTO/Sound-HOWTO/x320.html">TLDP Sound
    HowTo</uri>
  </li>
</ul>

<note>
Per facilità di uso/spiegazione, nel resto della guida si assume di avere una
scheda sonora PCI
</note>

<p>
A questo punto si devono rilevare i dettagli della scheda sonora.
</p>

<pre caption="Dettagli della scheda sonora">
# <i>lspci -v | grep -i audio</i>
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)
</pre>

<p>
Ora si sa che la scheda sonora è una Sound Blaster Live! della Creative Labs.
Andare in <uri
link="http://bugtrack.alsa-project.org/main/index.php/Matrix:Main">ALSA
Soundcard Matrix</uri> e selezionare Creative Labs dall'elenco, per spostarsi
nella pagina contenente l'elenco delle schede audio Creative Labs supportate;
dall'elenco si può vedere che la SB Live! usa il modulo <c>emu10k1</c>. Questa è
l'informazione che servirà successivamente. Per ulteriori informazioni, cliccare
sul collegamento a fianco della voce "Details" per andare nella pagina delle
specifiche per <c>emu10k1</c>.
</p>

<p>
Se si vuole utilizzare il supporto MIDI, aggiungere <c>midi</c> alle flag USE in
<path>/etc/portage/make.conf</path> prima di emergere qualsiasi pacchetto ALSA. In una
parte successiva della guida verrà mostrato come configurare il <uri
link="#midi">supporto MIDI</uri>.
</p>

</body>
</section>
<section id="kernel">
<title>Configurare il kernel</title>
<body>

<note>
Dal rilascio 2005.0, Gentoo Linux usa il 2.6 come kernel predefinito.
Controllare se il proprio kernel è della serie 2.6. Questo metodo <e>non</e>
funzionerà con un kernel 2.4.
</note>

<p>
Configurare il kernel per abilitare ALSA.
</p>

<impo>
Gli utenti che hanno usato <c>genkernel</c> dovrebbero eseguire <c>genkernel
--menuconfig all</c> e poi seguire le istruzioni in <uri
link="#doc_chap2_pre3">Opzioni del kernel per ALSA</uri>.
</impo>

<pre caption="Entrare nei sorgenti">
# <i>cd /usr/src/linux</i>
# <i>make menuconfig</i>
</pre>

<note>
L'esempio sopra presuppone che il collegamento simbolico
<path>/usr/src/linux</path> punti ai sorgenti del kernel che si desidera
utlizzare. Assicurarsi che sia così prima di continuare.
</note>

<p>
Verranno viste alcune delle opzioni da abilitare nel kernel 2.6 per ottenere un
supporto ALSA appropriato per la propria scheda sonora.
</p>

<p>
È da notare che, per praticità, tutti gli esempi mostrano ALSA compilato come
modulo. E' consigliato seguire questa impostazione poichè in seguito permetterà
l'utilizzo di <c>alsaconf</c>, strumento assai utile per configurare la scheda.
<e>Non</e> saltare la sezione <uri link="#alsa-config">Configurazione</uri> di
questo documento. Se si vogliono mantenere le opzioni compilate staticamente nel
kernel, modificare la configurazione di conseguenza.
</p>

<pre caption="Opzioni del kernel per ALSA">
Device Drivers  ---&gt;
   Sound  ---&gt;

<comment>(Questa voce dev'essere abilitata)</comment>
&lt;M&gt; Sound card support

<comment>(Assicurarsi che OSS sia disabilitato)</comment>
Open Sound System   ---&gt;
   &lt; &gt; Open Sound System (DEPRECATED)

<comment>(Tornare indietro di un passo ed entrare in ALSA)</comment>
Advanced Linux Sound Architecture  ---&gt;
   &lt;M&gt; Advanced Linux Sound Architecture
   <comment>(Selezionare questo voce per MIDI sequencing e routing)</comment>
   &lt;M&gt; Sequencer support
   <comment>(Supporto /dev/mixer* e /dev/dsp* vecchio stile. Raccomandato.)</comment>
   &lt;M&gt; OSS Mixer API
   &lt;M&gt; OSS PCM (digital audio) API

<comment>(A questo punto verrà proposto un elenco di dispositivi per i quali
abilitare il supporto. Generalmente si avrà solamente un tipo di dispositivo, in
caso contrario abilitare tutti i supporti)</comment>

<comment>(Le opzioni contenute nel menù seguente possono servire principalmente
per scopo di test e sviluppo, non sono invece necessarie agli utenti normali a
meno di sapere quello che si sta facendo.)</comment>
Generic devices  ---&gt;

<comment>(Per schede sonore ISA)</comment>
ISA devices   ---&gt;
<comment>(Se si ha Gravis, selezionare questa opzione)</comment>
   &lt;M&gt; Gravis UltraSound Extreme

<comment>(Entrare in PCI devices. Molte schede sonore sono dispositivi PCI)</comment>
PCI devices   ---&gt;
   <comment>(Selezionare il driver emu10k1 per la scheda)</comment>
   &lt;M&gt; Emu10k1 (SB Live!, Audigy, E-mu APS)
   <comment>(O per una scheda Intel))</comment>
   &lt;M&gt; Intel/SiS/nVidia/AMD/ALi AC97 Controller
   <comment>(O per una scheda VIA)</comment>
   &lt;M&gt; VIA 82C686A/B, 8233/8235 AC97 Controller

<comment>(Tornare indietro di un livello ed entrare nel menù seguente se si ha una scheda sonora USB)</comment>
USB Devices   ---&gt;
</pre>

<p>
Dopo aver impostato le opzioni si può (ri)compilare il kernel: il supporto ALSA
per la propria scheda dovrebbe funzionare dopo il riavvio. Non dimenticarsi di
aggiornare la configurazione di GRUB per usare il nuovo kernel. Procedere con
la sezione <uri link="#alsa-utilities">ALSA Utility</uri> e verificare se tutto
funziona.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Configurare/Testare ALSA</title>
<section id="alsa-utilities">
<title>ALSA Utility</title>
<body>

<p>
<c>alsa-utils</c> è una parte integrante di ALSA e contiene diversi programmi
molto utili, inclusi gli script di avvio ALSA; eer questi motivi ne viene
caldamente raccomandata l'installazione.
</p>

<pre caption="Installare alsa-utils">
# <i>emerge alsa-utils</i>
</pre>

<note>
Se ALSA <e>non</e> è stato compilato come modulo, procedere alla sezione <uri
link="#initscript">Script di avvio ALSA</uri>. Le restanti persone avranno
bisogno di configurare ALSA, compito facilitato dallo strumento <c>alsaconf</c>,
fornito da <c>alsa-utils</c>.
</note>

</body>
</section>
<section id="alsa-config">
<title>Configurazione</title>
<body>

<p>
Versioni recenti di <c>udev</c> (<c>>=udev-103</c>) forniscono una specie di
autoconfigurazione delle scheda sonora a livello kernel. Affidarsi, se
possibile, alla configurazione automatica della scheda sonora da parte del
kernel. Altrimenti usare <c>alsaconf</c> per configurare la propria scheda, come
mostrato di seguito.
</p>

<note>
Chiudere i programmi che <e>potrebbero</e> accedere alla scheda sonora mentre
si esegue <c>alsaconf</c>.
</note>

<p>
Per configurare la propria scheda sonora digitare <c>alsaconf</c> in una shell
come utente root.
</p>

<pre caption="Aprire alsaconf">
# <i>alsaconf</i>
</pre>

<p>
Si entrerà in un'interfaccia a menù guidata che controllerà i dispositivi,
cercando di individuare la scheda sonora, la cui selezione verrà proposta
tramite un elenco. Successivamente verrà chiesta l'autorizzazione per effettuare
i cambiamenti necessari a <path>/etc/modprobe.d/alsa.conf</path>. Infine verrà
impostato il volume in modo adeguato, eseguito <c>update-modules</c> ed avviato
il servizio <path>/etc/init.d/alsasound</path>. Dopo la chiusura di
<c>alsaconf</c>, si può procedere con l'impostazione dello script di avvio ALSA.
</p>

</body>
</section>
<section id="initscript">
<title>Script di avvio ALSA</title>
<body>

<p>
A questo punto è quasi tutto configurato. A prescindere dalla modalità di
installazione di ALSA, è necessario avere uno strumento per caricare i moduli o
inizializzare ALSA e ripristinare le impostazioni del volume all'avvio del
sistema. Lo script di avvio ALSA gestisce tutto questo ed è chiamato
<c>alsasound</c>. Aggiungerlo al runlevel di boot.
</p>

<pre caption="Aggiungere ALSA al runlevel di boot">
# <i>rc-update add alsasound boot</i>
 * alsasound added to runlevel boot
 * rc-update complete.
</pre>

<p>
Controllare il file <path>/etc/conf.d/alsasound</path> e assicurarsi che la
variabile SAVE_ON_STOP sia impostata a yes. Questa opzione salva le impostazioni
sonore all'arresto del sistema.
</p>

</body>
</section>
<section>
<title>Gruppo audio</title>
<body>

<p>
C'è ancora una cosa <e>importante</e> da impostare. Una regola nei sistemi
operativi *nix è quella di non eseguire qualcosa come root se non strettamente
necessario, ed è naturalmente applicabile anche in questo caso. Per la maggior
parte del tempo si utilizzerà il sistema come utente non privilegiato: nel caso
si volesse ascoltare musica o accedere alla scheda sonora, sarà necessario
appartenere al gruppo "audio". Per evitare problemi di permessi nell'accesso
alle periferiche audio, aggiungere gli utenti al gruppo audio, utilizzando
<c>gpasswd</c> da utente root.
</p>

<pre caption="Aggiungere utenti al gruppo audio">
<comment>(Sostituire &lt;nomeutente&gt; con il nome del proprio utente)</comment>
# <i>gpasswd -a &lt;nomeutente&gt; audio </i>
Adding user &lt;nomeutente&gt; to group audio
</pre>

</body>
</section>
<section>
<title>Controllare il volume</title>
<body>

<p>
Avviare ALSA. Se è stato eseguito <c>alsaconf</c> si può saltare questo passo.
</p>

<pre caption="Fare partire il servizio">
# <i>/etc/init.d/alsasound start</i>
</pre>

<p>
Controllare il volume poichè in certi casi è muto. Per fare ciò usare
<c>alsamixer</c>.
</p>

<pre caption="Eseguire alsamixer">
<comment>(Aprire una console. Vengono mostrate solamente le impostazioni richieste)</comment>
# <i>alsamixer</i>
</pre>

<p>
ALSA Mixer <e>dovrebbe</e> mostrarsi così la prima volta che viene eseguito.
Attenzione ai canali Master e PCM che hanno un MM. Significa che sono muti. Se
si prova a ascoltare qualcosa con <c>alsamixer</c> in questo stato non si
sentirà nulla.
</p>

<figure link="/images/docs/alsa-mixermuted.png" short="AlsaMixer Muted"
caption="Finestra principale di Alsa Mixer, Muto"/>

<p>
Togliere il muto ai canali, e impostare il volume al livello desiderato.
</p>

<warn>
Entrambi i canali Master <e>e</e> PCM devono essere attivati e impostati ad un
livello di volume udibile per ascoltare qualche suono dalle proprio casse.
</warn>

<ul>
  <li>
    Per spostarsi tra i canali usare i tasti sinistra e destra.
    (&lt;-&amp;-&gt;)
  </li>
  <li>
    Per cambiare il livello mute, spostarsi sul canale specifico, per esempio
    Master, e premere il tasto <e>m</e>.
  </li>
  <li>
    Per aumentare e diminuire il livello di volume, usare i tasti sù e giù.
  </li>
</ul>

<note>
Attenzione a impostare i valori Bass e Treble. 50 è un buon numero per tutte e
due. Alti valori di Bass potrebbero causare delle <e>vibrazioni</e> nelle casse,
pericolose nel caso in cui quest'ultime non siano progettate per gestirle
adeguatamente.
</note>

<p>
ALSA Mixer dovrebbe essere simile alla figura sottostante. Notare 00 invece di
MM ed i livelli di volume impostati a valori ottimali.
</p>

<figure link="/images/docs/alsa-mixerunmuted.png" short="AlsaMixer Unmuted"
caption="Alsa Mixer pronto"/>

</body>
</section>
<section>
<title>Controllare il suono</title>
<body>

<p>
È ora di sentire qualche canzone. Un modo veloce è quello di usare strumenti a
riga di comando come <c>media-sound/madplay</c>. È possibile usare anche
<c>mpg123</c>.Se si è fan di ogg, usare <c>ogg123</c> fornito da
<c>media-sound/vorbis-tools</c>. È comunque possibile utilizzare il lettore
audio più consono alle proprie necessità, basta <e>emergere</e> quello
desiderato.
</p>

<pre caption="Ottenere il software">
<comment>(Installare l'applicazione desiderata)</comment>
# <i>emerge madplay mpg123</i>
<comment>(Per ascoltare i file .ogg)</comment>
# <i>emerge vorbis-tools</i>
</pre>

<p>
Ora è possibile ascoltare la propria canzone preferita.
</p>

<pre caption="Ascoltare musica">
# <i>madplay -v /mnt/shyam/Music/Paul\ Oakenfold\ -\ Dread\ Rock.mp3</i>
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: Dread Rock
         Artist: Paul Oakenfold
          Album: Matrix Reloaded
           Year: 2003
          Genre: Soundtrack
                 Soundtrack
 00:04:19 Layer III, 160 kbps, 44100 Hz, joint stereo (MS), no CRC

# <i>ogg123 Paul\ Oakenfold\ -\ Dread\ Rock.ogg</i>
Audio Device:   Advanced Linux Sound Architecture (ALSA) output

Playing: Paul Oakenfold - Dread Rock.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Genre: Soundtrack
Transcoded: mp3;160
Title: Dread Rock
Artist: Paul Oakenfold
Date: 2003
Album: Matrix Reloaded
Time: 00:11.31 [04:28.75] of 04:40.06  (200.6 kbps)  Output Buffer  96.9%
</pre>

</body>
</section>
<section>
<title>ALSA e USE</title>
<body>

<p>
Per abilitare il supporto ALSA alle applicazioni che ne fanno uso, è possibile
aggiungere la flag USE <c>alsa</c> a <path>/etc/portage/make.conf</path>. Architetture
come x86 e amd64 hanno la flag abilitata in modo predefinito.
</p>

</body>
</section>
<section>
<title>Problemi?</title>
<body>

<p>
Se per qualche ragione il sonoro non dovesse funzionare, la prima cosa da
controllare sono le impostazioni di <uri link="#doc_chap3_pre6">alsamixer</uri>.
L'80% dei problemi si risolvono perchè i canali erano muti o il volume era
basso. Controllare anche gli applet del proprio Window Manager e verificare che
i volumi siano impostati a livelli accettabili.
</p>

<p>
<path>/proc</path> e <path>/proc/asound</path> sono ulteriori fonti di
informazioni da controllare.
</p>

<pre caption="/proc/asound">
<comment>(Primo, se /proc/asound/cards mostra la scheda in uso, ALSA l'ha
scelta bene.)</comment>
# <i>cat /proc/asound/cards</i>
0 [Live           ]: EMU10K1 - Sound Blaster Live!
                     Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

<comment>(Qui viene visualizzata la versione attualmente in esecuzione)</comment>
# <i>cat /proc/asound/version</i>
Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).

<comment>(Dettagli sull'emulazione OSS di ALSA)</comment>
# <i>cat /proc/asound/oss/sndstat</i>
Sound Driver:3.8.1a-980706 (ALSA v1.0.8 emulation code)
Kernel: Linux airwolf.zion 2.6.11ac1 #2 Wed May 4 00:35:08 IST 2005 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

Audio devices:
0: EMU10K1 (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices:
0: EMU10K1 MPU-401 (UART)

Timers:
7: system timer

Mixers:
0: SigmaTel STAC9721/23
</pre>

<!-- TODO: remove this a few months after alsa-driver leaves the tree -->

<p>
Altro errore comune è il messaggio "Unknown symbol in module". Un esempio è
mostrato di seguito.
</p>

<pre caption="Errore Unknown symbol in module">
# <i>/etc/init.d/alsasound start</i>
 * Loading ALSA modules ...
 *   Loading: snd-card-0 ...                                              [ ok ]
 *   Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
                                                                          [ !! ]
 *   Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
                                                                          [ !! ]
 *   Loading: snd-seq ...                                                 [ ok ]
 *   Loading: snd-emu10k1-synth ...                                       [ ok ]
 *   Loading: snd-seq-midi ...                                            [ ok ]
 * Restoring Mixer Levels ...                                             [ ok ]
</pre>

<p>
Quando si guarda <c>dmesg</c> si vede:
</p>

<pre caption="dmesg output">
<comment>(Sono mostrate solo parti rilevanti)</comment>
# <i>dmesg | less</i>
ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
snd_pcm_oss: Unknown symbol snd_unregister_oss_device
snd_pcm_oss: Unknown symbol snd_register_oss_device
snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card
snd_pcm_oss: Unknown symbol snd_oss_info_register
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
</pre>

<p>
Il problema è causato dal passaggio da <c>alsa-driver</c> ad ALSA nel kernel
perchè quando si toglie <c>alsa-driver</c> i moduli sono protetti dalla
cancellazione per cui vengono preservati. Quando si passa ai driver nel kernel,
eseguendo <c>modprobe</c> viene rilevato un miscuglio tra i moduli di
<c>alsa-driver</c> e del kernel, causando gli errori sopraccitati.
</p>

<p>
La soluzione è abbastanza semplice. Si deve rimuovere manualmente il problema
a seguito della rimozione di <c>alsa-driver</c>. Assicurarsi di rimuovere la
versione del kernel corretta e non quella corrente!
</p>

<pre caption="Rimuovere i moduli di alsa-driver">
# <i>rm -rf /lib/modules/$(uname -r)/alsa-driver</i>
</pre>

<p>
Un'altra causa di messaggi di errore simili a quello appena visto potrebbe
essere un file in <path>/etc/modprobe.d</path> che fornisce un parametro
<c>device_mode</c> quando esso non è richiesto. Verificare che il problema
dipenda da ciò ed individuare il file colpevole.
</p>

<pre caption="Conferma e ricerca di device_mode">
<comment>(Controllare dmesg per conferma)</comment>
# <i>dmesg | grep device_mode</i>
snd: Unknown parameter `device_mode'
<comment>(A questo punto, recuperare la fonte del problema)</comment>
# <i>grep device_mode /etc/modprobe.d/*</i>
</pre>

<p>
Solitamente è un file chiamato <path>alsa</path> contenente la riga <c>options
snd device_mode=0666</c>. Rimuovere questa riga e riavviare il servizio
<c>alsasound</c> per risolvere questo problema.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Altre cose</title>
<section id="midi">
<title>Impostare il supporto MIDI</title>
<body>

<p>
Per prima cosa assicurarsi di abilitare la flag USE <c>midi</c>
in<path>/etc/portage/make.conf</path>, se non è già stato fatto in precedenza. Bisognerà
ri-emergere ogni pacchetto ALSA contenente la flag <c>midi</c>, come
<c>alsa-lib</c>, <c>alsa-utils</c> e <c>alsa-driver</c>.
</p>

<p>
Se la propria scheda sonora ha un sintetizzatore MIDI, per ascoltare i file .mid
bisogna installare <c>awesfx</c>, ovvero un insieme di programmi per controllare
il driver AWE32. Per prima cosa è necessario installarlo. Se non si ha un
sintetizzatore hardware si può usarne uno virtuale. Vedere la sezione <uri
link="#vsynth">Sintetizzatore virtuale</uri> per ulteriori informazioni.
</p>

<pre caption="Installare awesfx">
# <i>emerge awesfx</i>
</pre>

<note>
Copiare i file SoundFont (SF2) dal CD con i driver della scheda sonora o da una
installazione Windows in <path>/usr/share/sounds/sf2/</path>. Per esempio un
file di font audio per la scheda Creative SBLive! potrebbe essere 8MBGMSFX.SF2.
</note>

<p>
Dopo aver copiato i file Soundfont, si può ascoltare un file midi. Ino
ltre è possibile aggiungere il comando <c>asfxload</c> in
<path>/etc/conf.d/local.start</path>, per caricare automaticamente il font audio
ad ogni avvio del sistema.
</p>

<note>
Il percorso <path>/mnt</path> mostrato qui di seguito potrebbe non essere
uguale a quello sulla propria macchina. E' solo un esempio. Cambiare il percorso
in base alle proprie opzioni.
</note>

<pre caption="Caricare Soundfonts">
<comment>(Copiare Soundfont)</comment>
# <i>cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/</i>
<comment>(O scaricarlo dal CD SoundBlaster)</comment>
# <i>cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/</i>
<comment>(Caricare lo specifico Soundfont)</comment>
# <i>asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2</i>
</pre>

<p>
Si possono ascoltare i file midi con un programma come
<c>aplaymidi</c>. Eseguire <c>aplaymidi -l</c> per avere
la lista delle porte disponibili e selezionarne una per ascoltare il file.
</p>

<pre caption="Ascoltare un MIDI">
<comment>(Controllare le porte aperte)</comment>
# <i>aplaymidi -l</i>
 Port    Client name                      Port name
 64:0    EMU10K1 MPU-401 (UART)           EMU10K1 MPU-401 (UART)
 65:0    Emu10k1 WaveTable                Emu10k1 Port 0
 65:1    Emu10k1 WaveTable                Emu10k1 Port 1
 65:2    Emu10k1 WaveTable                Emu10k1 Port 2
 65:3    Emu10k1 WaveTable                Emu10k1 Port 3
<comment>(Scegliere una porta e ascoltare un file mid)</comment>
# <i> aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid</i>
</pre>

</body>
</section>
<section id="vsynth">
<title>Sintetizzatore virtuale</title>
<body>

<p>
Se la propria scheda sonora non ha un sintetizzatore hardware, è possibile
utilizzare <c>timidity++</c>.
</p>

<pre caption="Installare timidity++">
# <i>emerge timidity++</i>
</pre>

<p>
Timidity, per funzionare, ha bisogno di un font audio . Fortunatamente, l'ebuild
ne installerà automaticamente alcuni. Ci sono altri pacchetti di font
disponibili in Portage, tra cui <c>timidity-freepats</c> e
<c>timidity-eawpatches</c>. Si possono avere varie configurazioni di font audio
installate,e posizionare le proprie in <path>/usr/share/timidity/</path>. Per
passare da una configurazione ad un'altra, usare <e>eselect</e>.
</p>

<pre caption="Cambiare la configurazione">
# <i> eselect timidity list</i>
# <i> eselect timidity set eawpatches</i>
</pre>

<p>
Non dimenticarsi di aggiungere <c>timidity</c> al runlevel di default.
</p>

<pre caption="Aggiungere timidity al runlevel di default">
# <i>rc-update add timidity default</i>
# <i>/etc/init.d/timidity start</i>
</pre>

<p>
Ora si può provare ad <uri link="#doc_chap4_pre3">ascoltare i file MIDI</uri>.
</p>

</body>
</section>
<section>
<title>Strumenti e firmware</title>
<body>

<p>
Alcune schede audio possono beneficiare di alcuni strumenti forniti dai
pacchetti <c>alsa-tools</c> e <c>alsa-firmware</c>. È possibile installare
entrambi tramite un semplice <c>emerge</c>.
</p>

<pre caption="Installare ALSA Tools">
# <i>emerge alsa-tools</i>
</pre>

</body>
</section>
<section>
<title>Schede audio multiple</title>
<body>

<p>
È possibile gestire contemporaneamente più schede audio nel proprio sistema,
grazie alla compilazione modulare di ALSA nel kernel. Basta specificare quale
dev'essere avviata per prima tramite il file
<path>/etc/modprobe.d/alsa.conf</path>. In questo file le schede sono
identificate tramite i nomi dei corrispondenti driver. 0 è la prima scheda, 1 la
seconda, e così via. Viene proposto un esempio per un sistema con due schede
sonore.
</p>

<pre caption="Due schede sonore in /etc/modprobe.d/alsa.conf">
options snd-emu10k1 index=0
options snd-via82xx index=1
</pre>

<p>
Oppure, se si hanno due schede che utilizzano lo stesso driver, si può
specificarle entrambe sulla stessa riga, usando numeri separati da virgole.
Viene mostrato un esempio per un sistema con tre schede sonore, due delle quali
sono la stessa scheda Intel High Definition Audio.
</p>

<pre caption="Schede sonore multiple in /etc/modprobe.d/alsa.conf">
options snd-ymfpci index=0
options snd-hda-intel index=1,2
</pre>

</body>
</section>
<section>
<title>Plugin</title>
<body>

<p>
È possibile installare dei plugin per ottenere funzionalità aggiuntive.
<c>alsa-plugins</c> è una collezione di utili plugin, che include:
uscita PulseAudio, un convertitore di frequenza di campionamento, jack (un
server audio a bassa latenza), un encoder che permette un uscita a 6 canali
tramite una connessione digitale S/PFID (sia ottica che coassiale). Si può
scegliere quale di questi plugin installare aggiungendo le rispettive flag USE
in <path>/etc/portage/package.use</path>.
</p>

<pre caption="Installare alsa-plugins">
# <i>emerge -avt alsa-plugins</i>
</pre>

</body>
</section>
<section>
<title>Un grande ringraziamento a...</title>
<body>

<p>
Tutti quelli che hanno contribuito alla versione precedente della Guida ALSA
Gentoo: Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston,
John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft e Erwin.
</p>

</body>
</section>
<section>
<title>Riferimenti</title>
<body>

<ul>
  <li><uri link="http://www.alsa-project.org/">The ALSA Project</uri></li>
  <li><uri link="http://linux-sound.org">Linux Sound/MIDI Software</uri></li>
</ul>

</body>
</section>
</chapter>
</guide>
