Sound Blaster AWE 32/64 HOWTO

di Marcus Brinkmann < Marcus.Brinkmann@ruhr-uni-bochum.de > v1.2, 11 gennaio 1998, tradotto il 2 agosto 1998

Questo documento descrive come installare e configurare una Soundblaster 32 (SB AWE 32, SB AWE 64) della Creative Labs inc. sotto Linux utilizzando l’Awe Sound Driver Extension scritto da Takashi Iwai. Viene trattato inoltre l’utilizzo di tools e player particolari per la serie AWE della SB. Il sistema operativo di riferimento utilizzato per questo HOWTO è Debian GNU/Linux System, ma dovrebbe funzionare su ogni altra distribuzione Linux. Traduzione di Samuele Tonon< Samuele Tonon >

Contents

1 Introduzione 2 1.1 Ringraziamenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Nota per la versione italiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Politica di distribuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Prima di iniziare 3 2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Note generali sulle schede SB AWE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Note sulle schede PnP (Plug and Play) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.4 Note generali sul caricamento dei moduli del kernel . . . . . . . . . . . . . . . . . . . . . . . . 4 2.5 Note generali sui driver sonori del kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Come installare il supporto SB AWE per il suono 5 3.1 Requisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Iniziamo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3 Compilare il kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.4 Riavvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Testiamo il tutto 8 4.1 /proc/devices /dev/sndstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 Output: Il Device Raw Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3 Output: Sintesi OPL-2/OPL-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.4 Output: Sintesi Wave Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.5 Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.6 Input: Compionamenti con il Device Raw Audio . . . . . . . . . . . . . . . . . . . . . . . . . 11 5 Software per il driver AWE 11

5.1 sfxload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5.2 drvmidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Appendici 12

6.1 Informazioni addizionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6.2 6.2. Sorgenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6.3 Esempio di isapnp.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1 Introduzione

Questo è il Sound Blaster AWE HOWTO. Dà dettagliate informazioni per utilizzare al meglio la vostra SB 32 (o superiore), compresa la sintesi Wave Table. Questo documento copre tutte le SB da SB32 in su.

La serie Soundblaster è molto conosciuta negli ambienti DOS e WINDOWS, e molti utenti Linux vogliono poterla utilizzare al meglio sotto Linux. Sfortunatamente, la Creative Labs non supporta driver per Linux e quindi non risulta facile installarla e configurarla. Questo documento prova a descrivere come utilizzare al meglio la vostra SB in ambiente Linux.

1.1 Ringraziamenti

Questo documento è la traduzione del Sound Blaster AWE 32/64 HOWTO di Marcus.Brinkmann mailto:

Marcus.Brinkmann@ruhr-uni-bochum.de

Molto lavoro di questo HOWTO è stato fatto da Hannu Savolainen http://www.4front-tech.com/usslite che ha sviluppato il sound driver del kernel di Linux.

Vorrei ringraziare Nicola Bernardelli mailto:n.bern@mail.protos.it per aver testato questo HOWTO sulla AWE64; senza di lui molti errori non sarebbero emersi.

1.2 Nota per la versione italiana

La versione italiana è stata liberamente tradotta il 2 Agosto 1998. Contiene alcune correzioni rispetto alla versione Inglese (approvate dall’autore) e alcune aggiunte per gli utenti Debian 2.0 (hamm) e Redhat 5.0.

Desidero ringraziare l’autore per la gentilezza e l’aiuto offerto e il Pluto User Group per lo sforzo che sta facendo nel portare Linux anche a chi l’Inglese non lo "mastica" bene.

Desidero anche ringraziare Giovanni Bortolozzo mailto:borto@pluto.linux. per l’aiuto e i consigli per la versione SGML di questo documento.

1.3 Politica di distribuzione

Includo qui di seguito la versione inglese della politica di distribuzione degli HOWTO seguita da una traduzione in italiano.

Copyright by Marcus Brinkmann.

