Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1189

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Linux Sound HOWTO: Risposte alle domande frequenti (FAQ)</TITLE>
 <LINK HREF="Sound-HOWTO-7.html" REL=next>
 <LINK HREF="Sound-HOWTO-5.html" REL=previous>
 <LINK HREF="Sound-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="Sound-HOWTO-7.html">Avanti</A>
<A HREF="Sound-HOWTO-5.html">Indietro</A>
<A HREF="Sound-HOWTO.html#toc6">Indice</A>
<HR>
<H2><A NAME="s6">6. Risposte alle domande frequenti (FAQ)</A></H2>

<P>
<P>Questa sezione risponde a qualcuna delle domande che vengono
comunemente poste nei newsgroup Usenet e nelle mailing list.
<P>Risposte ad altre domande possono essere trovate alla pagina
web del driver sonoro OSS.
<P>
<H2><A NAME="ss6.1">6.1 Cosa sono i vari file dispositivo audio?</A>
</H2>

<P>
<P>Gran parte dei nomi dei dispositivi audio sono standard, ma
in qualche distribuzione di Linux potrebbero avere nomi
leggermente differenti.
<P>
<DL>
<DT><B>/dev/audio</B><DD><P>Normalmente un link a /dev/audio0
<DT><B>/dev/audio0</B><DD><P>Dispositivo audio compatibile con le
workstation Sun (&egrave; solo un implementazione parziale, non supporta
l'interfaccia ioctl di Sun, solo la codifica u-law)
<DT><B>/dev/audio1</B><DD><P>Secondo dispositivo audio (se supportato
dalla scheda audio o se vi &egrave; pi&ugrave; di una scheda audio installata)
<DT><B>/dev/dsp</B><DD><P>Normalmente un link /dev/dsp0
<DT><B>/dev/dsp0</B><DD><P>Primo dispositivo di campionamento digitale
<DT><B>/dev/dsp1</B><DD><P>Secondo dispositivo di campionamento digitale
<DT><B>/dev/mixer</B><DD><P>Normalmente un link a /dev/mixer0
<DT><B>/dev/mixer0</B><DD><P>Primo mixer audio
<DT><B>/dev/mixer1</B><DD><P>Secondo mixer audio
<DT><B>/dev/music</B><DD><P>Interfaccia ad alto livello del sequencer
<DT><B>/dev/sequencer</B><DD><P>Accesso a basso livello di MIDI, FM e GUS
<DT><B>/dev/sequencer2</B><DD><P>Normalmente un link a /dev/music
<DT><B>/dev/midi00</B><DD><P>Prima porta raw MIDI
<DT><B>/dev/midi01</B><DD><P>Seconda porta raw MIDI
<DT><B>/dev/midi02</B><DD><P>Terza porta raw MIDI
<DT><B>/dev/midi03</B><DD><P>Quarta porta raw MIDI
<DT><B>/dev/sndstat</B><DD><P>Se letto riporta lo stato del driver sonoro (anche come
/proc/sound) 
</DL>
<P>Il driver per l'altoparlante del PC fornisce i seguenti dispositivi:
<P>
<DL>
<DT><B>/dev/pcaudio</B><DD><P>Equivalente a /dev/audio
<DT><B>/dev/pcsp</B><DD><P>Equivalente a /dev/dsp
<DT><B>/dev/pcmixer</B><DD><P>Equivalente a /dev/mixer
</DL>
<P>
<H2><A NAME="ss6.2">6.2 Come posso riprodurre un file audio?</A>
</H2>

<P>
<P>I file (.au) delle workstation Sun possono essere riprodotti reindirizzandoli
a /dev/audio . I file ``raw'' possono essere riprodotti
reindirizzandoli su /dev/dsp. &Egrave; preferibile usare comunque un
programma tipo <CODE>play</CODE>, visto che riconosce la maggior parte di file e
imposta la scheda sonora sulla giusta frequenza di campionamento, ecc.
<P>I programmi come wavplay o vplay (contenuti nel pacchetto snd-util)
daranno i migliori risultati con i file WAV. Comunque sia
essi non riconosceranno i file compressi Microsoft WAV ADPCM.
Inoltre le vecchie versioni di play (contenute nel pacchetto Lsox) non
funzioneranno perfettamente con i file WAV a 16 bit.
<P>Il comando splay contenuto nel pacchetto snd-util pu&ograve; essere usato
per riprodurre la maggior parte dei file audio, se si impostano manualmente
i giusti parametri nella riga di comando.
<P>
<H2><A NAME="ss6.3">6.3 Come posso registrare un file audio?</A>
</H2>

<P>
<P>La lettura di /dev/audio o /dev/dsp produrr&agrave; dei
dati campionati che possono essere rediretti su un file. Un programma come
<CODE>vrec</CODE> render&agrave; pi&ugrave; agevole il controllo della frequenza di
campionamento, della durata, ecc. Probabilmente si avr&agrave; anche bisogno
di un programma mixer per selezionare il dispositivo di input appropriato.
<P>
<H2><A NAME="ss6.4">6.4 Posso avere pi&ugrave; di una scheda?</A>
</H2>

<P>
<P>Con l'attuale driver sonoro &egrave; possibile avere diverse schede SoundBlaster,
SoundBlaster/Pro, SoundBlaster16, MPU-401 o MSS contemporaneamente
nello stesso sistema. L'installazione di due SoundBlaster &egrave; possibile ma
richiede la definizione delle macro SB2_BASE, SB2_IRQ, SB2_DMA
e (in qualche caso) SB2_DMA2 tramite la modifica manuale di
local.h. &Egrave;  anche possibile avere una SoundBlaster
e una PAS16 allo stesso tempo.
<P>Con i nuovi kernel 2.0, che configurano il supporto per il suono usando
make config, al posto di local.h, si avr&agrave; bisogno di modificare
il file /usr/include/linux/autoconf.h. Dopo la parte contenente
le linee:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#define SBC_BASE 0x220
#define SBC_IRQ (5)
#define SBC_DMA (1)
#define SB_DMA2 (5)
#define SB_MPU_BASE 0x0
#define SB_MPU_IRQ (-1)
</PRE>
</CODE></BLOCKQUOTE>
<P>si aggiungano queste linee (con i valori giusti per il proprio sistema):
<P>
<BLOCKQUOTE><CODE>
<PRE>
#define SB2_BASE 0x330
#define SB2_IRQ (7)
#define SB2_DMA (2)
#define SB2_DMA2 (2)
</PRE>
</CODE></BLOCKQUOTE>
<P>I seguenti driver non permettono installazioni multiple:
<P>
<UL>
<LI>GUS (limitazione del driver)</LI>
<LI>MAD16 (limitazione dell'hardware)</LI>
<LI>AudioTrix Pro (limitazione dell'hardware)</LI>
<LI>CS4232 (limitazione dell'hardware)</LI>
</UL>
<P>
<H2><A NAME="ss6.5">6.5 Error: No such file or directory for sound devices</A>
</H2>

<P>
<P>
<P>Si devono creare i file dispositivo per il driver sonoro. Controllate la sezione sulla
``Creazione dei file dispositivo'' . Se ci sono, assicuratevi che abbiano il
corretto ``minor'' e ``major number'' (alcune vecchie distribuzioni di Linux sui
CD-ROM non creano i file dispositivo corretti al momento dell'installazione).
<P>
<H2><A NAME="ss6.6">6.6 Error: No such device for sound devices</A>
</H2>

<P>
<P>Non avete eseguito il boot di un kernel compilato con il supporto per il
suono o la configurazione dell'indirizzo di I/O non corrisponde al vostro
hardware. Controllate se avete usato il kernel giusto e verificate che
l'impostazione dei parametri della vostra scheda, assegnati in fase di
configurazione del driver sonoro, corrisponda esattamente
all'impostazione della scheda stessa.
<P>
<H2><A NAME="ss6.7">6.7 Error: No space left on device for sound devices</A>
</H2>

<P>
<P>Pu&ograve; succedere se provate a registrare dati attraverso /dev/audio o
/dev/dsp senza aver creato i necessari file dispositivo. Il
dispositivo sonoro ora &egrave; un file normale, e ha riempito la vostra
partizione. Dovete eseguire lo script documentato nella sezione ``Creazione dei
file dispositivo'' in questo documento.
<P>Si pu&ograve; incorrere in questo errore anche con Linux 2.0 e successivi se non
vi &egrave; abbastanza RAM di sistema libera per aprire il dispositivo. Il driver
audio richiede almeno due pagine (8k) di RAM fisica contigua per ogni
canale DMA. Questo accade a volte nelle macchine con meno di 16M di
RAM o in quelle che sono rimaste accese per molto tempo. Potrebbe
essere possibile liberare della memoria RAM compilando ed eseguendo
il seguente programma C prima di provare a utilizzare il dispositivo audio
di nuovo:
<P>
<BLOCKQUOTE><CODE>
<PRE>
main() {
  int i;
  char mem[500000];
  for (i = 0; i &lt; 500000; i++)
    mem[i] = 0;
  exit(0);
}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss6.8">6.8 Error: Device busy for sound devices</A>
</H2>

<P>
<P>Il dispositivo audio pu&ograve; essere aperto da un solo processo per volta.
Molto probabilmente qualche altro processo sta usando il dispositivo
in questione. Una maniera per esserne sicuri &egrave; quella di utilizzare il
comando <CODE>fuser</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% fuser -v /dev/dsp
/dev/dsp:             USER       PID ACCESS COMMAND
                      tranter    265 f....  tracker
</PRE>
</CODE></BLOCKQUOTE>
<P>In questo esempio, il comando <CODE>fuser</CODE> ci mostra come il processo numero
265 abbia aperto il dispositivo. Per accedere nuovamente al dispositivo audio
si deve aspettare che il processo termini o si procede a un ``kill'' del processo
stesso. Per vedere accessi al dispositivo fatti da altri utenti il comando
<CODE>fuser</CODE> deve essere eseguito come utente root.
<P>In qualche sistema si dovr&agrave; essere root per vedere con il comando
<CODE>fuser</CODE> i processi degli altri utenti.
<P>
<H2><A NAME="ss6.9">6.9 Mi d&agrave; ancora l'errore di ``device busy''!</A>
</H2>

<P>
<P>In accordo con quello che dice Brian Gough, per le schede SoundBlaster
che usano il canale DMA 1 vi &egrave; un potenziale conflitto con il driver
dello streamer QIC-02, che usa il canale DMA 1, causando errori del
tipo ``device busy''. Se si sta usando FTAPE probabilmente si &egrave; abilitato
questo driver. Come dice il FTAPE-HOWTO il driver QIC-02 non &egrave;
essenziale per l'uso di FTAPE; &egrave; richiesto solo il driver QI-117.
La riconfigurazione del kernel con l'inclusione del driver QI-117
e l'esclusione del driver QI-02 consente a FTAPE ed al driver sonoro
di coesistere.
<P>
<H2><A NAME="ss6.10">6.10 Playback parziale di un file sonoro digitale</A>
</H2>

<P>
<P>Il sintomo &egrave; normalmente che il file audio suona per circa un secondo e
poi si blocca completamente oppure riporta un errore tipo: ``missing IRQ'' o
``DMA timeout''. Probabilmente avete delle impostazioni degli IRQ o DMA sbagliate.
Verificate che la configurazione del kernel corrisponda alle impostazioni dei
jumper della vostra scheda e che gli stessi non siano in conflitto con
qualche altra scheda installata nel sistema.
<P>Un altro sintomo &egrave; il file audio che provoca un <EM>loop</EM>. Questo &egrave;
normalmente causato da un conflitto di IRQ.
<P>
<P>
<H2><A NAME="ss6.11">6.11 Pause nella riproduzione di file MOD</A>
</H2>

<P>
<P>L'esecuzione dei file MOD richiede un grande impiego di CPU. O
avete troppi processi attivi o il vostro computer &egrave; troppo lento per
l'esecuzione in ``real time''. Avete alcune possibilit&agrave;:
<P>
<UL>
<LI>Provate ad eseguire il file con una minore frequenza di campionamento o
in modalit&agrave; ``mono''</LI>
<LI>Eliminate altri processi attivi</LI>
<LI>Compratevi un computer pi&ugrave; veloce</LI>
<LI>Comprate una scheda sonora pi&ugrave; potente (ad es. Gravis UltraSound)</LI>
</UL>
<P>Se avete una scheda Gravis UltraSound, dovete usare uno dei programmi per
eseguire i file mod scritti specificatamente per la GUS (ad es. <CODE>gmod</CODE>).
<P>
<H2><A NAME="ss6.12">6.12 Errori di compilazione quando compilo applicazioni sonore</A>
</H2>

<P>
<P>La versione 1.0c e precedenti del driver sonoro usavano uno schema diverso
e incompatibile dell'<CODE>ioctl()</CODE> . Si ottenga il nuovo codice o
si effettuino i necessari cambiamenti per adattarlo al nuovo driver sonoro.
Controllate il file <CODE>Readme</CODE> del driver sonoro per i dettagli.
<P>Controllate comunque di usare l'ultima versione di soundcard.h e
di ultrasound.h quando compilate l'applicazione. Guardate le
istruzioni per l'installazione all'inizio di questo testo.
<P>
<H2><A NAME="ss6.13">6.13 SEGV quando eseguo applicazioni audio che prima funzionavano</A>
</H2>

<P>
<P>Questo &egrave; probabilmente lo stesso problema affrontato nella domanda precedente.
<P>
<H2><A NAME="ss6.14">6.14 Quali sono i bug e le limitazioni del driver sonoro?</A>
</H2>

<P>
<P>Si controllino i file inclusi con i sorgenti del driver sonoro del kernel.
<P>
<H2><A NAME="ss6.15">6.15 Dove sono documentati gli ioctls() ecc. del driver sonoro?</A>
</H2>

<P>
<P>Attualmente la migliore documentazione che non sia il codice sorgente &egrave;
disponibile sul sito web della 4Front Technologies, 
<A HREF="http://www.opensound.com">http://www.opensound.com</A>.
Un'altra fonte di informazioni &egrave; la <EM>Linux Multimedia Guide</EM>, di cui si
parla nella sezione ``Riferimenti''.
<P>
<H2><A NAME="ss6.16">6.16 Quanto deve essere potente la CPU per riprodurre o registrare senza pause?</A>
</H2>

<P>
<P>Non vi &egrave; una facile risposta a questa domanda, poich&eacute; dipende da:
<P>
<UL>
<LI>uso di campioni PCM o sintesi FM</LI>
<LI>frequenza di campionamento e dimensioni del campione</LI>
<LI>quale applicazione di usa per riprodurre o registrare</LI>
<LI>hardware della scheda audio</LI>
<LI>velocit&agrave; di I/O del disco, clock della CPU, dimensione della cache
ecc.</LI>
</UL>
<P>In generale ogni 386 dovrebbe essere in grado di riprodurre con facilit&agrave;
campioni o musica sintetizzata tramite FM con una scheda audio a 8 bit.
<P>La riproduzione dei file MOD, per&ograve;, richiede un considerevole impiego di CPU.
Test sperimentali hanno mostrato che riprodurre a 44KHz richiede
pi&ugrave; del 40% della potenza di un 486/50 e che un 386/25 difficilmente pu&ograve;
andare pi&ugrave; in l&agrave; dei 22KHz (il tutto con una scheda audio a 8 bit come la
SoundBlaster). Una scheda come la Gravis Ultrasound dispone di maggiori
funzioni nel suo hardware ed impiegher&agrave; meno tempo di CPU.
<P>Queste affermazioni sottointendono che il computer non stia eseguendo
nessun altro programma che richieda un forte uso della CPU.
<P>La conversione di file audio o l'aggiunta di effetti usando un
programma di utilit&agrave; come <CODE>sox</CODE> &egrave; molto pi&ugrave; veloce
se si dispone di un coprocessore matematico
(o di una CPU con FPU on board). Comunque il driver del
kernel non esegue nessun calcolo in virgola mobile.
<P>
<H2><A NAME="ss6.17">6.17 Problemi con la PAS16 e un adattatore SCSI Adaptec 1542</A>
</H2>

<P>
<P>(La spiegazione seguente &egrave; stata fornita da
<CODE>seeker@indirect.com</CODE>)
<P>Linux riconosce il 1542 all'indirizzo 330 (predefinito) o 334, e la PAS
permette l'emulazione MPU-401 solo a 330. Anche se si disabilita
MPU-401 via software, c'&egrave; ancora qualcosa che entra in conflitto con
il 1542 se esso usa il suo indirizzo preferenziale. Spostare il 1542 su
334 rende tutti felici.
<P>
<P>In aggiunta, sia la 1542 che la PAS-16 usano un DMA a 16-bit, cosicch&eacute; se
campionate a 16-bit 44KHz stereo e salvate il file su un drive SCSI attaccato
alla 1542, preparatevi a incontrare problemi. I DMA si sovrappongono e non
c'&egrave; il tempo sufficiente per un ``refresh'' della RAM, e vi trovate un bel
messaggio ``PARITY ERROR - SYSTEM HALTED'', senza rendervi conto di quale sia
stata la causa. Ancora peggio alcuni rivenditori di terze parti raccomandano,
con i tape drives QIC-117, di impostare i tempi on/off del bus come il 1542
anche se sono pi&ugrave; lunghi del normale. Procuratevi il programma SCSISEL.EXE
dalla BBS della Adaptec o da qualche altro sito di Internet, abbassate il
``time'' BUS ON o incrementate il BUS OFF finch&eacute; il problema scompare, poi
muovetelo di una tacca o pi&ugrave; in avanti. Lo SCSISEL cambia le impostazioni della
EEPROM, cos&igrave; la modifica diventa permanente e non avete bisogno di aggiungere
una riga nel CONFIG.SYS del DOS, e potete avviare direttamente Linux
ignorando i driver del DOS. Prossimo problema: risolto!
<P>
<P>Ultimo problema - i vecchi chipset Symphony riducevano drasticamente i
cicli di I/O per velocizzare i tempi di accesso al bus. Nessuna delle
varie schede che ho usato hanno dato problemi con il timing ridotto a
eccezione della PAS16. La BBS della Media Vision propone il programma
SYMPFIX.EXE che, si suppone, risolva il problema attivando il bit di
diagnostica nel controller del bus della Symphony, ma non &egrave; garantito
totalmente. Avete bisogno di:
<P>
<UL>
<LI>Contattare il distributore della scheda madre per sostituire la
vecchia versione del chip del bus</LI>
<LI>Cambiare la scheda madre</LI>
<LI>Comprare un altro tipo di scheda sonora</LI>
</UL>
<P>
<P>Young Microsystem propone un aggiornamento della scheda che importa per circa
$30 (USA); altri produttori dovrebbero comportarsi allo stesso modo se riuscite
a dimostrare chi altro importa la motherboard (buona fortuna!). Il problema &egrave;
nel chip dell'interfaccia per il bus ProAudio, per&ograve; molto pi&ugrave; lontano di
quanta non sia la mia ansia; <EM>nessuno</EM> compra una scheda sonora da
$120 e la piazza su un bus AT a 6MHz. La maggior parte si avvale di un
computer a 25/40Mhz tipo 386/486, e dovrebbe riuscire ad ottenere
<EM>perlomeno</EM> 12MHz di velocit&agrave; del bus se i chip sono progettati
correttamente. Uscita dal pulpito (scala sinistra).
<P>
<P>Il primo problema dipende dal chipset usato sulla vostra scheda madre, dalla
velocit&agrave; del bus e da altre impostazioni del BIOS, e dalle fasi della luna.
Il secondo problema dipende dalle opzioni di ``refresh'' (nascoste o
sincronizzate), dalla velocit&agrave; del canale DMA del 1542 e (forse) dalla
velocit&agrave; di accesso I/O al bus. Il terzo lo si determina chiamando la Media
Vision e chiedendo quale tipo di chip Symphony &egrave; incompatibile con il suo
design lento. Fate attenzione: 3 su 4 dei tecnici con cui mi hanno fatto
parlare erano degli idioti.  Dovevo diffidare di <EM>qualsiasi</EM> cosa mi
dicessero su altro hardware, visto che non conoscevano molto bene
neanche il loro.
<P>
<P>
<H2><A NAME="ss6.18">6.18 &Egrave; possibile registrare e riprodurre simultaneamente?</A>
</H2>

<P>
<P>I driver di qualche scheda audio supportano la modalit&agrave; full duplex. Si faccia
riferimento alla documentazione della 4Front Technologies per informazioni su
come utilizzare questa particolarit&agrave;.
<P>
<H2><A NAME="ss6.19">6.19 La mia SB16 &egrave; impostata su IRQ 2, ma configure non permette di scegliere questo valore di IRQ.</A>
</H2>

<P>
<P>Sui 286 e successivi l'IRQ 2 &egrave; collegato in cascata al secondo
controller di interrupt. &Egrave; equivalente all'IRQ 9.
<P>
<H2><A NAME="ss6.20">6.20 Sono supportate la SoundBlaster AWE32 o la SoundBlaster16 ASP?</A>
</H2>

<P>
<P>Nel passato la Creative Labs non voleva rendere pubbliche le
informazioni di programmazione di queste schede. Adesso hanno
cambiato opinione e un driver per AWE &egrave; oggi incluso nei kernel
Linux 2.1.x.
<P>
<H2><A NAME="ss6.21">6.21 Se sto usando Linux, e faccio un reboot con DOS, mi d&agrave; errori e/o le applicazioni sonore non funzionano.</A>
</H2>

<P>
<P>Questo pu&ograve; succedere dopo un ``soft-reboot'' al DOS. Alle volte il
messaggio di errore fa riferimento, erroneamente, a un errore nel file
CONFIG.SYS.
<P>La maggior parte delle attuali schede sonore hanno la possibilit&agrave; di impostare
IRQ e DMA via software. Se usate impostazioni differenti per Linux e per
MS-DOS/Windows, potreste avere problemi. Alcune schede non accettano nuovi
parametri senza un reset completo (ovvero, spegnere il computer o usare il
pulsantino di reset).
<P>La soluzione pi&ugrave; semplice a questo problema consiste nell'effettuare un
reboot completo tramite il pulsantino di reset o lo spegnimento della macchina
anzich&eacute; un ``soft reboot'' (ovvero Ctrl-Alt-Canc).
<P>La soluzione corretta consiste nell'impostare gli stessi IRQ e DMA sia con
MS-DOS che con Linux (o non usare DOS :-)).
<P>
<H2><A NAME="ss6.22">6.22 Problemi con DOOM sotto Linux</A>
</H2>

<P>
<P>Gli utilizzatori del porting del gioco della ID Software DOOM per
Linux potrebbero essere interessati a queste notizie.
<P>Per un corretto risultato sonoro usate la versione 2.90 o successive del
driver sonoro; ha il supporto per la nuova modalit&agrave; in real-time <CODE>DOOM
Mode</CODE>.
<P>I campioni sonori sono a 16-bit. Se avete una scheda audio a 8 bit potete
comunque far funzionare il sonoro usando uno dei programmi disponibili
su 
<A HREF="ftp://metalab.unc.edu/pub/Linux/games/doom">ftp://metalab.unc.edu/pub/Linux/games/doom</A>.
<P>Se DOOM risultasse lento sul vostro sistema, disabilitando il sonoro (basta
rinominare il file <CODE>sndserver</CODE>) dovrebbero aumentare le prestazioni.
<P>La musica in DOOM non &egrave; attivata per predefinizione (come nella
versione DOS). Il programma <CODE>musserver</CODE> aggiunge il supporto
per la musica a DOOM per Linux. &Egrave; reperibile a questo indirizzo: 
<A HREF="ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz">ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz</A>.
<P>
<H2><A NAME="ss6.23">6.23 Come posso ridurre il rumore nella mia scheda audio? </A>
</H2>

<P>
<P>L'uso di cavi schermati di buona qualit&agrave; e provare la scheda audio
su slot differenti pu&ograve; aiutare a ridurre il rumore. Se la
scheda audio ha una regolazione per il volume si possono provare
le differenti posizioni consentite (il massimo &egrave; probabilmente la
scelta migliore). Si usi un programma mixer per assicurarsi che
le entrate non volute (ad es. il microfono) siano poste a guadagno zero.
<P>Philipp Braunbeck dice di aver trovato sulla sua scheda audio
ESS-1868 un jumper che permetteva di escludere l'amplificatore della scheda
stessa, che altrimenti produceva rumore.
<P>Su un sistema 386 ho scoperto che l'opzione di avvio del kernel <CODE>no-hlt</CODE>
riduce il livello di rumore. Serve a dire al kernel di non usare
l'istruzione halt mentre esegue il loop del processo idle. Potete
provarla anche voi manualmente al boot o attraverso LILO
usando il comando <CODE>append="no-hlt"</CODE> nel vostro file
di configurazione di LILO.
<P>Qualche scheda audio semplicemente non &egrave; progettata con una
buona schermatura e messa terra ed &egrave; quindi esposta a questo tipo
di problemi.
<P>
<H2><A NAME="ss6.24">6.24 Posso riprodurre suoni, ma non registrarli</A>
</H2>

<P>
<P>Se potete riprodurre suoni, ma non registrarli, provate a seguire
questi passi:
<P>
<UL>
<LI> Usate un programma mixer per selezionare la sorgente
appropriata (ad es. il microfono)</LI>
<LI> Usate un programma mixer per impostare al massimo il
livello di guadagno in input</LI>
<LI>Se potete, provate a registrare da MS-DOS per
determinare se si tratta di un problema hardware</LI>
</UL>
<P>A volte i canali DMA usati per registrare e per riprodurre sono
differenti. In questo caso la causa pi&ugrave; probabile del malfunzionamento
&egrave; che i canali DMA siano stati impostati in maniera errata.
<P>
<H2><A NAME="ss6.25">6.25 La mia scheda audio ``compatibile'' funziona solo se prima la inizializzo da MS-DOS.</A>
</H2>

<P>
<P>In molti casi una scheda ``SoundBlaster compatibile'' funzioner&agrave; meglio
sotto Linux se configurata con un driver diverso da quello SoundBlaster.
Molte schede audio dicono di essere compatibili (ad es. ``compatibile
SB Pro 16 bit'' o ``compatibile SB 16 bit'') ma normalmente la modalit&agrave;
SoundBlaster &egrave; solo un trucco per mantenere la compatibilit&agrave; con i giochi
di DOS. Molte schede hanno una modalit&agrave; nativa a 16 bit che
probabilmente sar&agrave; supportata dalle recenti versioni di Linux (2.0.1 e
successive).
<P>Solo con qualche scheda audio (normalmente abbastanza vecchia) &egrave;
necessario provare a farla funzionare in modalit&agrave; SoundBlaster. Le
sole schede audio recenti che fanno eccezione a questa regola sono
quelle basate su Mwave.
<P>
<H2><A NAME="ss6.26">6.26 La mia scheda audio ``compatibile'' SoundBlaster 16 bit funziona solo in modalit&agrave; 8 bit sotto Linux.</A>
</H2>

<P>
<P>Le schede audio a 16 bit definite SoundBlaster compatibili sono in
effetti compatibili con la SoundBlaster Pro 8 bit. Normalmente hanno
una modalit&agrave; a 16 bit che non &egrave; compatibile con la SoundBlaster 16
e non &egrave; compatibile con il driver sonoro di Linux.
<P>Potreste riuscire a farle funzionare in modalit&agrave; 16 bit usando il driver
MAD16 o MSS/WSS.
<P>
<H2><A NAME="ss6.27">6.27 Dove posso trovare applicazioni sonore per Linux?</A>
</H2>

<P>
<P>Ecco qua qualche buon archivio su cui andare a cercare
applicazioni sonore specifiche per Linux:
<P>
<UL>
<LI> 
<A HREF="ftp://metalab.unc.edu:/pub/Linux/kernel/sound/">ftp://metalab.unc.edu:/pub/Linux/kernel/sound/</A></LI>
<LI> 
<A HREF="ftp://metalab.unc.edu:/pub/Linux/apps/sound/">ftp://metalab.unc.edu:/pub/Linux/apps/sound/</A></LI>
<LI> 
<A HREF="ftp://tsx-11.mit.edu:/pub/linux/packages/sound/">ftp://tsx-11.mit.edu:/pub/linux/packages/sound/</A></LI>
<LI> 
<A HREF="ftp://nic.funet.fi:/pub/Linux/util/sound/">ftp://nic.funet.fi:/pub/Linux/util/sound/</A></LI>
<LI> 
<A HREF="ftp://nic.funet.fi:/pub/Linux/xtra/snd-kit/">ftp://nic.funet.fi:/pub/Linux/xtra/snd-kit/</A></LI>
<LI> 
<A HREF="ftp://nic.funet.fi:/pub/Linux/ALPHA/sound/">ftp://nic.funet.fi:/pub/Linux/ALPHA/sound/</A></LI>
</UL>
<P>Si veda anche la sezione ``Riferimenti'' di questo documento.
<P>
<H2><A NAME="ss6.28">6.28 Il driver sonoro pu&ograve; essere compilato come modulo caricabile?</A>
</H2>

<P>
<P>Con i kernel pi&ugrave; recenti il driver sonoro pu&ograve; anche essere compilato
e utilizzato nella forma di diversi moduli caricabili.
<P>Si dia un'occhiata al file /usr/src/linux/Documentation/sound,
e specialmente al file Introduction e
README.modules.
<P>
<H2><A NAME="ss6.29">6.29 Posso usare la scheda audio per rimpiazzare il beep di console?</A>
</H2>

<P>
<P>Provate il programma <CODE>oplbeep</CODE>, che si trova su
<A HREF="ftp://metalab.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz">ftp://metalab.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz</A><P>Altra variante &egrave; il programma <CODE>beep</CODE> su 
<A HREF="ftp://metalab.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz">ftp://metalab.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz</A><P>Il pacchetto <CODE>modutils</CODE> contiene un programma di esempio e una patch
per il kernel che consente di chiamare un programma esterno per generare suoni
su richiesta del kernel.
<P>In alternativa con qualche scheda audio &egrave; possibile connettere l'output
dello speaker del PC alla scheda audio in modo tale che tutti i suoni vengano
dagli speaker della scheda audio.
<P>
<H2><A NAME="ss6.30">6.30 Cos'&egrave; VoxWare?</A>
</H2>

<P>
<P>La versione commerciale dei driver sonori commercializzati da 4Front
Technologies era stata chiamata, in precedenza <EM>VoxWare</EM>, <EM>USS</EM>
(Unix Sound System), e anche <EM>TASD</EM> (Temporarily Anonymous Sound
Driver). &Egrave; adesso venduta come <EM>OSS</EM> (Open Sound
System). Alla versione presente nel kernel si fa spesso riferimento con
il nome <EM>OSS/Free</EM>.
<P>Per maggiori informazioni si veda il sito web della 4Front Technologies  
<A HREF="http://www.opensound.com/">http://www.opensound.com/</A>. Ho scritto un articolo su OSS/Linux nel
numero di Giugno  1997 del 
<A HREF="http://www.ssc.com/lj/">Linux Journal</A>.
<P>
<H2><A NAME="ss6.31">6.31 Sox/Play/Vplay mi danno l'errore ``invalid block size 1024''</A>
</H2>

<P>
<P>Una modifica del driver sonoro effettuata nella versione 1.3.67 ha
reso inutilizzabili alcuni programmi di riproduzione che (non
correttamente) controllano che la chiamata al ioctl
SNDCTL_DSP_GETBLKSIZE sia pi&ugrave; grande di 4096. Gli ultimi driver
sonori sono stati corretti in modo da evitare allocazioni di frammenti
pi&ugrave; piccoli di 4096 byte, per risolvere il problema con i programmi di
utilit&agrave; pi&ugrave; vecchi.
<P>
<H2><A NAME="ss6.32">6.32 Le impostazioni del mixer vanno perse ogni volta che carico il modulo del driver sonoro</A>
</H2>

<P>
<P>Il driver sonoro pu&ograve; essere compilato come modulo caricabile e si
pu&ograve; utilizzare <CODE>kerneld</CODE> per caricarlo e scaricarlo automaticamente.
Ci&ograve; pu&ograve; far sorgere un problema: ogni volta che si ricarica il modulo
le impostazioni del mixer ritornano ai loro valori predefiniti.
Per qualche scheda audio questi possono essere troppo alti (ad es.
SoundBlaster16) o troppo bassi. Una soluzione &egrave; stata trovata da
Markus Gutschke (<CODE>gutschk@uni-muenster.de</CODE>): si inserisce
una linea come la seguente nel proprio file /etc/conf.modules:
<P>
<BLOCKQUOTE><CODE>
<PRE>
options sound dma_buffsize=65536 &amp;&amp; /usr/bin/setmixer igain 0 ogain 0 vol 75
</PRE>
</CODE></BLOCKQUOTE>
<P>Questo fa in modo che il vostro programma mixer (in questo caso
viene utilizzato <CODE>setmixer</CODE>) venga eseguito immediatamente
dopo che il driver sonoro &egrave; stato caricato. Il parametro
<CODE>dma_buffersize</CODE> &egrave; finto, serve solo perch&eacute; il comando
"options" richiede che venga impostata un'opzione. Si modifichi
la linea come si desidera per utilizzare i propri programmi mixer
e livelli di guadagno.
<P>Se il driver sonoro &egrave; stato compilato nel kernel e si vogliono impostare
i guadagni dal mixer al momento dell'avvio del sistema, potete inserire
una chiamata al programma mixer in un file di avvio del sistema, come
&egrave; /etc/rc.d/rc.local.
<P>
<H2><A NAME="ss6.33">6.33 Solo l'utente root pu&ograve; effettuare registrazioni audio</A>
</H2>

<P>
<P>Per predefinizione lo script in Readme.linux che crea i file
dispositivo sonori imposta i permessi di accesso a tali file
in maniera tale da consentirne la lettura dall'utente <CODE>root</CODE>.
Questo per tappare un buco nella sicurezza del sistema.
In un sistema di computer in rete gli utenti esterni possono
effettuare un login su un PC Linux con scheda audio e microfono
e ascoltare ci&ograve; che viene detto. Se ci&ograve; non vi preoccupa potete
tranquillamente cambiare i permessi di accesso ai file usati
nello script.
<P>Con le impostazioni predefinite gli utenti possono comunque
riprodurre file audio. Questo non costituisce un rischio per la
sicurezza del sistema ma sono una fonte di potenziale disturbo.
<P>
<H2><A NAME="ss6.34">6.34 &Egrave; supportato l'hardware audio presente nel ThinkPad dell'IBM?</A>
</H2>

<P>
<P>Le informazioni su come utilizzare la scheda audio mwave che si trova
sui computer laptop ThinkPad di IBM sotto Linux possono essere trovate
nel file /usr/src/linux/Documentation/sound/mwave, che fa
parte della distribuzione del sorgente del kernel.
<P>
<P>
<H2><A NAME="ss6.35">6.35 Le applicazioni si rifiutano di funzionare poich&eacute; la mia scheda audio non ha un mixer</A>
</H2>

<P>
<P>Alcune vecchie schede SoundBlaster a 8 bit non avevano un circuito mixer. Vi
sono delle applicazioni che insistono nel voler accedere al mixer, e non
possono funzionare con questo tipo di schede. Jens Werner (
<A HREF="mailto:werner@bert.emv.ing.tu-bs.de">werner@bert.emv.ing.tu-bs.de</A>)
ci suggerisce un rimedio: basta creare un link da <CODE>/dev/mixer</CODE> a
<CODE>/dev/null</CODE> e tutto dovrebbe funzionare a puntino.
<P>
<H2><A NAME="ss6.36">6.36 Problemi con una SB16 CT4170</A>
</H2>

<P>
<P>Da: Scott Manley (
<A HREF="mailto:spm@star.arm.ac.uk">spm@star.arm.ac.uk</A>):
<P>
<BLOCKQUOTE>
Sembra che un nuovo tipo di SoundBlaster sia in commercio -- e ci venga
venduta come una SB16 -- il numero di modello indicato sulla scheda &egrave; il
CT4170. Queste schede hanno un solo canale DMA e quindi, dopo che le avrete
configurate, il kernel avr&agrave; grossi problemi nell'accedere al canale DMA 16 bit.
La soluzione &egrave; impostare il secondo DMA a 1 in modo tale che la scheda si
comporti come le altre.
</BLOCKQUOTE>
<P>
<H2><A NAME="ss6.37">6.37 Come collegare una tastiera MIDI a una scheda audio</A>
</H2>

<P>
<P>Da: Kim G. S. OEyhus (
<A HREF="mailto:kim@pvv.ntnu.no">kim@pvv.ntnu.no</A>):
<P>
<BLOCKQUOTE>
Ho cercato su Internet e nella documentazione che riguarda il supporto
sonoro come fare una cosa semplice come connettere l'output MIDI di una
tastiera all'input MIDI di una scheda audio. Non ho trovato nulla. Il
problema &egrave; che entrambe usano lo stesso dispositivo, /dev/midi, almeno
se utilizzate il driver OSS. Ho trovato un modo di farlo, che vorrei
condividere con voi. Quello che dico si applica a un sintetizzatore molto
semplice, con completo supporto del MIDI:
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Collegare una master keyboard MIDI a una scheda audio via MIDI
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Una master keyboard MIDI &egrave; una tastiera senza alcun sintetizzatore e con solo
un connettore MIDI out. Questo pu&ograve; essere collegato a una porta 15-pin D-SUB
presente in molte schede audio con un opportuno cavo.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Una simile tastiera pu&ograve; essere utilizzata per controllare il sintetizzatore
MIDI presente nella scheda audio, facendolo diventare un semplice
sintetizzatore controllato da tastiera.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Si compili il programma seguente, ad esempio con 'gcc -o prog prog.c' e
lo si mandi in esecuzione:
</BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;fcntl.h&gt;

main()
{
  int fil, a;
  char b[256];

  fil=open("/dev/midi", O_RDWR);
  for(;;)
    {
      a=read(fil, b, 256);
      write(fil, b, a);
    }
}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss6.38">6.38 Problemi con l'IRQ 15 ed Ensoniq PCI 128</A>
</H2>

<P>
<P>Da: Matthew Inger (
<A HREF="mailto:mattinger@mindless.com">mattinger@mindless.com</A>):
<P>
<BLOCKQUOTE>
Come far funzionare una scheda Ensoniq PCI 128
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Il problema che si presentava era che la scheda cercava di utilizzare
l'interrupt 15 come impostazione predefinita (a causa del Plug and Play).
Questo interrupt &egrave; utilizzato dal controller ide secondario e non pu&ograve;
essere condiviso da altri dispositivi. Si deve quindi forzare in qualche
maniera il es1370 a usare un altro interrupt (ad esempio
l'interrupt 11 come avviene da Windows).
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Che ci crediate o no mi sono inventato da solo una soluzione.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Ecco ci&ograve; che dovete fare:
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
a) nel BIOS dovrete dire al vostro computer che non avete un sistema
operativo Plug and Play. Mi sembra che nel mio BIOS sia fra le
opzioni avanzate.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
b) nelle impostazioni del bus PCI del BIOS, impostate il computer in
maniera tale che riservi l'interrupt 15 per i vecchi dispositivi ISA.
Nel mio bios, fra le opzioni avanzate, vi &egrave; una sezione dedicata
alle impostazioni PCI. In questa sezione vi &egrave; una parte chiamata
Resource Exclusion, &egrave; qui che dovete agire.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Quando farete il reboot di Linux potrete utilizzare la scheda sonora
(non mi ricordo se appare nei messaggi di boot come accadeva prima
oppure no). Per essere del tutto sicuri, ho rieseguito sndconfig per far
uscire il messaggio di test, che in effetti non si sentiva granch&eacute;, ma
comunque si sentiva.  Invece l'output di un CD audio si sente
perfettamente.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Non preoccupatevi di Windows, ho provato le mie due schede: modem ISA e
scheda audio e funzionavano senza problemi.
</BLOCKQUOTE>
<P>
<BLOCKQUOTE>
Il problema potrebbe essere che il vostro BIOS sar&agrave; differente dal
mio ma dovete solo immaginarvi dove poter trovare le due impostazioni
di cui ho parlato prima. Buona fortuna.
</BLOCKQUOTE>
<P>
<H2><A NAME="ss6.39">6.39 Dove posso trovare delle patch MIDI gratuite per Soft OSS</A>
</H2>

<P>
<P>Soft OSS &egrave; un sintetizzatore wavetable via software incluso nel driver
sonoro del kernel, compatibile con la scheda Gravis Ultrasound. Per far
funzionare il driver vi serviranno dei file patch MIDI compatibili con
la GUS. La documentazione le chiama ``public domain MIDIA patchset available
from several ftp sites''.
<P>Come spiegato sul sito web della 4Front Technologies 
<A HREF="http://www.opensound.com/softoss.html">http://www.opensound.com/softoss.html</A> possono essere scaricate da
<A HREF="ftp://archive.cs.umbc.edu/pub/midia/instruments.tar.gz">ftp://archive.cs.umbc.edu/pub/midia/instruments.tar.gz</A>.
<P>
<P>
<P>
<P>
<P>
<HR>
<A HREF="Sound-HOWTO-7.html">Avanti</A>
<A HREF="Sound-HOWTO-5.html">Indietro</A>
<A HREF="Sound-HOWTO.html#toc6">Indice</A>
</BODY>
</HTML>