Linux Sound HOWTO
 Jeff Tranter, [email protected]
 v1.20, 24 Marzo 1999

 Questo documento descrive il supporto per il suono di Linux. Vi � con�
 tenuto l'elenco dell'hardware sonoro supportato, vi � descritto come
 configurare i driver del kernel e vi sono anche delle risposte alle
 domande poste di frequente. L'intento � quello di portare i nuovi
 utenti alla piena conoscenza del sistema sonoro in minor tempo e di
 ridurre il traffico nei newsgroup Usenet e nelle mailing list.  Le
 prime tre sezioni sono state tradotte ex novo e le sezioni 4 e 7 sono
 state aggiornate e parzialmente modificate da Marco Meloni
 ([email protected]).  L'aggiornamento delle sezioni 4,5,6,7 � stato
 compiuto sulla precedente traduzione di Giuliano Natali
 ([email protected]).

 1.  Introduzione

 Questo � il Linux Sound HOWTO. Serve da piccola guida di riferimento
 su tutto quello che dovete sapere per installare e configurare il
 supporto per il suono sotto Linux. Vi sono risposte alle domande pi�
 frequenti sul sonoro sotto Linux e riferimenti ad altri posti dove
 ottenere informazioni su diversi argomenti collegati al suono generato
 dal computer e alla musica.

 La trattazione � limitata agli aspetti delle schede sonore pertinenti
 a Linux.  Per informazioni di carattere pi� generale sulle schede
 audio, sull'aspetto del sonoro dei computer e sulla sintesi della
 musica si vedano gli altri documenti elencati nella sezione
 Riferimenti.


 1.1.  Ringraziamenti


 Molte delle informazioni qui presenti vengono dalla documentazione
 fornita con il codice sorgente del driver sonoro scritto da Hannu
 Savolainen ([email protected]).  Un grazie dunque ad Hannu, Alan Cox
 ed a tutte le altre persone che hanno sviluppato i driver sonori ed i
 loro programmi di utilit� per Linux.

 Grazie al pacchetto SGML Tools, questo HOWTO � disponibile in
 molteplici formati, tutti generati da un unico file sorgente.


 1.2.  Nuove versioni di questo documento


 Le nuove versioni di questo documento saranno postate periodicamente
 sul newsgroup  comp.os.linux.answers.  Ne sar� anche fatto l'upload su
 vari siti di ftp anonimo che archiviano questo tipo di informazioni
 incluso <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/>.

 Le versioni in ipertesto di questo e di altri Linux HOWTO sono
 disponibili su molti siti del World-Wide-Web, incluso
 <http://metalab.unc.edu/LDP/>. Molte distribuzioni di Linux su CD-ROM
 includono gli HOWTO, spesso nella directory /usr/doc, e se ne possono
 comperare copie stampate da diversi rivenditori. A volte gli HOWTO
 presenti nei CD-ROM dei rivenditori, nei siti ftp ed in forma stampata
 non sono aggiornati. Se la data di questo HOWTO � anteriore di pi� di
 sei mesi � probabile che vi sia una nuova versione su Internet.

 Si noti anche che, per la natura dinamica di Internet, tutti i link
 siti web e ftp in questo documento sono soggetti a cambiamenti.


 Traduzioni di questo documento sono disponibili nelle lingue seguenti:

 Cinese:  <http://www.linux.org.tw/CLDP/Sound-HOWTO.html>

 Francese:  <http://www.freenix.org/unix/linux/HOWTO/>

 Giapponese:  <http://yebisu.ics.es.osaka-u.ac.jp/linux/>

 Coreana:  <http://kldp.linux-kr.org/HOWTO/html/Sound/Sound-HOWTO.html>

 Russa:  <http://www.phtd.tpu.edu.ru/~ott/russian/linux/howto-
 rus/Sound-HOWTO.html>

 Spagnola:  <ftp://ftp.insflug.org/es>

 Molte traduzioni di questo e di altri HOWTO sono anche su
 <http://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/> e
 <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/>.

 Se traducete questo documento in un'altra lingua vi prego di farmelo
 sapere e metter� qui un riferimento.


 1.3.  Feedback


 Confido nei lettori per rendere questo HOWTO utile. Se avete qualche
 suggerimento, correzione o commento vi prego di inviarmelo su
 [email protected], e cercher� di inglobarlo nella versione successiva.

 Vorrei anche rispondere a delle domande di carattere generale sulle
 schede audio sotto Linux, fin dove posso. Prima di porle vi prego di
 leggere tutte le informazioni contenute in questo HOWTO e di mandarmi
 informazioni dettagliate sul problema. Vi prego di non rivolgervi a me
 per questioni che riguardano l'uso di schede audio sotto sistemi
 operativi differenti da Linux.

 Se pubblicate questo documento in un CD-ROM o in altra forma stampata,
 una copia di cortesia sarebbe da me apprezzata. Scrivetemi per il mio
 indirizzo di posta. Tenete anche in considerazione l'opportunit� di
 fare una donazione al Linux Documentation Project per aiutare il
 progetto di una documentazione gratuita per Linux. Contattate il
 coordinatore dei Linux HOWTO, Tim Bynum, [email protected],
 per maggiori informazioni.


 1.4.  Regole di distribuzione



 Copyright (c) 1995-1999 di Jeff Tranter. Questo documento pu� essere
 distribuito nei termini descritti nella licenza LDP su
 <http://metalab.unc.edu/LDP/COPYRIGHT.html>.

 Copyright (c) 1995-1999 by Jeff Tranter.  This document may be
 distributed under the terms set forth in the LDP license at
 <http://metalab.unc.edu/LDP/COPYRIGHT.html>.


 2.  Tecnologia delle schede audio


 Questa sezione � intesa come panoramica molto generale sulla
 tecnologia audio utilizzata nei computer, in modo da rendere pi�
 agevole la comprensione dei concetti che verranno poi esposti in
 questo documento. Per saperne di pi� si consulti un libro sull'audio
 digitale o sull'elaborazione digitale dei segnali.

 Il suono � analogico; pu� assumere qualsiasi valore in un intervallo
 continuo. I computer sono digitali; a loro piace lavorare con valori
 discreti. Le schede audio usano un dispositivo conosciuto come
 Convertitore Analogico/Digitale (A/D o ADC) per convertire le tensioni
 corrispondenti alle onde sonore analogiche in valori digitali o
 numerici che possono essere quindi memorizzati. Analogamente, un
 Convertitore Digitale/Analogico (D/A o DAC) converte valori numerici
 in tensioni analogiche che possono a loro volta pilotare un
 altoparlante, producendo il suono.

 Il processo di conversione dall'analogico al digitale, conosciuto come
 ``campionamento'', introduce degli errori. Vi sono due fattori chiave
 che servono a determinare quanto un segnale campionato si avvicini
 all'originale.  La frequenza di campionamento � il numero di campioni
 presi per unit� di tempo (usualmente espressa in campioni per secondo
 o Hertz). Una bassa frequenza di campionamento fornir� una resa poco
 accurata del segnale analogico. L'ampiezza di campionamento �
 l'intervallo di valori usati per rappresentare ogni campione,
 usualmente espressa in bit. Pi� � grande l'ampiezza di campionamento,
 pi� accurata sar� la resa del segnale campionato.

 Le schede audio usano normalmente campioni di 8 o 16 bit a frequenze
 di campionamento da circa 4000 a 44000 campioni al secondo. I campioni
 possono contenere uno (mono) o due (stereo) canali.

 La sintesi FM � una vecchia tecnica usata per produrre il suono. �
 basata sulla combinazione di forme d'onda differenti (ad es. seno,
 triangolo, quadrato). La sintesi FM � pi� semplice da implementare a
 livello hardware della conversione D/A, ma � pi� difficile da
 programmare e meno flessibile. Molte schede audio utilizzano la
 sintesi FM per rimanere compatibili con le vecchie schede audio e il
 vecchio software. Vengono normalmente resi disponibili diversi
 generatori di suono indipendenti (voci).

 La sintesi tramite wavetable combina la flessibilit� della conversione
 D/A con la capacit� di gestire canali multipli propria della sintesi
 FM. In questa maniera delle voci digitalizzate possono essere caricate
 in una area di memoria dedicata e quindi riprodotte, combinate e
 modificate con solo un piccolo impiego di CPU. Tutte le attuali schede
 audio supportano la sintetizzazione tramite wavetable.

 Molte schede audio sono in grado di agire da mixer, combinando i
 segnali provenienti da entrate diverse e controllando i livelli di
 guadagno.

 MIDI sta per ``Musical Instrument Digital Interface'' (interfaccia
 digitale per strumenti musicali) ed � un protocollo hardware e
 software standard che permette agli strumenti musicali di comunicare
 l'uno con l'altro. Gli ``eventi'' che vengono inviati tramite il bus
 MIDI possono anche essere memorizzati in file MIDI per consentirne
 successive modifiche e riascolti. Molte schede audio hanno
 un'interfaccia MIDI. Quelle che non la possiedono possono comunque
 riprodurre i file MIDI usando altre caratteristiche della scheda
 audio.

 I file MOD sono un formato comunemente usato per la musica generata da
 computer. Assieme alle informazioni sulle note musicali che devono
 essere riprodotte, questi file contengono dei campioni digitalizzati
 per gli strumenti (o le voci). I file MOD sono stati usati per la
 prima volta sui computer Amiga ma possono essere ascoltati su altri
 sistemi, Linux incluso, con del software adatto.



 3.  Hardware supportato


 Questa sezione elenca le schede audio e le interfacce che sono
 attualmente supportate sotto Linux. Le informazioni qui presenti sono
 basate sull'ultimo kernel che, al momento della stesura, risulta
 essere il 2.2.4. Questo documento riguarda solo i driver sonori
 inclusi nella distribuzione del sorgente del kernel di Linux (si veda
 la sezione intitolata Driver sonori alternativi).

 Per le ultime informazioni sulle schede audio supportate e sulle
 funzioni dei driver si consultino i file acclusi alla distribuzione
 del kernel di Linux, normalmente installati nella directory
 /usr/src/linux/Documentation/sound.

 Le informazioni contenute in questo HOWTO sono valide per la
 implementazione di Linux su processori di tipo Intel.

 Il driver sonoro dovrebbe funzionare anche con molte schede audio
 nella implementazione per processori Alpha. Comunque qualche scheda
 potrebbe far nascere conflitti delle porte I/O con altri dispositivi
 installati nei sistemi Alpha anche se funziona perfettamente sulle
 macchine i386, quindi non si pu� dire, in generale, se una data scheda
 funzioner� oppure no senza averla provata.

 Al momento della stesura di questo documento il driver sonoro non �
 ancora funzionante nell'implementazione per PowerPC di Linux, ma
 dovrebbe esserlo in futuro.

 Le schede audio possono essere configurate nel kernel
 nell'implementazione di Linux per MIPs, e qualche macchina MIPs ha
 degli slot EISA e/o dell'hardware sonoro interno. Mi � stato detto che
 il gruppo Linux-MIPs � interessato a una futura aggiunta del supporto
 sonoro.

 Il kernel di Linux include un driver separato nelle sue versioni per
 Atari e Amiga, driver che implementa un sottoinsieme compatibile del
 driver sonoro usato per la piattaforma Intel utilizzando l'hardware
 per il suono interno a queste macchine.

 La versione di Linux per SPARC attualmente supporta l'audio solo in
 alcuni modelli di workstation Sun. Mi � stato detto che l'hardware
 audio on-board funziona ma il dispositivo DSP esterno non � supportato
 poich� Sun non ha reso pubbliche le sue specifiche.



 3.1.  Schede audio


 Le seguenti schede audio sono supportate dal driver sonoro del kernel
 di Linux. Qualche elemento di questa lista � un chip audio pi� che una
 scheda audio. La lista � incompleta poich� vi sono altre schede audio
 compatibili con queste che funzionano sotto Linux. Come se la
 confusione fosse poca, dei produttori cambiano periodicamente il
 design delle loro schede audio causando incompatibilit� e continuano a
 venderle come modello originario.



 �  Interfaccia MIDI 6850 UART

 �  Schede basate su AD1816/AD1816A

 �  ADSP-2115

 �  Schede basate su ALS-007 (Avance Logic)

 �  ATI Stereo F/X (fuori produzione)

 �  Acer FX-3D

 �  AdLib (fuori produzione)

 �  Audio Excel DSP 16

 �  AudioDrive

 �  CMI8330 (chip audio)

 �  Compaq Deskpro XL onboard sound

 �  Corel Netwinder WaveArtist

 �  Crystal CS423x

 �  ESC614

 �  ESS1688 (chip audio)

 �  ESS1788 (chip audio)

 �  ESS1868 (chip audio)

 �  ESS1869 (chip audio)

 �  ESS1887 (chip audio)

 �  ESS1888 (chip audio)

 �  ESS688 (chip audio)

 �  ES1370 (chip audio)

 �  ES1371 (chip audio)

 �  Ensoniq AudioPCI (ES1370)

 �  Ensoniq AudioPCI 97 (ES1371)

 �  Ensoniq SoundScape (e compatibili prodotte da Reveal e Spea)

 �  Gallant SC-6000

 �  Gallant SC-6600

 �  Gravis Ultrasound

 �  Gravis Ultrasound ACE

 �  Gravis Ultrasound Max

 �  Gravis Ultrasound con l'opzione di sampling a 16 bit

 �  HP Kayak

 �  Highscreen Sound-Booster 32 Wave 3D

 �  IBM MWAVE

 �  Logitech Sound Man 16

 �  Logitech SoundMan Games

 �  Logitech SoundMan Wave

 �  MAD16 Pro (chipset OPTi 82C928, 82C929, 82C930, 82C924)

 �  Media Vision Jazz16

 �  MediaTriX AudioTriX Pro

 �  Microsoft Windows Sound System (MSS/WSS)

 �  MiroSOUND PCM12

 �  Mozart (OAK OTI-601)

 �  OPTi 82C931

 �  Orchid SW32

 �  Personal Sound System (PSS)

 �  Pinnacle MultiSound

 �  Pro Audio Spectrum 16

 �  Pro Audio Studio 16

 �  Pro Sonic 16

 �  Roland MPU-40, interfaccia MIDI

 �  S3 SonicVibes

 �  SY-1816

 �  Sound Blaster 1.0

 �  Sound Blaster 2.0

 �  Sound Blaster 16

 �  Sound Blaster 16ASP

 �  Sound Blaster 32

 �  Sound Blaster 64

 �  Sound Blaster AWE32

 �  Sound Blaster AWE64

 �  Sound Blaster PCI 128

 �  Sound Blaster Pro

 �  Sound Blaster Vibra16

 �  Sound Blaster Vibra16X

 �  TI TM4000M notebook

 �  Terratec Base 1

 �  Terratec Base 64

 �  ThunderBoard

 �  Turtle Beach Maui

 �  Turtle Beach MultiSound Classic

 �  Turtle Beach MultiSound Fiji

 �  Turtle Beach MultiSound Hurricane

 �  Turtle Beach MultiSound Monterey

 �  Turtle Beach MultiSound Pinnacle

 �  Turtle Beach MultiSound Tahiti

 �  Turtle Beach WaveFront Maui

 �  Turtle Beach WaveFront Tropez

 �  Turtle Beach WaveFront Tropez+

 �  VIA chip set

 �  VIDC 16-bit sound

 �  Yamaha OPL2 (chip audio)

 �  Yamaha OPL3 (chip audio)

 �  Yamaha OPL3-SA1 (chip audio)

 �  Yamaha OPL3-SA2 (chip audio)

 �  Yamaha OPL3-SA3 (chip audio)

 �  Yamaha OPL3-SAx (chip audio)

 �  Yamaha OPL4 (chip audio)

 Anche se molte schede audio sono dette ``SoundBlaster compatibili'',
 molto poche, attualmente, sono abbastanza compatibili da funzionare
 con il driver di Linux per la SoundBlaster. Queste schede normalmente
 funzionano meglio usando il driver MAD16 o MSS/WSS. Solo le vere
 schede SoundBlaster fatte dalla Creative Labs, che usano i chip custom
 della Creative (per esempio, la SoundBlaster16 Vibra) e le schede
 basate su MV Jazz16 e ESS688/1688 generalmente funzionano con il
 driver per SoundBlaster. Provare a usare una ``scheda audio a 16 bit
 compatibile con SoundBlaster Pro'' con il driver SoundBlaster si
 rivela, normalmente, una perdita di tempo.

 Il kernel di Linux supporta la porta SCSI di cui sono fornite alcune
 schede audio (per esempio ProAudioSpectrum 16) e l'interfaccia
 proprietaria di qualche drive CD-ROM (per esempio SoundBlaster Pro).
 Date un'occhiata ai Linux SCSI HOWTO e CDROM HOWTO per maggiori
 informazioni.

 Assieme ai kernel 2.2 � anche distribuito un driver per le porte
 joystick presenti su alcune schede audio.

 Si noti che i driver sonoro, SCSI, CD-ROM e joystick sono
 completamente indipendenti l'uno dall'altro.




 3.2.  Driver audio alternativi


 Il supporto per l'audio del kernel di Linux � stato originariamente
 scritto da Hannu Savolainen. Hannu ha poi sviluppato Open Sound
 System, una suite commerciale di driver audio venduta da 4Front
 Technologies, che � disponibile su diversi sistemi Unix. La Red Hat
 Software ha quindi sponsorizzato Alan Cox con l'obiettivo di
 potenziare i driver audio rendendoli completamente modulari. Diverse
 altre persone hanno poi dato il loro contributo con correzioni di
 errori e hanno sviluppato driver aggiuntivi per le nuove schede audio.
 Questi driver modificati sono stati inclusi nella distribuzione Red
 Hat dalla versione 5.0 alla 5.2.  Le modifiche sono quindi state
 integrate nella distribuzione standard del kernel dalla versione 2.0.
 Alan Cox � il curatore di driver audio della distribuzione standard
 del kernel, mentre Hannu continua periodicamente a fornire codice
 preso dal driver commerciale.

 Open Sound System, il driver commerciale della 4Front Technologies
 tende ad essere pi� facile da configurare e offre supporto per un
 maggior numero di schede audio, particolarmente per quelle nuove. �
 anche compatibile con le applicazioni scritte per il driver audio
 incluso nella distribuzione standard del kernel. Lo svantaggio � che
 dovrete pagare per averlo e comunque non avrete il codice sorgente.
 Potete scaricare una copia di prova del prodotto prima di decidere se
 comprarlo o no. Per maggiori informazioni si guardi sulla pagina web
 della 4Front Technologies: <http://www.opensound.com>.

 Jaroslav Kysela e altri hanno cominciato a scrivere un driver audio
 alternativo per la scheda audio Gravi UltraSound. Il progetto � stato
 rinominato in Advanced Linux Sound Architecture (ALSA) ed � risultato
 in un sistema di driver audio che gli autori credono essere una buona
 alternativa per i driver audio del kernel. I driver ALSA offrono
 supporto per molte schede audio diffuse, sono full duplex,
 completamente modulari e compatibili con l'architettura audio del
 kernel.  Il sito principale del progetto ALSA �  <http://www.alsa-
 project.org>.  � anche disponibile un "Alsa-sound-mini-HOWTO" che
 tratta della compilazione e dell'installazione di questi driver.

 Markus Mummert  ([email protected]) ha scritto un
 pacchetto driver per le schede audio Turtle Beach MultiSound
 (classic), Tahiti e Monterey. La documentazione asserisce:


      ``� progettato per la registrazione/riproduzione su hard
      disk di alta qualit�, senza perdita di sincronizzazione nem�
      meno su un sistema occupato. Altre funzioni, come Wave syn�
      thesis, MIDI ed elaborazione digitale dei segnali (DSP), non
      possono essere usate. Altres� la registrazione e la ripro�
      duzione contemporanee non sono possibili.  In questo momento
      sostituisce VoxWare ed � stato testato in diverse versioni
      del kernel dalla 1.0.9 alla 1.2.1. Oltretutto � installabile
      sui sistemi UN*X SysV386R3.2.''


 Lo si pu� trovare su <http://www.cs.colorado.edu/~mccreary/tbeach>.

 Kim Burgaard ([email protected]) ha scritto un driver e dei
 programmi di utilit� per l'interfaccia MIDI Roland MPU-401. La voce
 che lo riguarda sulla Linux Software Map ne d� questa descrizione:


      ``Un driver per le interfacce MIDI compatibili con Roland
      MPU-401 (incluse Roland SCC-1 e RAP-10/ATW-10). Include una
      serie di utilit� tra le quali un player di file Standard
      MIDI ed un registratore.
      Molte migliorie sono state apportate dalla versione 0.11a.
      Tra le altre cose il driver adesso si avvale di regole per
      la condivisione degli IRQ e si attiene alla nuova interfac�
      cia del kernel per i moduli. La funzione di metronomo, la
      possibilit� di sincronizzare ad es. la grafica su una strut�
      tura di battute senza perdere in precisione, una interfaccia
      avanzata per replay/registrazione/overdub e molto, molto
      ancora.''


 Lo si pu� trovare su
 <ftp://metalab.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz>.

 Altro utilizzo di una scheda audio per Linux � quello del modem per
 radioamatori in packet radio.  I recenti kernel 2.1.x includono un
 driver che funziona con schede audio compatibili SoundBlaster e
 Windows Sound System per implementare i protocolli packet 1200 bps
 AFSK e 9600 bps FSK. Date un'occhiata al Linux AX25 HOWTO per altri
 dettagli (fra parentesi sono radioamatore anche io -- il mio callsign
 � VE3ICH).


 3.3.  PC Speaker


 � disponibile un altro driver sonoro che non richiede hardware
 aggiuntivo; infatti usa lo speaker del PC. � sicuramente pi�
 compatibile a livello software con il driver della scheda audio ma,
 come � normale aspettarsi, fornisce un output di qualit� molto minore
 e occupa la CPU per un tempo molto maggiore. I risultati sono di vario
 tipo, poich� dipendono dalle caratteristiche di ogni singolo speaker.
 Per maggiori informazioni date un'occhiata alla documentazione fornita
 assieme alla distribuzione.

 La versione attuale � la 1.1 e la si trova su
 <ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/>


 3.4.  Porta parallela


 Altra opzione � quella di costruire un convertitore digitale-analogico
 utilizzando la porta parallela della stampante e qualche componente
 aggiuntivo. Ci� porta a un output di qualit� superiore rispetto allo
 speaker del PC, ma genera ancora un pesante utilizzo di CPU.  Il
 pacchetto del driver per il PC speaker prevede questa opzione e
 include le istruzioni per costruire l'hardware necessario.


 4.  Installazione


 Configurare Linux per supportare il suono prevede i seguenti passaggi:


 1. Installare la scheda sonora.

 2. Configurare il Plug and Play (se disponibile)

 3. Configurare e compilare il kernel con il supporto sonoro.

 4. Creare i file dispositivo.

 5. Effettuare il boot del kernel di Linux e testare l'installazione.


 Se avete Red Hat Linux avete anche una utility chiamata sndconfig che
 in molti casi rilever� la vostra scheda audio e imposter� tutti i
 necessari file di configurazione per caricare i giusti driver audio
 per la vostra scheda. Se avete una Red Hat vi suggerisco di provarla.
 Se vi funziona allora potete saltare il resto delle istruzioni in
 questa sezione.

 Se sndconfig non riesce nel suo intento, state usando un'altra
 distribuzione o volete seguire il metodo manuale per poter meglio
 comprendere quello che state facendo, le prossime sezioni
 descriveranno dettagliatamente tutti i passi da compiere.


 4.1.  Installare la scheda audio


 Seguite le istruzioni del produttore per l'installazione dell'hardware
 o, meglio, richiedete al vostro rivenditore l'installazione della
 scheda al momento dell'acquisto.

 Le vecchie schede sonore usano switch o jumper per l'impostazione di
 IRQ, canali DMA, ecc; trascrivete su un foglio i valori assegnati. Se
 non siete sicuri, usate i parametri predefiniti. Nel limite del
 possibile cercate di evitare conflitti con altro hardware installato
 sul sistema (come schede Ethernet, SCSI, porte seriali e parallele) .

 Usualmente si dovrebbero usare la stessa porta di I/O, IRQ e
 impostazioni di DMA che si usano sotto DOS. In qualche caso
 (particolarmente con schede PnP) si devono usare impostazioni diverse
 per far funzionare le cose sotto Linux.  Serve qualche prova.



 4.2.  Configurare il Plug and Play


 Attualmente diverse schede audio utilizzano il protocollo Plug and
 Play per configurare le impostazioni degli indirizzi di I/O, irq e
 canali DMA.  Se avete una vecchia scheda che ha delle impostazioni
 fisse o dei jumper (ponticelli) potete saltare alla prossima sezione.

 Alla versione 2.2 del kernel non vi � ancora un completo supporto per
 il Plug and Play. La soluzione preferita � quella che prevede
 l'utilizzo dei tool isapnp che sono presenti in molte distribuzioni di
 Linux (o che potete scaricare dal sito web della Red Hat
 <http://www.redhat.com/>).

 Date per prima cosa un'occhiata alla documentazione della vostra
 distribuzione di Linux. Il supporto Plug and Play potrebbe essere gi�
 configurato o potrebbe funzionare in maniera differente da come viene
 qui descritto. Se dovete configurarvelo da soli potete trovare altri
 dettagli nelle pagine di manuale del tool isapnp. In breve, la
 procedura che dovrete seguire � la seguente:


 �  Utilizzate pnpdump per scoprire tutte le possibili impostazioni dei
    vostri dispositivi Plug and Play, salvando il risultato nel file
    /etc/isapnp.conf.

 �  Scegliete per la scheda audio delle impostazioni che non entrino in
    conflitto con altri dispositivi presenti nel vostro sistema e
    decommentate le giuste linee in /etc/isapnp.conf. Non dimenticatevi
    di decommentare il comando (ACT Y) che si trova verso la fine.

 �  Assicuratevi che isapnp venga eseguito all'avvio del sistema, cosa
    normalmente fatta da uno script di avvio. Fate il reboot del vostro
    sistema o eseguite manualmente isapnp.

 Se per qualche motivo non potete o non volete usare il tool isapnp, vi
 sono altre soluzioni. Se utilizzate la scheda audio sotto Microsoft
 Windows 95 o 98, potete usare il device manager per configurare la
 scheda audio e quindi effettuare un soft boot di Linux usando il
 programma LOADLIN.  Assicuratevi che Windows e Linux utilizzino le
 stesse impostazioni di configurazione della scheda.

 Se utilizzate la scheda dal DOS potete usare l'utilit� icu che viene
 distribuita assieme alla SoundBlaster16 PnP per configurarla da DOS,
 quindi effettuare un soft boot di Linux utilizzando LOADLIN. Ancora
 una volta assicuratevi che sia DOS che Linux utilizzino le stesse
 impostazioni della scheda.

 Qualche driver per schede audio include il software necessario ad
 inizializzare il Plug and Play per la scheda. Date un'occhiata alla
 documentazione del driver per maggiori informazioni.


 4.3.  Configurare il kernel


 Al momento della prima installazione normalmente si usa un kernel
 precompilato.  Questo kernel normalmente non supporta il suono. La
 cosa migliore �, senza dubbio, la ricompilazione del kernel con
 l'aggiunta dei driver che vi servono.  Dovreste comunque ricompilare
 il kernel perlomeno per aggiornare la versione e minimizzare la
 grandezza del file stesso (vmlinuz) onde evitare di occupare troppo
 spazio in memoria.

 Il Linux Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-
 HOWTO.html> dovrebbe essere consultato per i dettagli su come
 compilare un nuovo kernel. Qui proceder� solamente a riportare alcuni
 passaggi riguardanti il supporto sonoro.

 Se, prima d'ora, non avete mai configurato il kernel per il supporto
 sonoro sarebbe una buona idea leggere tutti i Readme file inclusi con
 il kernel sound driver ed in particolar modo le informazioni
 specifiche riguardanti la vostra scheda sonora. La seguente
 documentazione si trova normalmente nella directory del kernel sound
 driver, che viene installata di default in
 /usr/src/linux/drivers/sound. Se questa directory non � presente �
 molto probabile che abbiate una versione molto vecchia o non abbiate
 installato il codice sorgente.

 Seguite la normale procedura per compilare il kernel. Attualmente vi
 sono tre interfacce per il processo di configurazione. Un'interfaccia
 utente grafica che gira sotto X11 e pu� essere lanciata con make
 xconfig. Una basata su menu che richiede sono un display testuale �
 disponibile con make menuconfig. Il metodo originale, usando make
 config, offre una semplice interfaccia di testo.

 Durante la configurazione del kernel vi saranno molte scelte da
 effettuare per configurare correttamente il driver per la scheda che
 possedete.  L'help in linea di cui il programma di configurazione
 dispone dovrebbe fornire un adeguato supporto a questa fase della
 procedura. Scegliete meglio che potete.

 Dopo aver configurato il kernel dovrete compilarlo ed installare il
 nuovo kernel come descritto nel Kernel HOWTO.





 4.4.  Creazione dei file dispositivo


 Per un corretto funzionamento devono essere creati dei file
 dispositivo per i dispositivi audio. Essi vengono creati di norma
 durante l'installazione del vostro sistema Linux.  Pu� essere fatto un
 controllo veloce utilizzando il comando di cui si parla qui di
 seguito. Se l'output � quello mostrato (la data pu� variare) allora i
 file dispositivi sono quasi sicuramente a posto.



      % ls -l /dev/sndstat
      crw-rw-rw-   1 root     root      14,   6 Apr 25  1995 /dev/sndstat




 Si noti che il fatto che i file dispositivo siano a posto di per s�
 non garantisce nulla. Anche il driver del kernel deve essere stato
 caricato o compilato prima che le periferiche funzionino (se ne
 parler� pi� avanti).

 In qualche raro caso, se si crede che i dispositivi siano errati, essi
 possono essere ricreati. Diverse distribuzioni di Linux hanno lo
 script /dev/MAKEDEV che pu� essere utilizzato a tale scopo.


 4.5.  Boot di Linux e test dell'installazione


 Dovreste essere pronti per eseguire il boot e testare il sound driver.
 Seguite le normali procedure per installare e fare il boot del nuovo
 kernel (non cancellate il vecchio kernel, pu� servire nel caso in cui
 si incontrino problemi).

 Durante il boot, controllate l'esistenza di un messaggio tipo questo
 alla partenza (se passano troppo velocemente, li potete rileggere con
 il comando dmesg):



      Sound initialization started
      <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
      <Sound Blaster 16> at 0x330 irq 5 dma 0
      <Yamaha OPL3 FM> at 0x388
      Sound initialization complete




 Deve corrispondere al tipo di scheda installata e al settaggio di IRQ
 e jumper (se ci sono).

 Si noti che i messaggi di cui sopra non vengono mostrati se si �
 preferito utilizzare il driver come modulo caricabile del kernel (a
 meno che non venga abilitato, ad esempio con insmod sound
 trace_init=1).

 Quando il driver sonoro viene compilato nel kernel i messaggi Sound
 initialization started e Sound initialization complete devono
 apparire. Se ci� non accadesse significa che non � presente un driver
 sonoro nel kernel. In questo caso si avr� cura di controllare che il
 kernel installato sia quello che � stato compilato con l'abilitazione
 del driver sonoro.

 Se non viene visualizzato nulla tra le righe Sound initialization
 started e Sound initialization complete significa che non sono stati
 rilevati dispositivi audio. Molto probabilmente significa che non �
 stato abilitato il driver giusto, la scheda non � supportata, la porta
 di I/O � sbagliata o che si ha una scheda PnP che non � stata
 configurata.

 Il driver pu� anche mostrare dei messaggi di errore e altre avvertenze
 durante il boot. Si stia attenti a tali messaggi la prima volta che
 viene effettuato il boot dopo aver configurato il driver sonoro.

 Si dovr� successivamente controllare il file dispositivo /dev/sndstat.
 Leggendo il file sullo stato del driver sonoro (/dev/sndstat) vengono
 presentate informazioni aggiuntive sulla eventuale corretta
 inizializzazione del driver sonoro. Ecco un esempio di output:



      % cat /dev/sndstat
      Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root,
      Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586)
      Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586
      Config options: 0

      Installed drivers:
      Type 1: OPL-2/OPL-3 FM
      Type 2: Sound Blaster
      Type 7: SB MPU-401

      Card config:
      Sound Blaster at 0x220 irq 5 drq 1,5
      SB MPU-401 at 0x330 irq 5 drq 0
      OPL-2/OPL-3 FM at 0x388 drq 0

      Audio devices:
      0: Sound Blaster 16 (4.13)

      Synth devices:
      0: Yamaha OPL-3

      Midi devices:
      0: Sound Blaster 16

      Timers:
      0: System clock

      Mixers:
      0: Sound Blaster




 Il comando precedente pu� restituire alcuni messaggi di errore.  ``No
 such file or directory'' indica che si devono creare i file
 dispositivo (vedi sezione 4.3). ``No such device'' significa che il
 driver sonoro non � stato caricato o linkato nel kernel. Si ritorni
 alla sezione 4.2 per rimediare a questo errore.

 Se le linee della sezione ``Card config:'' di /dev/sndstat sono
 visualizzate tra parentesi (tipo ``(SoundBlaster at 0x220 irq5 drq
 1,5)''), significa che quel dispositivo � stato configurato ma non
 rilevato.

 Adesso siete pronti per eseguire un semplice file sonoro. Prendete un
 qualsiasi file sonoro e reindirizzatelo sul dispositivo sonoro per
 testarne il risultato, ad esempio:
      % cat endoftheworld >/dev/dsp
      % cat crash.au >/dev/audio




 (State attenti a non dimenticare il ``>'' nel comando di cui sopra).

 Si noti che, in generale, l'uso di cat non � la maniera pi� adatta per
 riprodurre file audio, serve solo come piccolo controllo.  Avrete
 bisogno di un vero e proprio programma di riproduzione (se ne parla
 pi� avanti) che far� un lavoro migliore.

 Questo comando funzioner� se vi � almeno un dispositivo nella sezione
 ``audio devices'' di /dev/sndstat. Se la sezione ``audio devices'' �
 vuota ci si dovr� accertare del perch� il dispositivo non � stato
 rilevato.

 Se il comando precedente restituisce un ``I/O error'', dovreste dare
 un'occhiata alla parte finale dei messaggi del kernel usando il
 comando ``dmesg''. � probabile che vi si trovi un messaggio di errore.
 Molto spesso il messaggio � ``Sound: DMA (output) timed out - IRQ/DRQ
 config error?''.  Questo messaggio significa che il driver non ha
 utilizzato con successo l'interrupt impostato per comunicare con la
 scheda audio.  In molti casi significa che l'IRQ o il canale DMA
 configurato nel driver non sono corretti. La maniera migliore di farlo
 funzionare � quella di tentare con tutte le possibili combinazione di
 DMA e IRQ supportati dal dispositivo audio.

 Un'altra possibile ragione � costituita dall'incompatibilit� del
 dispositivo rilevato con il driver che si � scelto di installare. �
 questo il caso delle schede che si dicono ``SoundBlaster (Pro/16)
 compatibili'' ma che non funzionano con il driver per SoundBlaster.
 In questo caso si dovr� scoprire con quale scheda audio � compatibilie
 la propria (per esempio scrivendo un messaggio sul newsgroup
 comp.os.linux.hardware).

 Alcuni esempi di file sonori sono reperibili presso :
 <ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z>

 Adesso verificate la registrazione. Se avete la possibilit� di usare
 un dispositivo di input potete fare un test veloce in questo modo:



      # registra 4 secondi di audio dal microfono
      EDT% dd bs=8k count=4 </dev/audio >sample.au
      4+0 records in
      4+0 records out
      # esegue il suono registrato
      % cat sample.au >/dev/audio




 Ovviamente per far funzionare tutto ci� si dovr� aver connesso un
 microfono alla scheda audio e vi si dovr� parlare. Forse avrete anche
 bisogno di installare un programma mixer per impostare il microfono
 come dispositivo di input e regolare il guadagno.

 Se il test non d� problemi, potete ragionevolmente confidare nel fatto
 che la scheda D/A -- A/D e il software funzionano. Al contrario se
 avete riscontrato problemi controllate la sezione successiva di questo
 documento.


 4.6.  Risoluzione dei problemi


 Se comunque, dopo avere seguito le istruzioni dell'HOWTO, incontrate
 problemi qui propongo alcune cose da controllare. I controlli sono
 proposti in ordine progressivo di difficolt�. Se un controllo non
 funzionasse, risolvete il problema prima di passare al controllo
 successivo.


 4.6.1.  Passo 1: controllate che il kernel sia quello che avete compi�
 lato.


 Potete controllare la data del kernel per vedere se state usando
 quello compilato con il supporto per il suono. Si pu� farlo usando il
 comando uname :



      % uname -a
      Linux fizzbin 2.2.4 #1 Tue Mar 23 11:23:21 EST 1999 i586 unknown




 o visualizzando il file /proc/version:



      % cat /proc/version
      Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue
      Mar 23 11:23:21 EST 1999




 Se la data non corrisponde al giorno in cui avete compilato il kernel,
 allora state usando un vecchio kernel. Avete eseguito il reboot? Se
 usate LILO, lo avete reinstallato (normalmente eseguendo lilo)? Se
 eseguite il boot da un floppy, ne avete creato uno nuovo di boot e lo
 avete utilizzato per il boot?


 4.6.2.  Passo 2: assicuratevi che nel kernel sia incluso il supporto
 del driver sonoro.


 Il modo pi� facile per fare questo controllo � quello di dare
 un'occhiata all'output di dev/sndstat come detto precedentemente. Se
 l'output non � quello che ci si attendeva allora qualche cosa � andata
 storta durante la configurazione o la compilazione del kernel. Fate
 ripartire il processo di installazione, ricominciando dalla
 configurazione e compilazione del kernel.


 4.6.3.  Passo 3: il kernel ha rilevato la vostra scheda al momento del
 boot?


 Assicuratevi che il kernel abbia rilevato la scheda al momento del
 boot.  Dovreste avere visto un messaggio in fase di boot. Se il
 messaggio � passato troppo velocemente potete richiamarlo con il
 comando dmesg :


      % dmesg




 oppure



      % tail /var/log/messages




 Se la scheda non � stata trovata qualcosa � andato storto.
 Assicuratevi che sia realmente installata. Se funziona sotto DOS
 potete ragionevolmente sperare che l'hardware funzioni, probabilmente
 � solo un problema di configurazione del kernel. Forse avete
 configurato la scheda del tipo sbagliato o assegnato parametri
 inesatti, o la scheda non � compatibile con nessuno dei driver sonori
 del kernel di Linux.


 Una possibilit� � quella che la scheda sia una delle compatibili che
 richiedono l'inizializzazione dal driver del DOS. Provate a fare il
 boot da DOS e ad installare il driver fornito dal produttore della
 scheda. Poi eseguite un boot a caldo di Linux usando Control-Alt-Canc.
 Assicuratevi che gli indirizzi di I/O, DMA e le impostazioni degli IRQ
 della scheda siano gli stessi sia per Linux che per DOS.  Consultate
 il file Readme.cards nei sorgenti della distribuzione del sound driver
 per eventuali consigli sulla configurazione della scheda.



 Se la scheda non compare nel documento, � possibile che il Linux sound
 driver non la supporti. Controllate i riferimenti alla fine di questo
 documento.


 4.6.4.  Passo 4: potete leggere dati dal dispositivo dsp?


 Provate a leggere dal dispositivo /dev/audio usando il comando dd
 visto prima all'interno di questo documento. Il comando deve
 funzionare senza errori.

 Se non funziona probabilmente dipende da un conflitto di IRQ o DMA o
 da qualche tipo di incompatibilit� hardware (il dispositivo non �
 supportato da Linux o il driver � stato configurato per un dispositivo
 errato).

 Una remota possibilit� potrebbe essere un hardware non funzionante.
 Provate a eseguire un test da DOS, se possibile, per vedere se �
 questa la causa.


 4.6.5.  Se tutto questo non funziona


 Se ci sono ancora problemi, quelli che seguono sono gli ultimi
 consigli su tentativi eventuali:


 �  rileggete attentamente questo HOWTO;


 �  leggetevi i riferimenti alla fine di questo documento, specialmente
    i file della documentazione nei sorgenti del kernel;

 �  inviate una domanda su uno dei gruppi comp.os.linux o su altri
    gruppi Usenet (comp.os.linux.hardware � una buona scelta; a causa
    dell'altro livello di traffico su questi gruppi aiuta mettere la
    parola ``sound'' nel subject del messaggio, in modo tale che i
    giusti esperti lo notino);

 �  Usare un motore di ricerca per il Web/Usenet con un criterio di
    ricerca intelligente pu� dare ottimi risultati velocemente. Una
    scelta tipica �  <http://www.altavista.digital.com>;

 �  provate a usare l'ultimo kernel di Linux (ma solo come ultima
    risorsa, gli ultimi kernel sperimentali potrebbero essere
    instabili);

 �  inviate una mail all'autore del driver sonoro;

 �  inviate una mail all'autore del Sound HOWTO;

 �  avviate Emacs e digitate Esc-x doctor :-)


 5.  Applicazioni che supportano il suono


 Qui propongo un esempio di applicativi che dovreste usare se avete una
 scheda sonora. Potete cercare anche nella Linux Software Map, negli
 archivi di Internet (siti ftp), o sul vostro CD-ROM di Linux per
 informazioni pi� aggiornate.

 Come minimo, dovreste avere questi applicativi:


 �  utilit� di conversione del formato audio (ad es. sox)

 �  programma mixer (ad es. aumix o xmix)

 �  registratore/riproduttore digitale (ad es. play o wavplay)

 �  riproduttore di file MOD (ad es. tracker)

 �  riproduttore di file MIDI (ad es. playmidi)

 Esistono versioni con interfaccia testuale e versioni con interfaccia
 grafica della maggior parte di questi applicativi. Vi sono anche altre
 applicazioni esoteriche (come quelle che parlano o riconoscono il
 parlato) che forse vorrete provare.


 6.  Risposte alle domande frequenti (FAQ)


 Questa sezione risponde a qualcuna delle domande che vengono
 comunemente poste nei newsgroup Usenet e nelle mailing list.

 Risposte ad altre domande possono essere trovate alla pagina web del
 driver sonoro OSS.


 6.1.  Cosa sono i vari file dispositivo audio?


 Gran parte dei nomi dei dispositivi audio sono standard, ma in qualche
 distribuzione di Linux potrebbero avere nomi leggermente differenti.
    /dev/audio
       Normalmente un link a /dev/audio0

    /dev/audio0
       Dispositivo audio compatibile con le workstation Sun (� solo un
       implementazione parziale, non supporta l'interfaccia ioctl di
       Sun, solo la codifica u-law)

    /dev/audio1
       Secondo dispositivo audio (se supportato dalla scheda audio o se
       vi � pi� di una scheda audio installata)

    /dev/dsp
       Normalmente un link /dev/dsp0

    /dev/dsp0
       Primo dispositivo di campionamento digitale

    /dev/dsp1
       Secondo dispositivo di campionamento digitale

    /dev/mixer
       Normalmente un link a /dev/mixer0

    /dev/mixer0
       Primo mixer audio

    /dev/mixer1
       Secondo mixer audio

    /dev/music
       Interfaccia ad alto livello del sequencer

    /dev/sequencer
       Accesso a basso livello di MIDI, FM e GUS

    /dev/sequencer2
       Normalmente un link a /dev/music

    /dev/midi00
       Prima porta raw MIDI

    /dev/midi01
       Seconda porta raw MIDI

    /dev/midi02
       Terza porta raw MIDI

    /dev/midi03
       Quarta porta raw MIDI

    /dev/sndstat
       Se letto riporta lo stato del driver sonoro (anche come
       /proc/sound)

 Il driver per l'altoparlante del PC fornisce i seguenti dispositivi:


    /dev/pcaudio
       Equivalente a /dev/audio

    /dev/pcsp
       Equivalente a /dev/dsp

    /dev/pcmixer
       Equivalente a /dev/mixer
 6.2.  Come posso riprodurre un file audio?


 I file (.au) delle workstation Sun possono essere riprodotti
 reindirizzandoli a /dev/audio . I file ``raw'' possono essere
 riprodotti reindirizzandoli su /dev/dsp. � preferibile usare comunque
 un programma tipo play, visto che riconosce la maggior parte di file e
 imposta la scheda sonora sulla giusta frequenza di campionamento, ecc.

 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.

 Il comando splay contenuto nel pacchetto snd-util pu� essere usato per
 riprodurre la maggior parte dei file audio, se si impostano
 manualmente i giusti parametri nella riga di comando.


 6.3.  Come posso registrare un file audio?


 La lettura di /dev/audio o /dev/dsp produrr� dei dati campionati che
 possono essere rediretti su un file. Un programma come vrec render�
 pi� agevole il controllo della frequenza di campionamento, della
 durata, ecc. Probabilmente si avr� anche bisogno di un programma mixer
 per selezionare il dispositivo di input appropriato.


 6.4.  Posso avere pi� di una scheda?


 Con l'attuale driver sonoro � possibile avere diverse schede
 SoundBlaster, SoundBlaster/Pro, SoundBlaster16, MPU-401 o MSS
 contemporaneamente nello stesso sistema. L'installazione di due
 SoundBlaster � 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. �  anche possibile avere una SoundBlaster
 e una PAS16 allo stesso tempo.

 Con i nuovi kernel 2.0, che configurano il supporto per il suono
 usando make config, al posto di local.h, si avr� bisogno di modificare
 il file /usr/include/linux/autoconf.h. Dopo la parte contenente le
 linee:



      #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)




 si aggiungano queste linee (con i valori giusti per il proprio
 sistema):






 #define SB2_BASE 0x330
 #define SB2_IRQ (7)
 #define SB2_DMA (2)
 #define SB2_DMA2 (2)




 I seguenti driver non permettono installazioni multiple:


 �  GUS (limitazione del driver)

 �  MAD16 (limitazione dell'hardware)

 �  AudioTrix Pro (limitazione dell'hardware)

 �  CS4232 (limitazione dell'hardware)


 6.5.  Error: No such file or directory for sound devices



 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).


 6.6.  Error: No such device for sound devices


 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.


 6.7.  Error: No space left on device for sound devices


 Pu� succedere se provate a registrare dati attraverso /dev/audio o
 /dev/dsp senza aver creato i necessari file dispositivo. Il
 dispositivo sonoro ora � un file normale, e ha riempito la vostra
 partizione. Dovete eseguire lo script documentato nella sezione
 ``Creazione dei file dispositivo'' in questo documento.

 Si pu� incorrere in questo errore anche con Linux 2.0 e successivi se
 non vi � 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:







 main() {
   int i;
   char mem[500000];
   for (i = 0; i < 500000; i++)
     mem[i] = 0;
   exit(0);
 }





 6.8.  Error: Device busy for sound devices


 Il dispositivo audio pu� essere aperto da un solo processo per volta.
 Molto probabilmente qualche altro processo sta usando il dispositivo
 in questione. Una maniera per esserne sicuri � quella di utilizzare il
 comando fuser:



      % fuser -v /dev/dsp
      /dev/dsp:             USER       PID ACCESS COMMAND
                            tranter    265 f....  tracker




 In questo esempio, il comando fuser 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 fuser deve essere
 eseguito come utente root.

 In qualche sistema si dovr� essere root per vedere con il comando
 fuser i processi degli altri utenti.


 6.9.  Mi d� ancora l'errore di ``device busy''!


 In accordo con quello che dice Brian Gough, per le schede SoundBlaster
 che usano il canale DMA 1 vi � 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 �
 abilitato questo driver. Come dice il FTAPE-HOWTO il driver QIC-02 non
 � essenziale per l'uso di FTAPE; � 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.


 6.10.  Playback parziale di un file sonoro digitale


 Il sintomo � 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.


 Un altro sintomo � il file audio che provoca un loop. Questo �
 normalmente causato da un conflitto di IRQ.



 6.11.  Pause nella riproduzione di file MOD


 L'esecuzione dei file MOD richiede un grande impiego di CPU. O avete
 troppi processi attivi o il vostro computer � troppo lento per
 l'esecuzione in ``real time''. Avete alcune possibilit�:


 �  Provate ad eseguire il file con una minore frequenza di
    campionamento o in modalit� ``mono''

 �  Eliminate altri processi attivi

 �  Compratevi un computer pi� veloce

 �  Comprate una scheda sonora pi� potente (ad es. Gravis UltraSound)

 Se avete una scheda Gravis UltraSound, dovete usare uno dei programmi
 per eseguire i file mod scritti specificatamente per la GUS (ad es.
 gmod).


 6.12.  Errori di compilazione quando compilo applicazioni sonore


 La versione 1.0c e precedenti del driver sonoro usavano uno schema
 diverso e incompatibile dell'ioctl() . Si ottenga il nuovo codice o si
 effettuino i necessari cambiamenti per adattarlo al nuovo driver
 sonoro.  Controllate il file Readme del driver sonoro per i dettagli.

 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.


 6.13.  SEGV quando eseguo applicazioni audio che prima funzionavano


 Questo � probabilmente lo stesso problema affrontato nella domanda
 precedente.


 6.14.  Quali sono i bug e le limitazioni del driver sonoro?


 Si controllino i file inclusi con i sorgenti del driver sonoro del
 kernel.


 6.15.  Dove sono documentati gli ioctls() ecc. del driver sonoro?


 Attualmente la migliore documentazione che non sia il codice sorgente
 � disponibile sul sito web della 4Front Technologies,
 <http://www.opensound.com>.  Un'altra fonte di informazioni � la Linux
 Multimedia Guide, di cui si parla nella sezione ``Riferimenti''.





 6.16.  Quanto deve essere potente la CPU per riprodurre o registrare
 senza pause?


 Non vi � una facile risposta a questa domanda, poich� dipende da:


 �  uso di campioni PCM o sintesi FM

 �  frequenza di campionamento e dimensioni del campione

 �  quale applicazione di usa per riprodurre o registrare

 �  hardware della scheda audio

 �  velocit� di I/O del disco, clock della CPU, dimensione della cache
    ecc.

 In generale ogni 386 dovrebbe essere in grado di riprodurre con
 facilit� campioni o musica sintetizzata tramite FM con una scheda
 audio a 8 bit.

 La riproduzione dei file MOD, per�, richiede un considerevole impiego
 di CPU.  Test sperimentali hanno mostrato che riprodurre a 44KHz
 richiede pi� del 40% della potenza di un 486/50 e che un 386/25
 difficilmente pu� andare pi� in l� 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�
 meno tempo di CPU.

 Queste affermazioni sottointendono che il computer non stia eseguendo
 nessun altro programma che richieda un forte uso della CPU.

 La conversione di file audio o l'aggiunta di effetti usando un
 programma di utilit� come sox � molto pi� 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.


 6.17.  Problemi con la PAS16 e un adattatore SCSI Adaptec 1542


 (La spiegazione seguente � stata fornita da [email protected])

 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'� ancora qualcosa che entra in conflitto con
 il 1542 se esso usa il suo indirizzo preferenziale. Spostare il 1542
 su 334 rende tutti felici.


 In aggiunta, sia la 1542 che la PAS-16 usano un DMA a 16-bit, cosicch�
 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'� 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� 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� il problema scompare, poi
 muovetelo di una tacca o pi� in avanti. Lo SCSISEL cambia le
 impostazioni della EEPROM, cos� 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!


 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 � garantito
 totalmente. Avete bisogno di:


 �  Contattare il distributore della scheda madre per sostituire la
    vecchia versione del chip del bus

 �  Cambiare la scheda madre

 �  Comprare un altro tipo di scheda sonora


 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 � nel chip dell'interfaccia per il bus
 ProAudio, per� molto pi� lontano di quanta non sia la mia ansia;
 nessuno 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 perlomeno 12MHz di velocit�
 del bus se i chip sono progettati correttamente. Uscita dal pulpito
 (scala sinistra).


 Il primo problema dipende dal chipset usato sulla vostra scheda madre,
 dalla velocit� 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� del canale DMA del 1542 e
 (forse) dalla velocit� di accesso I/O al bus. Il terzo lo si determina
 chiamando la Media Vision e chiedendo quale tipo di chip Symphony �
 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 qualsiasi cosa mi dicessero su altro hardware, visto che
 non conoscevano molto bene neanche il loro.



 6.18.  � possibile registrare e riprodurre simultaneamente?


 I driver di qualche scheda audio supportano la modalit� full duplex.
 Si faccia riferimento alla documentazione della 4Front Technologies
 per informazioni su come utilizzare questa particolarit�.


 6.19.  La mia SB16 � impostata su IRQ 2, ma configure non permette di
 scegliere questo valore di IRQ.


 Sui 286 e successivi l'IRQ 2 � collegato in cascata al secondo
 controller di interrupt. � equivalente all'IRQ 9.


 6.20.  Sono supportate la SoundBlaster AWE32 o la SoundBlaster16 ASP?


 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 � oggi incluso nei kernel Linux 2.1.x.


 6.21.  Se sto usando Linux, e faccio un reboot con DOS, mi d� errori
 e/o le applicazioni sonore non funzionano.


 Questo pu� succedere dopo un ``soft-reboot'' al DOS. Alle volte il
 messaggio di errore fa riferimento, erroneamente, a un errore nel file
 CONFIG.SYS.

 La maggior parte delle attuali schede sonore hanno la possibilit� 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).

 La soluzione pi� semplice a questo problema consiste nell'effettuare
 un reboot completo tramite il pulsantino di reset o lo spegnimento
 della macchina anzich� un ``soft reboot'' (ovvero Ctrl-Alt-Canc).

 La soluzione corretta consiste nell'impostare gli stessi IRQ e DMA sia
 con MS-DOS che con Linux (o non usare DOS :-)).


 6.22.  Problemi con DOOM sotto Linux


 Gli utilizzatori del porting del gioco della ID Software DOOM per
 Linux potrebbero essere interessati a queste notizie.

 Per un corretto risultato sonoro usate la versione 2.90 o successive
 del driver sonoro; ha il supporto per la nuova modalit� in real-time
 DOOM Mode.

 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  <ftp://metalab.unc.edu/pub/Linux/games/doom>.

 Se DOOM risultasse lento sul vostro sistema, disabilitando il sonoro
 (basta rinominare il file sndserver) dovrebbero aumentare le
 prestazioni.

 La musica in DOOM non � attivata per predefinizione (come nella
 versione DOS). Il programma musserver aggiunge il supporto per la
 musica a DOOM per Linux. � reperibile a questo indirizzo:
 <ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz>.


 6.23.  Come posso ridurre il rumore nella mia scheda audio?


 L'uso di cavi schermati di buona qualit� e provare la scheda audio su
 slot differenti pu� aiutare a ridurre il rumore. Se la scheda audio ha
 una regolazione per il volume si possono provare le differenti
 posizioni consentite (il massimo � 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.

 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.

 Su un sistema 386 ho scoperto che l'opzione di avvio del kernel no-hlt
 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 append="no-hlt" nel vostro file di configurazione di LILO.

 Qualche scheda audio semplicemente non � progettata con una buona
 schermatura e messa terra ed � quindi esposta a questo tipo di
 problemi.


 6.24.  Posso riprodurre suoni, ma non registrarli


 Se potete riprodurre suoni, ma non registrarli, provate a seguire
 questi passi:


 �  Usate un programma mixer per selezionare la sorgente appropriata
    (ad es. il microfono)

 �  Usate un programma mixer per impostare al massimo il livello di
    guadagno in input

 �  Se potete, provate a registrare da MS-DOS per determinare se si
    tratta di un problema hardware

 A volte i canali DMA usati per registrare e per riprodurre sono
 differenti. In questo caso la causa pi� probabile del malfunzionamento
 � che i canali DMA siano stati impostati in maniera errata.


 6.25.  La mia scheda audio ``compatibile'' funziona solo se prima la
 inizializzo da MS-DOS.


 In molti casi una scheda ``SoundBlaster compatibile'' funzioner�
 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� SoundBlaster � solo un trucco per mantenere la
 compatibilit� con i giochi di DOS. Molte schede hanno una modalit�
 nativa a 16 bit che probabilmente sar� supportata dalle recenti
 versioni di Linux (2.0.1 e successive).

 Solo con qualche scheda audio (normalmente abbastanza vecchia) �
 necessario provare a farla funzionare in modalit� SoundBlaster. Le
 sole schede audio recenti che fanno eccezione a questa regola sono
 quelle basate su Mwave.


 6.26.  La mia scheda audio ``compatibile'' SoundBlaster 16 bit fun�
 ziona solo in modalit� 8 bit sotto Linux.


 Le schede audio a 16 bit definite SoundBlaster compatibili sono in
 effetti compatibili con la SoundBlaster Pro 8 bit. Normalmente hanno
 una modalit� a 16 bit che non � compatibile con la SoundBlaster 16 e
 non � compatibile con il driver sonoro di Linux.

 Potreste riuscire a farle funzionare in modalit� 16 bit usando il
 driver MAD16 o MSS/WSS.


 6.27.  Dove posso trovare applicazioni sonore per Linux?


 Ecco qua qualche buon archivio su cui andare a cercare applicazioni
 sonore specifiche per Linux:
 �  <ftp://metalab.unc.edu:/pub/Linux/kernel/sound/>

 �  <ftp://metalab.unc.edu:/pub/Linux/apps/sound/>

 �  <ftp://tsx-11.mit.edu:/pub/linux/packages/sound/>

 �  <ftp://nic.funet.fi:/pub/Linux/util/sound/>

 �  <ftp://nic.funet.fi:/pub/Linux/xtra/snd-kit/>

 �  <ftp://nic.funet.fi:/pub/Linux/ALPHA/sound/>

 Si veda anche la sezione ``Riferimenti'' di questo documento.


 6.28.  Il driver sonoro pu� essere compilato come modulo caricabile?


 Con i kernel pi� recenti il driver sonoro pu� anche essere compilato e
 utilizzato nella forma di diversi moduli caricabili.

 Si dia un'occhiata al file /usr/src/linux/Documentation/sound, e
 specialmente al file Introduction e README.modules.


 6.29.  Posso usare la scheda audio per rimpiazzare il beep di console?


 Provate il programma oplbeep, che si trova su
 <ftp://metalab.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz>

 Altra variante � il programma beep su
 <ftp://metalab.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz>

 Il pacchetto modutils 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.

 In alternativa con qualche scheda audio � possibile connettere
 l'output dello speaker del PC alla scheda audio in modo tale che tutti
 i suoni vengano dagli speaker della scheda audio.


 6.30.  Cos'� VoxWare?


 La versione commerciale dei driver sonori commercializzati da 4Front
 Technologies era stata chiamata, in precedenza VoxWare, USS (Unix
 Sound System), e anche TASD (Temporarily Anonymous Sound Driver). �
 adesso venduta come OSS (Open Sound System). Alla versione presente
 nel kernel si fa spesso riferimento con il nome OSS/Free.

 Per maggiori informazioni si veda il sito web della 4Front
 Technologies   <http://www.opensound.com/>. Ho scritto un articolo su
 OSS/Linux nel numero di Giugno  1997 del Linux Journal.


 6.31.  Sox/Play/Vplay mi danno l'errore ``invalid block size 1024''


 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� grande di 4096. Gli ultimi driver sonori
 sono stati corretti in modo da evitare allocazioni di frammenti pi�
 piccoli di 4096 byte, per risolvere il problema con i programmi di
 utilit� pi� vecchi.


 6.32.  Le impostazioni del mixer vanno perse ogni volta che carico il
 modulo del driver sonoro


 Il driver sonoro pu� essere compilato come modulo caricabile e si pu�
 utilizzare kerneld per caricarlo e scaricarlo automaticamente.  Ci�
 pu� 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 � stata trovata da
 Markus Gutschke ([email protected]): si inserisce una linea come
 la seguente nel proprio file /etc/conf.modules:



      options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75




 Questo fa in modo che il vostro programma mixer (in questo caso viene
 utilizzato setmixer) venga eseguito immediatamente dopo che il driver
 sonoro � stato caricato. Il parametro dma_buffersize � finto, serve
 solo perch� 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.

 Se il driver sonoro � 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 � /etc/rc.d/rc.local.


 6.33.  Solo l'utente root pu� effettuare registrazioni audio


 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 root.  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� che viene detto.
 Se ci� non vi preoccupa potete tranquillamente cambiare i permessi di
 accesso ai file usati nello script.

 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.


 6.34.  � supportato l'hardware audio presente nel ThinkPad dell'IBM?


 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.






 6.35.  Le applicazioni si rifiutano di funzionare poich� la mia scheda
 audio non ha un mixer


 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
 ([email protected]) ci suggerisce un rimedio: basta creare
 un link da /dev/mixer a /dev/null e tutto dovrebbe funzionare a
 puntino.


 6.36.  Problemi con una SB16 CT4170


 Da: Scott Manley ([email protected]):


      Sembra che un nuovo tipo di SoundBlaster sia in commercio --
      e ci venga venduta come una SB16 -- il numero di modello
      indicato sulla scheda � il CT4170. Queste schede hanno un
      solo canale DMA e quindi, dopo che le avrete configurate, il
      kernel avr� grossi problemi nell'accedere al canale DMA 16
      bit.  La soluzione � impostare il secondo DMA a 1 in modo
      tale che la scheda si comporti come le altre.



 6.37.  Come collegare una tastiera MIDI a una scheda audio


 Da: Kim G. S. OEyhus ([email protected]):


      Ho cercato su Internet e nella documentazione che riguarda
      il supporto sonoro come fare una cosa semplice come connet�
      tere l'output MIDI di una tastiera all'input MIDI di una
      scheda audio. Non ho trovato nulla. Il problema � 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:



      Collegare una master keyboard MIDI a una scheda audio via
      MIDI



      Una master keyboard MIDI � una tastiera senza alcun sinte�
      tizzatore e con solo un connettore MIDI out. Questo pu�
      essere collegato a una porta 15-pin D-SUB presente in molte
      schede audio con un opportuno cavo.



      Una simile tastiera pu� essere utilizzata per controllare il
      sintetizzatore MIDI presente nella scheda audio, facendolo
      diventare un semplice sintetizzatore controllato da
      tastiera.




 Si compili il programma seguente, ad esempio con 'gcc -o
 prog prog.c' e lo si mandi in esecuzione:




      #include <fcntl.h>

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

        fil=open("/dev/midi", O_RDWR);
        for(;;)
          {
            a=read(fil, b, 256);
            write(fil, b, a);
          }
      }





 6.38.  Problemi con l'IRQ 15 ed Ensoniq PCI 128


 Da: Matthew Inger ([email protected]):


      Come far funzionare una scheda Ensoniq PCI 128



      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 � utilizzato dal
      controller ide secondario e non pu� 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).



      Che ci crediate o no mi sono inventato da solo una
      soluzione.



      Ecco ci� che dovete fare:



      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.



      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 avan�
      zate, vi � una sezione dedicata alle impostazioni PCI. In
      questa sezione vi � una parte chiamata Resource Exclusion, �
      qui che dovete agire.
      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�, ma comunque si sen�
      tiva.  Invece l'output di un CD audio si sente perfetta�
      mente.



      Non preoccupatevi di Windows, ho provato le mie due schede:
      modem ISA e scheda audio e funzionavano senza problemi.



      Il problema potrebbe essere che il vostro BIOS sar� differ�
      ente dal mio ma dovete solo immaginarvi dove poter trovare
      le due impostazioni di cui ho parlato prima. Buona fortuna.



 6.39.  Dove posso trovare delle patch MIDI gratuite per Soft OSS


 Soft OSS � 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''.

 Come spiegato sul sito web della 4Front Technologies
 <http://www.opensound.com/softoss.html> possono essere scaricate da
 <ftp://archive.cs.umbc.edu/pub/midia/instruments.tar.gz>.






 7.  Riferimenti


 Se avete una scheda audio che supporta un'interfaccia CDROM o SCSI, il
 Linux SCSI HOWTO e il Linux CD-ROM HOWTO contengono altre informazioni
 che potrebbero esservi utili.

 Il Sound Playing HOWTO descrive come eseguire differenti tipi di file
 audio e musicali sotto Linux.


 Il Linux SoundBlaster AWE32/64 Mini-HOWTO descrive come far funzionare
 una scheda audio SoundBlaster 32 o 64 sotto Linux.

 Informazioni sulla programmazione possono essere trovate sul sito web
 della 4Front Technologies  <http://www.opensound.com/pguide>.

 Le seguenti FAQ sono spedite regolarmente sul newsgroup Usenet
 news.announce e archiviate su
 <ftp://rtfm.mit.edu/pub/usenet/news.answers>:


 �  PCsoundcards/generic-faq (FAQ generali su PC con scheda audio)

 �  PCsoundcards/soundcard-faq (FAQ di comp.sys.ibm.pc.soundcard)


 �  PCsoundcards/gravis-ultrasound/faq (FAQ di Gravis UltraSound)

 �  audio-fmts/part1 (Descrizione del formato del file audio)

 �  audio-fmts/part2 (Descrizione del formato del file audio)

 Le FAQ contengono anche dei riferimenti a mailing list e siti che
 trattano di prodotti specifici. Nei seguenti newsgroup Usenet si parla
 dei problemi riguardanti il suono e/o la musica:


 �  alt.binaries.sounds.* (vari gruppi su cui postare file audio)

 �  alt.binaries.multimedia (per postare file multimediali)

 �  alt.sb.programmer (Sulla programmazione della SoundBlaster)

 �  comp.multimedia (Riguardante la multimedialit�)

 �  comp.music (Teoria e ricerca sulla musica generata da computer)

 �  comp.sys.ibm.pc.soundcard.* (vari gruppi su schede audio per PC
    IBM)

 Si pu� trovare un sito Web dedicato alla multimedialit� su
 <http://viswiz.gmd.de/MultimediaInfo/>.  Altro buon sito per il MIDI
 per Linux e le applicazioni per l'audio �
 <http://sound.condorow.net/>. La Creative Labs ha un sito Web
 all'indirizzo  <http://www.creaf.com/>. MediaTrix ha un sito Web
 all'indirizzo  <http://www.mediatrix.com/>.

 Le mailing list su Linux contengono un certo numero di ``canali''
 dedicati a diversi argomenti, incluso l'aspetto sonoro. Per sapere
 come entrare a farne parte, inviate un messaggio con la parola
 ``help'' come corpo del messaggio a [email protected]. Queste
 mailing list non sono quelle adatte per domande sulla configurazione
 della scheda audio e cos� via, sono state create per discussioni
 legate allo sviluppo.

 Come detto pi� volte, il driver sonoro del kernel contiene vari file
 Readme con delle utili informazioni sul driver della scheda audio.
 Normalmente sono nella directory /usr/src/linux/drivers/sound.

 Altre informazioni su OSS, il driver sonoro commerciale per Linux e
 altri sistemi operativi Unix compatibili, le si pu� trovare sul sito
 Web di 4Front Technologies,  <http://www.opensound.com/>.

 La Linux Software Map (LSM) � un riferimento insostituibile per
 trovare del software per Linux. La ricerca della LSM per parola chiave
 sound � una buon metodo per identificare applicazioni relative
 all'hardware sonoro. La LSM pu� essere trovata su vari siti anonimi di
 FTP, incluso  <ftp://metalab.unc.edu/pub/Linux/docs/LSM/>.  Vi sono
 anche diversi siti web che hanno una database delle applicazioni per
 Linux. Uno di questi �  <http://www.freshmeat.net>.

 Il Linux Documentation Project ha prodotto diversi libri su Linux,
 incluso Linux Installation and Getting Started. Questi sono
 disponibili liberamente su FTP anonimo nei pi� grandi archivi di Linux
 o possono essere comprati gi� stampati.

 Infine, un messaggino senza vergogna: se volete imparare molto di pi�
 sulla multimedialit� sotto Linux (specialmente su quanto concerne la
 programmazione e le applicazioni per CD-ROM e scheda audio) date
 un'occhiata al mio libro Linux Multimedia Guide, ISBN 1-56592-219-0,
 edito da O'Reilly and Associates.  � disponibile la versione inglese e
 le traduzioni in francese e giapponese sono in fase di stampa. Per
 avere altri dettagli chiamate 800-998-9938 nel Nord America o date
 un'occhiata alla pagina Web su
 <http://www.ora.com/catalog/multilinux/noframes.html> o alla mia
 pagina <http://www.pobox.com/~tranter>.