This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You can obtain a copy of the GNU General Public License by writing to the Free Software Foundation http://www.fsf.org , Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Questo HOWTO è una documentazione gratuita; è possibile ridistribuirla e/o modificarla nei termini del GNU General Public License come pubblicato dalla Free Software Foundation; tale discorso vale per questa e future versioni. Riferimenti al GNU General Public License per maggiori dettagli.

È possibile ottenere una copia della GNU General Public License scrivendo a Free Software Foundation http://www.fsf.org , Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

2 Prima di iniziare

2.1 Introduzione

Questo documento spiega l’installazione di una SB 32AWE/64AWE sotto Linux come piattaforma si è utilizzato un Intel 586 con Debian GNU/Linux http://www.debian.org tuttavia dovrebbe funzionare su tutte le altre distribuzioni supportate dal Linux Sound driver (le differenze saranno menzionate dove necessario).

Questo documento presuppone la conoscenza del Sound-HOWTO e viene considerato alla stregua di un’appendice di quest’ultimo. È possibile trovare versioni tradotte in italiano degli HOWTO e dei mini HOWTO nel

database del pluto user group http://www.pluto.linux.it/ildp/HOWTO/index.html .

2.2 Note generali sulle schede SB AWE

La scheda SB AWE32/64 fornisce supporto audio, sintetizzazione OPL-2/OPL-3, una porta MPU-401 MIDI e 32/64 voci EMU 8000 Wave Table Synthesis (per una delucidazione su questi e altri termini consultare il Linux Sound HOWTO). Uno scopo di questo documento è aiutare l’utente a fare funzionare tutto questo "bagaglio" di roba :-).

Il problema per un utente Linux utilizzando la SB 64 AWE è che le 32 voci Addizionali - rispetto alla SB 32 AWE - sono generate via software e mandate in output via audio normale (cioè alla stregua di un WAVE). Poiché la Creative Labs non vede mercato nel realizzare driver per Linux, le uniche guide per la Wave Synthesis sono disponibili solo per win 3.1 e 95.

Questo vuol dire, dal punto di vista dell’utente Linux, che la SB32 e la SB64 sono formalmente identiche. D’ora in poi si farà riferimento alla SB AWE in generale e verranno menzionate le differenze dove (e se) sussisteranno.

2.3 Note sulle schede PnP (Plug and Play)

Le moderne schede per piattaforma Intel sono ISA PnP. Questo significa, che la scheda deve essere configurata dal sistema operativo, e che questo deve essere fatto nella fase di boot, nelle routine d’inizializzazione. In generale ci sono tre modi per fare ciò:

1. Si monta un BIOS PnP, il che vuol dire che può configurarle direttamente lui. Se pensate di poter utilizzare tutte le prestazioni della SB AWE solo perché avete un PnP BIOS siete fuori strada. Anche se Il BIOS "dichiara" di supportare le schede PnP altro non fa che inizializzare le porte e gli indirizzi utilizzati dalla vostra scheda. Sarete al massimo in grado di ascoltare file di tipo Wave ma non sarete in grado di ascoltare MIDI. Per questa ragione un BIOS PnP non è una garanzia.

2. Avete un sistema operativo che supporta il PnP. L’attuale kernel stabile di Linux (2.0.x) non lo supporta, quindi bisognerà attendere successive release che lo supportino.

3. Avete un’utility che inizializza le schede PnP e che viene caricata al boot: questo è il metodo che utilizzeremo in questo HOWTO.

Il software più utilizzato per inizializzare schede PnP in Linux sono gli Isapnptools. Sono un facile strumento per inizializzare tutte le vostre Schede PnP, non solo la vostra scheda sonora.

2.4 Note generali sul caricamento dei moduli del kernel

Alcuni driver di periferica possono essere caricati nel kernel come moduli. È possibile trovare maggiori informazioni sui moduli nel Kernel HOWTO e nel Module HOWTO (è consigliabile leggerli per avere maggior chiarezza di ciò che dovrete fare).

Se avete una scheda sonora PnP, dovete installare il "sound support" come modulo. Cioè non potete compilare il supporto sonoro all’interno del kernel stesso ma dovete includerlo come modulo; il motivo è semplice: il kernel viene caricato prima che che la scheda possa essere configurata mentre essa deve essere configurata con i driver dopo che il kernel sia stato caricato e che quindi isapnp venga eseguito.

