Capitolo 17. Audio

Sommario
17.1. Un po' di conoscenza dell'hardware
17.2. Impostazione del BIOS
17.3. Configurazione dei dispositivi
17.4. Consigli sulla configurazione del kernel
17.5. Comandi avanzati

L'autore di questo capitolo (Audio) è Manolo De Santis

Questo capitolo vuole essere una breve guida per l'uso dell'audio su NetBSD, visto che nessuno amerebbe mai un computer muto...

17.1. Un po' di conoscenza dell'hardware

Innanzitutto bisogna sapere con che tipo di chipset audio abbiamo a che fare. Infatti non basta sapere chi ha prodotto la scheda audio per riuscire a farla funzionare con NetBSD, perché a volte i chipset di certe schede sono prodotti da terze parti. Ma niente paura! Nella maggioranza dei casi il kernel di NetBSD è in grado di rilevare il dispositivo, per cui basta dare un'occhiata all'output prodotto da dmesg.

Quindi dare un bel:

# dmesg | more    

per vedere quale chipset audio sia stato individuato. In molti casi non si deve neppure intervenire sul kernel perché NetBSD individua e autoconfigura (quasi!) ogni scheda audio con molta facilità.

A volte non si riesce a far funzionare l'audio solo perché il chipset della scheda non è supportato da NetBSD (e qui molta gente ha ben pensato di acquistare una nuova scheda) o solo perché bisogna perderci un pò di tempo sopra.

17.2. Impostazione del BIOS

Ebbene, questa sezione sarà utile solo ai possessori di PC e compatibili, visto che su altre architetture (tipo Amiga) non serve a molto, se non a niente. La cosa più importante per utilizzare una scheda audio su un PC con NetBSD è la configurazione del BIOS. Infatti, bisogna sapere qual è il tipo di interfaccia della scheda audio in possesso.

La scelta è tra PCI e ISA.

Una scheda di tipo ISA è in genere più difficile da configurare, soprattutto perché il BIOS ci mette ogni tanto lo zampino...

Sui nuovi computer in commercio (quelli prodotti in genere dopo la fine del 1997) c'è un'opzione del BIOS che crea grossi problemi alle schede audio ISA su NetBSD. Questa è 'PNP OS Installed' (si trova in genere in 'PNP/PCI Configuration'). Ebbene se questa opzione è presente bisogna disabilitarla. Quindi, impostarla su 'NO'.

17.3. Configurazione dei dispositivi

Durante l'installazione di NetBSD vengono creati tutti i device in /dev. A noi interessano principalmente:

/dev/audio
/dev/sound
/dev/mixer
    

Se essi non sono presenti li possiamo creare così:

# cd /dev
# ./MAKEDEV all
    

In tal modo vengono ricreati tutti i device, compresi quelli relativi all'audio.

Bene, a questo punto è molto probabile che la scheda audio sia già pronta per l'uso.

Si può subito testarla inviando un qualsiasi file (anche di testo o binario) direttamente a /dev/audio oppure /dev/sound in questo modo:

# cat NomeDelFile > /dev/audio    

oppure anche

# cat NomeDelFile > /dev/sound    

Se è possibile sentire qualcosa, allora non ci sono problemi, tutto funziona correttamente perché la scheda è direttamente supportata dal kernel del nostro sistema.

In caso contrario bisogna configurare il kernel impostando i device relativi alla nostra scheda audio.

17.4. Consigli sulla configurazione del kernel

Le schede audio supportate da NetBSD sono moltissime, infatti nel kernel GENERIC della versione 1.5 del sistema operativo sono già abilitate tutte le opzioni relative.

Alcuni PC non hanno la cosiddetta scheda sonora, bensì un chipset audio integrato nella mother board, e tale funzione non è abilitata nel kernel GENERIC. Bisogna individuare queste linee proprio nel file di configurazione del kernel GENERIC:

# Plug-and-Play BIOS and attached devices
 
#pnpbios*       at mainbus?
  
# mainboard audio chips 
#ess*           at pnpbios? index ?     # ESS AudioDrive
#sb*            at pnpbios? index ?     # NeoMagic 256AV in sb mode
#wss*           at pnpbios? index ?     # NeoMagic 256AV in wss mode
#ym*            at pnpbios? index ?     # OPL3-SA3    

A questo punto bisogna togliere i commenti per abilitare i chipset audio integrati e ricompilare il kernel.

Tornando alle schede audio, talvolta si devono impostare manualmente anche gli IRQ e i DMA.

Per una prova si possono lasciare tutte le opzioni abilitate perché molti chipset audio possono funzionare solamente emulando un altro tipo di dispositivo.

Generalmente molti chipset sfruttano la compatibilità con SoundBlaster, OPL ma nella maggioranza dei casi l'audio funziona sfruttando WSS.

OPL è un sintetizzatore MIDI prodotto da Yamaha e ne esistono diverse varianti in commercio (tra cui OPL2, OPL3SA, OPL3SA2, ecc.). Posso dire che moltissime schede audio in commercio possiedono questo microchip oppure uno totalmente compatibile. Ad esempio tutti i chip prodotti da Crystal (tra cui i comuni CS423x) possiedono questo chip, ed è proprio quest'ultimo a permetterne il funzionamento con NetBSD!

WSS non è proprio un microchip, anzi... è l'acronimo di Windows Sound System. Infatti wss è un driver del kernel di NetBSD che supporta il sistema audio di Microsoft Windows. Molte schede audio funzionano con Windows proprio perchè aderiscono a questo standard, WSS appunto. La stessa cosa fortunatament e vale anche per NetBSD.

Personalmente ho avuto modo di provare svariate schede con NetBSD e posso dire che molte di esse funzionano solo se opl* e wss* sono abilitati nel kernel!

Nessun problema con le Sound Blaster originali Creative: funzionano tutte, compresa la Sound Blaster Live 1024!

Una volta che tutto funziona correttamente si possono disabilitare dal kernel le opzioni relative ai devices audio che non ci interessano.

17.5. Comandi avanzati

NetBSD possiede delle utility progettate esclusivamente per il controllo e l'utilizzo dei device audio. Esse sono: