Avanti Indietro Indice

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:

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à:

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:

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 seeker@indirect.com)

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:

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:

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 funziona 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:

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 (gutschk@uni-muenster.de): 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 ( werner@bert.emv.ing.tu-bs.de) 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 ( spm@star.arm.ac.uk):

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 ( kim@pvv.ntnu.no):

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 è 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 sintetizzatore 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 ( mattinger@mindless.com):

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 avanzate, 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 sentiva. Invece l'output di un CD audio si sente perfettamente.

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à differente 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.


Avanti Indietro Indice

Hosting by: hurra.com
Generated: 2007-01-26 17:56:15