Il sound kernel module può essere caricato manualmente con il comando insmod sound oppure modprobe -a sound o nello script di boot del vostro Linux (in Debian è sufficiente aggiungere la linea sound in /etc/modules). Un altro modo è di lanciare kerneld un daemon che installa e rimuove i moduli (consultare i relativi HOWTO e le man pages per maggiori informazioni).

PS: kerneld non è la migliore soluzione per il modulo AWE driver, perché il driver impiega molto tempo a caricarsi (in particolar modo se avete la Wave Table synthesis che carica molti "font" sonori). Kerneld rimuove automaticamente i moduli non usati, dopo un minuto di default ecco perché è forse meglio inserire il modulo sonoro manualmente o nella procedura di boot. Inserire manualmente il modulo oppure metterlo nella procedura di boot previene kerneld dal rimuoverlo quando questo è ozioso (idle). Comunque potete utilizzare tutti e due i metodi poiché non creano conflitti l’uno con l’altro.

Questo è particolarmente utile se le impostazioni del vostro mixer vengono disturbate dal rimuovere-installare il sound module. Una soluzione al problema verrà data nella sezione 4.5 (MIXER) (là verrà descritto come far partire in automatico il mixer quando il sound module viene caricato). Insomma è meglio utilizzare delle procedure anziché lasciar fare tutto a kerneld.

2.5 Note generali sui driver sonori del kernel

È possibile installare il supporto sonoro all’interno del kernel stesso oppure come modulo. Se avete una scheda PnP dovete installarlo come modulo (come già detto) perché isapnp deve configurare la scheda prima che il driver venga caricato.

Come si può immaginare bisognerà ricompilare il kernel. Il kernel corrente viene rilasciato senza supporto per il chip AWE ma con supporto per la sb16 normale. In questo modo non è possibile ascoltare midi con la Wave Table Syntesys.

Se volete utilizzare la Wave Table Syntesys, potete comprare un driver commerciale da 4Front Technologies

http://www.4front-tech.com

oppure aggiungere al vostro kernel l’AWE 32 Sound Driver Extension by Takashi Iwai.In questo documento si assume l’utilizzo di quest’ultimo. L’AWE 32 Sound Driver Extension è pubblicato con licenza GNU copyright e venduto con alcune applicazioni per l’utilizzo dell’AWE driver. L’AWE driver (awedrv) è già disponibile nei nuovi sorgenti del kernel (2.1.x).

3 Come installare il supporto SB AWE per il suono

3.1 Requisiti

Questi sono i requisiti per supportare la SB AWE in Linux

• Linux deve essere già operativo e funzionante

• Dovete avere una SB 32 o compatibile (esempio SB32 SB32PnP SBAWE64....)

• Dovete avere installati i sorgenti del kernel (per poter ricompilare il kernel) inclusi i driver sonori

     OSS/Free (guardare /usr/src/linux/drivers/sound/Readme)

• Dovete avere le estensioni "AWE 32 sound driver" (disponibili attualmente sia per redhat 5.0 che per debian 2.0 e, presumo, anche per le altre distribuzioni).

Se avete una scheda PnP avete inoltre bisogno:

• pacchetto isapnptool.

Se avete un Linux Debian ciò vuol dire che dovete aver installato i pacchetti:

• Kernel-source

• Awe-driver

• Isapnp

3.2 Iniziamo

Presuppongo abbiate già installato propriamente la SB nella scheda madre e, forse, che l’abbiate già testata sotto Windows (con esito positivo).

Il prossimo passo è quello d’inizializzare la scheda nella procedura di boot (ATTENZIONE QUESTO SE E SOLO SE LA SB è DI TIPO PnP!!!). Seguite la procedura d’installazione e compilazione del pacchetto isapnp e una volta installato, digitate, con i diritti di root:

     pnpdump >/etc/isapnp.conf

Questo comando genera un file di configurazione per le schede PnP, da editare correttamente seguendo le man page (man isapnp.conf per maggiori informazioni). Per la SB sono possibili varie configurazioni: cercate quella giusta (confrontate le impostazioni con quelle che avete sotto Windows oppure date un’occhiata all’isapnp.conf alla fine di questo HOWTO).

ATTENZIONE!!! Isapnp spesso fallisce nel trovare tutte e TRE le porte di I/O dei SB Wave Table Device. Controllate bene e se non sono state viste correttamente aggiungetele voi manualmente (magari dando un’occhiata all’isapnp.conf qui alla fine dell’HOWTO).

ATTENZIONE!!! (ancora!) come spiegato nel isapnp-faqisapnp spesso sbaglia il numero delle periferiche logiche. Se vi appare un messaggio del tipo:

     Error occurred executing request 'LD 2' on or around line...

allora provate aggiungendo (VERIFYLD N) all’inizio del isapnp.conf. È consigliabile usare la versione 1.10 di isapnp se non potete utilizzare questa versione dovete editare gran parte del file manualmente (auguri! :-) ) in questo caso fate riferimento all’isapnp-faq.

ATTENZIONE!!! (ultima) state attenti che nell’ultima riga dell’isapnp.conf compaia la scritta (WAITFORKEY) ogni tanto viene omessa per motivi mistici da vecchie versioni di pnpdump.

Come già detto un 6.3 (estratto) dell’isapnp.conf (solo la parte riguardante la SB) è stato messo alla fine di questo HOWTO.

Ora, se avete montato Debian non sono necessari altri aggiustamenti: isapnp sarà caricato nella procedura di boot semplicemente aggiungendo a /etc/init.d/boot queste poche linee:

# Configura la scheda isa plug and play prima del caricamento dei
# moduli.
#
if [ -x /etc/init.d/isapnp ]
then
  /etc/init.d/isapnp start
fi

dove /etc/init.d/isapnp è

#! /bin/sh
# /etc/init.d/isapnp: configure Plug and Play boards
test -x /sbin/isapnp || exit 0
/sbin/isapnp /etc/isapnp.conf
exit 0

NOTE: agli utenti Debian hamm e RedHat 5.0 o superiori dovrebbe bastare creare il file /etc/isapnp.conf.

Se avete un’altra distribuzione Linux, beh siete soli, non so cosa bisogna fare (se qualcuno lo sa, me lo comunichi). L’importante è essere sicuri che isapnp venga caricato in fase di avvio e che compaia (sempre in fase di avvio) una scritta del tipo :

     Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e:  CTL0048 Serial No 58128

3.3 Compilare il kernel

Prima di ricompilare il kernel dovete installare l’AWE driver Extension. Normalmente se è stato già "deppacchettizzato" lo trovate in /usr/src/awedrv e da lì seguite le istruzioni nel file INSTALL.awe. Oppure direttamente digitate

     ./install.sh

Per vedere se è già installato nel kernel guardate in /usr/src/linux/drivers/sound/lowlevel se ci sono i file awe_*.

Se volete fare un upgrade del driver AWE, vi conviene prima cancellare il vecchio drivers/sound/lowlevel/awe_wav.c, e quindi eseguire lo script d’installazione (questo perché l’installazione va a vedere se esiste quel file e se c’è non fa niente).

Ora finalmente potete lanciare l’amatissimo make config (o make menuconfig o make xconfig) nella directory /usr/src/linux. Configurate il resto come volete voi (ricordandovi di abilitare il supporto per i moduli se volete installare i driver sonori come moduli).

Ad un certo punto vi verrà chiesto se volete il sound card support. rispondete con Y o M se non avete una schesa PnP. Se invece avete una SB PnP dovete rispondere M.

Poi alle seguenti voci della sezione sound un bel Y (alle altre un N e una pietra sopra).

Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?]
Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?]
/dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?]
MIDI interface support (CONFIG_MIDI) [Y/n/?]
FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?]
lowlevel sound driver support [Y/n/?]
AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?]

ATTENZIONE SE L’ULTIMA NON APPARE ALLORA NON AVETE INSTALLATO L’AWE DRIVER EXTENSION!!!!!

Quindi dovete configurare l’I/O della SB date un’occhiata all’isapnp.conf altrimenti provate questi valori di default (che sono andati bene a me, a marcus e ad altre persone). Attenzione in particolar modo ai valori del SBC_IRQ e SB_MPU_BASE che normalemente sono sbagliati per molte SB.

I/O base for SB Check from manual of the card (SBC_BASE) [220]
Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5]
Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1]
Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7
(use 1 for 8 bit cards) (SB_DMA2) [5]
MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card
(SB_MPU_BASE) [330]
SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1]

Ora ricompilate il kernel seguendo i suggerimenti del Module HOWTO:

     make dep
     make clean
     make modules
     make modules_install

make zImage o make zlilo o make zdisk a seconda delle vostre necessità.

Per gli utenti Debian + semplicemente

     make-kpkg clean
     make-kpkg -revision custom.1.0 kernel_image
e quindi dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb.

3.4 Riavvio

Dopo l’installazione del nuovo kernel dovete riavviare il sistema (fatevi sempre un dischetto di boot in caso di errori irreversibili). Ora incrociate le dita, fate le macumbe, e riavviate (CTRL+ALT+CANC o per i

maniaci shutdown -r now).

Ora potete installare il sound driver se lo avete compilato come modulo.

     Modprobe -a sound
     AWE32 Sound Driver v0.3.3e (DRAM 2048k)

Se la memoria non è stata rilevata correttamente provate a fare l’upgrade del AWE driver Extension o

direttamente editate il file /usr/src/linux/drivers/sound/lowlevel/awe_config.h

per esempio:

     #define AWE_DEFAULT_MEM_SIZE  4096   /* kbytes */

quindi ricompilate il kernel di nuovo.

Se non volete ricompilare tutto ex novo, è anche possibile fare soltanto make modules e make modules_install. Io comunque, suggerisco di ricompilare tutto , male non fa né a voi né al Pc.

Se invece è andato tutto, bene dovreste avere il sound module caricato automaticamente.

Potete usare kerneld oppure aggiungere sound in /etc/modules (in Debian) o aggiungere /sbin/modprobe -a sound negli script di avvio del vostro Linux.

4 Testiamo il tutto

4.1 /proc/devices /dev/sndstat

Se avete installato il sound support come "built-in" già nei messaggi di boot dovreste aver visto dei messaggi utili. In ogni caso date un’occhiata a quello che appare con questi comandi:

     modprobe -r sound  (questo se lo avete caricato come modulo)
     modprobe -a sound trace_init=1
      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
     AWE32 Sound Driver v0.3.3e (DRAM 2048k)

Se avete /proc come file system virtuale date un’occhiata ai devices

     cat /proc/devices
     ...Character devices:
        [...]
        14 sound
        [...]

Date un’occhiata che in /dev i device siano installati correttamente (vedi SOUND-HOWTO su come fare) quindi diamo un’occhiata a /dev/sndstat

     # cat /dev/sndstat
            Sound Driver:3.5.4-960630 (Sat Oct 11 19:35:14 CEST 1997 root,
            Linux flora 2.0.29 #1 Sat Oct 11 19:12:56 CEST 1997 i586 unknown)

            Kernel: Linux flora 2.0.29 #1 Sat Oct 11 19:36:23 CEST 1997 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
            1: AWE32 Driver v0.3.3e (DRAM 2048k)
            Midi devices:
            0: Sound Blaster 16
            Timers:
            0: System clock
            Mixers:
            0: Sound Blaster
            1: AWE32 Equalizer

Se non vi esce un output come questo allora avete sbagliato qualcosa nella configurazione e dovete ritornare al punto 3.2 (Iniziamo) (e senza passare per il via).

4.2 Output: Il Device Raw Audio

Cercate un file di tipo .au (sun workstation) o .wav (ma non sempre funzionano). Io suggerisco sempre un

bel find / -name *.au.

E ora ... magia di Linux ... digitate :

     cat file.au > /dev/audio

oppure

     cat file.wav > /dev/dsp

in questo modo dovreste sentire il file sonoro utilizzando il driver Audio Device 0: Sound Blaster 16

(4.3).

4.3 Output: Sintesi OPL-2/OPL-3

Se volete usare la sintesi FM OPL-2/OPL-3 per ascoltare i MIDI provate il programma playmidi (appendice B)

     playmidi -f dance.mid

oppure

     playmidi -4 dance.mid

il primo vi da l’OPL-2 il secondo l’OPL-3. Se il suono fa schifo non preoccupatevi è la sintesi FM che fa schifo, ma voi avete unia SB-AWE e potete usare ben altro!!

4.4 Output: Sintesi Wave Table

L’AWE driver Extension ha alcuni splendidi comandi (awesfx) per fare uso dell’EMU 8000 Wave Table synthesis.

Prima di tutto dovete caricare una sound font Bank sulla vostra scheda (anche se volete usare i ROM samples). Potete trovare i file dalla vostra partizione DOS/Windows - file con suffisso *.sfb o *.sf2.

I ROM samples possono essere caricati con SYNTHGM.SBK, mentre i samples reali li trovate in SYNTHGS.SBK e SYNTHMT.SBK, oppure in SAMPLE.SBK. Potete trovare altri Sound Font Banks via ftp o www, per esempio l’EMU homepage, il sito della Creative, e cercate i CHAOS samples, che sono molto buoni.

Provate a caricare l’insieme GM standard (ROM) con

     sfxload -i synthgm.sbk

E poi ascoltatevi un MIDI con l’utility

     drvmidi dance.mid

4.5 Mixer

Procuratevi il vostro programma di mixer favorito e caricatelo. Ora fate partire un wav e due midi nello stesso tempo per provate le impostazioni del vostro mixer. Qui di seguito c’è la lista delle periferiche e di come sono chiamate

Yamaha OPL-3 Synth o FM

AWE32 Driver Synth o FM (qualcuno conosce un mixer in cui queste due voci sono separate?)

Sound Blaster 16 (4.13)

PCM o DSP

PC Speaker (ancora vivo)

Spkr

Altre periferiche sono il CDROM possibilmente collegato alla SB, MASTER VOLUME (volume generale), Bass (regolazione bassi), Treble (regolazione alti).

4.6 Input: Compionamenti con il Device Raw Audio

È possibile registrare da CDROM, microfono e qualsiasi cosa connessa al line-in. Configura il mixer nel modo più appropriato. Suona e poi registra una traccia ad esempio:

      cdplay
      dd bs=8k count=5 < /dev/dsp > music.au
      5+0 records in
      5+0 records out
      cat music.au >/dev/dsp

prende 5 secondi di una traccia del cd e la registra nel file music.au che poi viene fatto partire.

5 Software per il driver AWE

5.1 sfxload

È possibile caricare dei sample nella DRAM della SB con il comando sfxload.

NOTA: è possibile caricare solo un sample file per banco, con il banco 0 come default. Da ciò consegue che dopo sfxload synthgs.sbk, l’unico sample caricato è il GS. Se vuoi caricare Sound Font Bank addizionali, è necessario usare l’opzione -b.

Ad esempio:

     sfxload synthgs.sbk
     sfxload -b1 sample.sbk
     drvmidi sfx.mid

Inoltre è possibile caricare un Sound Font Bank di default; basta aggiungere la linea seguente

     post-install sound /usr/bin/sfxload synthgm.sbk
in /etc/conf.modules.

Guardate la documentazione relativa a sfxload per altre dritte.

5.2 drvmidi

Con drivmidi, è possibile adoperare l’AWE driver per suonare i MIDI, basta specificare il file che si vuole sentire dopo il comando.

Ad esempio:

     drvmidi waltz.mid

Guardate la documentazione relativa a sfxload per altre dritte.

6 Appendici

6.1 Informazioni addizionali

The Linux Sound HOWTO

Autore: Jeff Tranter, < jeff_tranter@pobox.com >

Ultima versione: v1.17, 4 Agosto 1997 È consigliabile leggere bene questo HOWTO !!!!!

The Linux Sound Playing HOWTO

Autore: Yoo C. Chung, < wacko@laplace.snu.ac.kr >

Ultima versione: v1.4, 13 Maggio 1997 Anche questo HOWTO è utile per conoscere i vari formati musicali e che applicazioni utilizzare per ascoltarli

The AWE Driver FAQ

Autore: Takashi Iwai < iwai@dragon.mm.t.u-tokyo.ac.jp >
Source: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.html

La BIBBIA di noi poveri possessori di SB-AWE l’ISA PnP FAQ

Autore: Peter Fox < fox@roestock.demon.co.uk >
Source: http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html

Se avete problemi mentre configurate la vostra scheda PnP, allora qui troverete molti aiuti.

6.2 6.2. Sorgenti

isapnptools
Autore: Peter Fox < fox@roestock.demon.co.uk >

Ultima Versione: 1.11

Source: http://www.roestock.demon.co.uk/isapnptools/index.html

Per riportare bug, patches o commenti su isapnp: isapnp@roestock.demon.co.uk. Includendo isapnp nel subject.

awedrv
Author: Takashi Iwai < iwai@dragon.mm.t.u-tokyo.ac.jp >

Ultima Versione: 0.4.2c

Source: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/

Linux kernel Autore: Linus Torvald & co. Ultima versione: al momento 2.0.33 Reperibile a: ovunque ci sia Linux

OSS/Free Author: Hannu Savolainen (Si invita fare un giro a http://www.4front-tech.com/usslite prima di spedimi una mail).

Ultima Versione: I ho 3.5.5-beta1

Reperibile con il Linux Kernel Source Package

   Informazioni:  http://www.4front-tech.com/usslite or European mirror http://personal.
   eunet.fi/pp/voxware .

6.3 Esempio di isapnp.conf

Nell’ISA PnP file di configurazione, creato da pnpdump, i singoli componenti della vostra scheda PnP compaiono come sezioni (SECTION). Nel file qui sotto riportato è stata rilevata la scheda sonora con 4 componenti logici:

• LD 0: Audio Device

• LD 1: IDE Device

• LD 2: WaveTable Device

• LD 3: Gameport Device

è stato lasciato LD 1 non configurato perché il CDROM non era attaccato alla porta ide della SB. Se non avete una porta Ide sulla vostra SB allora LD 1 sarà il Gameport Device e LD 3 non comparirà. Per favore fate riferimento alla sezione 3.2 (Iniziamo) per informazioni importanti su questo file.

# $Id: pnpdump.c,v 1.9 1997/06/10 21:37:32 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# For latest information on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)
# Try the following if you get error messages like
# Error occurred executing request 'LD 2' on or around line...
#(VERIFYLD N)
# ANSI string -->Creative SB32 PnP<--
(CONFIGURE CTL0048/58128 (LD 0
#     ANSI string -->Audio<--
  (INT 0 (IRQ 5 (MODE +E)))
  (DMA 0 (CHANNEL 1))
  (DMA 1 (CHANNEL 5))

  (IO 0 (BASE 0x0220))
  (IO 1 (BASE 0x0330))
  (IO 2 (BASE 0x0388))
  (ACT Y)
))
(CONFIGURE CTL0048/58128 (LD 1
#     ANSI string -->IDE<--
# (INT 0 (IRQ 10 (MODE +E)))
# (IO 0 (BASE 0x0168))
# (IO 1 (BASE 0x036e))
# (ACT Y)
))
(CONFIGURE CTL0048/58128 (LD 2
#     ANSI string -->WaveTable<--
  (IO 0 (BASE 0x0620))
  (IO 1 (BASE 0x0A20))
  (IO 2 (BASE 0x0E20))
  (ACT Y)
))
(CONFIGURE CTL0048/58128 (LD 3
#     ANSI string -->Game<--
  (IO 0 (BASE 0x0200))
  (ACT Y)
))
# Returns all cards to the "Wait for Key" state
(WAITFORKEY)