2.3.2. Dispositivi di output audio

L'interfaccia audio di MPlayer è chiamata libao2. Attualmente contiene questi driver :

Generale:
| oss |  | driver OSS (ioctl)(supporta il passaggio hardware AC3)
| sdl |  | driver SDL (supporta sopra/sottocampionamento, ESD, ARTS ecc)
| nas |  | driver NAS (Network Audio System, sistema audio per la rete, ndt)
| alsa5 |  | driver nativo ALSA 0.5
| alsa9 |  | driver nativo ALSA 0.9 (supporta il passaggio hardware AC3)
| sun |  | driver audio SUN (/dev/audio) per utenti BSD e Solaris8
| arts |  | driver ARTS nativo (principalmente per utenti KDE)

Il fatto è che i driver per le schede sonore di Linux sono solitamente pessimi, e sempre incompatibili. PUOI metterci un po' prima di trovare la tua configurazione ottimale.

- se hai OSS come driver, prima prova con -ao oss (questo è il default). Se riscontri interruzioni, o qualunque cosa fuori dall'ordinario, prova -ao sdl (NOTA: naturalmente devi avere una nuova libreria SDL e le sue parti di sviluppo installate). Aiuta in molti casi (supporta anche ESD, ARTS, e sopra/sottocampionamento. /esd è il demone del suono di GNOME, arts è quello di KDE/).
- se hai ALSA versione 0.5, allora dovrai usare QUASI sempre -ao alsa5 , dato che la 0.5 ha un codice di emulazione OSS con dei bug, e manderà in crash MPlayer con un messaggio come questo:
  `DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!`
- se hai ALSA versione 0.9, usa -ao oss o -ao sdl come vuoi. Puoi anche usare -ao alsa9 dato che ora funziona, comunque può avere dei problemi (perde la sincronia, l'audio scompare, ecc).

Su sistemi Solaris/FreeBSD, usa il driver audio SUN con l'opzione -ao sun, altrimenti non avrai ne riproduzione video, ne audio.

2.3.2.1. Esperienze con le schede sonore, raccomandazioni

Chipset VIA integrato (via82cxxx) solo 48Khz
| Driver: | prelevabile da qui
Aureal Vortex 2
| OSS: | nessun driver
| OSS/Pro: | OK
| ALSA: | nessun driver
| KHz massimi: | 48
| Driver: | aureal.sourceforge.net
| Driver2: | prelevabile da qui (grandezza del buffer aumentata a 32k)
GUS PnP
| OSS: | nessun driver
| OSS/Pro: | OK
| ALSA: | OK
| KHz massimi: | 48
SB Live!
| OSS: | L'analogico è OK, SP/DIF non funziona
| ALSA: | Entrambi OK
| KHz massimi: | 192
SB AWE 64
| OSS: | massimo 44kHz
| ALSA: | a 48kHz suona male
| KHz massimi: | 48
Gravis UltraSound ACE
| OSS: | non OK
| ALSA: | OK
| KHz massimi: | 44
Gravis UltraSound MAX
| OSS: | OK
| ALSA: | OK (?)
| KHz massimi: | 48
ESS 688
| OSS: | OK
| ALSA: | OK (?)
| KHz massimi: | 48
Schede C-Media (quali?)
| OSS: | non OK (sibila) (?)
| ALSA: | OK (?)
| KHz massimi: | ?
Schede Yamaha (*ymf*)
| OSS: | non OK (?) (forse -ao sdl)
| ALSA: | OK solo con ALSA 0.5 con emulazione OSS E -ao sdl (!) (?)
| KHz massimi: | ?
Schede con chip envy24 (come Terratec EWS88MT)
| OSS: | ?
| OSS/Pro: | OK
| ALSA: | ?
| KHz massimi: | ?
PC Speaker o DAC
| OSS: | OK (usa il driver SDL : -ao sdl)
| ALSA: | nessun driver
| KHz massimi: | il driver emula 44.1 forse più
| Driver: | ftp://ftp.infradead.org/pub/pcsp

- su Linux, usa almeno il kernel 2.4 se possibile, il 2.2 non è stato testato
- se emette dei click leggendo da CD-ROM, abilita l' IRQ unmasking ! per esempio "hdparm -u1 /dev/cdrom" (vedi "man hdparm" !!!) Questo è consigliato comunque... (per XMMS, ecc...) Leggi la sezione 4.1.
- non usare la scheda sonora con altre applicazioni ( es. XMMS ) ! se usi ESD, esegui MPlayer con l'opzione '-vo sdl:esd' !
- Per favore dicci come MPlayer e la tua scheda sonora hanno lavorato insieme!

2.3.2.2. Plugin Audio

MPlayer supporta plugin audio. Possono essere usati per cambiare le proprietà dei dati audio prima che raggiungano la scheda sonora. Sono abilitati con l'opzione `-aop` seguita da `list=plugin1,plugin2,...`. L'opzione `list` è necessaria e determina quali plugin devono essere usate e in quale ordine devono essere eseguite, esempio:

`mplayer media.avi -aop list=resample,format`

farà passare il suono attraverso il plugin di ricampionamento seguito da quello di formattazione.

I plugin possono anche avere opzioni che ne modificano il comportamento. Queste sono spiegate in dettaglio nelle sezioni sotto. Un plugin sarà eseguito con la configurazione di default se non vengono date opzioni. Esempi di come usare plugin in combinazione con loro opzioni specifiche:

`mplayer media.avi -aop list=resample,format:fout=48000:format=0x8`

cambierà la frequenza di uscita del plugin di ricampionamento a 44100Hz e il formato output del plugin di formattazione a AFMT_U8.

Attualmente i plugin audio non possono essere usati in MEncoder.

2.3.2.2.1. Sopra/Sotto campionamento

MPlayer supporta pienamente il sopra/sotto campionamento del suono. Questo plugin può per esempio essere usato se hai una scheda sonora a frequenza fissa o se sei bloccato con una vecchia scheda sonora in grado di dare al massimo 44.1kHz. Le limitazioni del tuo hardware non sono riconosciute automaticamente, quindi devi esplicitare la frequenza di campionamento. Questo plugin ha una opzione: `fout` che è usata per specificare la frequenza di output desiderata, di default 48kHz, ed è data in <Hz>.

Utilizzo :
`mplayer media.avi -aop list=resample:fout=<necessaria frequenza in Hz, come 44100>`

2.3.2.2.2. Decodifica Suono Surround

MPlayer ha un plugin audio che puo decodificare una matrice di suono surround. Dolby Surround è un esempio di un formato di matrice.

Molti file con 2 canali in realtà contengono una matrice di suono surround.

Per usare questa caratteristica, devi avere una scheda sonora che supporta almeno 4 canali.

Utilizzo :
`mplayer media.avi -aop list=surround`

2.3.2.2.3. Convertitore del formato di campionamento

Se il driver della tua scheda sonora non supporta gli int signed a 16bit, questo plugin può essere usato per cambiare il formato ad uno compreso dalla tua scheda sonora. Ha una opzione `format` che può avere come valori uno dei numeri che si trovano in libao2/afmt.h. Questo plugin è difficilmente necessario ed è da intendersi per utenti avanzati. Nota che questo plugin cambia solo il formato di campionamento e non la frequenza o il numero di canali.

Utilizzo :
`mplayer media.avi -aop list=format:format=<necessario formato di output>`

2.3.2.2.4. Ritardo

Questo plugin ritarda il suono ed è da intendersi come un esempio di come sviluppare nuovi plugin. Non può essere usato per niente di utile dalla prospettiva degli utenti ed è menzionato qui solo per dovere di completezza. Non usare questo plugin se non sei uno sviluppatore.

2.3.2.2.5. Controllo volume via software

Questo plugin è un sostituto software per il controllo volume, e può essere usato in macchine con dispositivo mixer non funzionante. Può anche essere usato se si vuole modificare il volume di output da MPlayer senza cambiare le impostazioni del volume PCM del mixer. Ha una sola opzione `volume` che serve a impostare il volume iniziale. Può essere impostato a valori tra 0 e 255 e il default è 101, uguale ad una amplificazione di 0dB. Usa questo plugin con attenzione in quanto può aumentare il rumore nel segnale. Nella maggior parte dei casi è meglio impostare il livello del suono PCM al massimo, lasciare perdere questo plugin e controllare il livello in output col controllo volume principale del mixer. Se è connesso al computer un aplificatore esterno (questo è quasi sempre il caso), il livello del rumore può essere minimizzato regolando le manopole del livello principale e del volume dell'amplificatore finchè il rumore sibilante sullo sfondo non sparisce.

Utilizzo :
`mplayer media.avi -aop list=volume:volume=<0-255>`

Questo plugin ha anche un compressore o capacita di "ritaglio software". Si può usare la compressione se l'estensione dinamica del suono è molto grande o se l'estensione dinamica degli altoparlanti è molto bassa. Nota che questa caratteristica crea distorsioni e dovrebbe essere considerata come l'ultima risorsa.

Utilizzo :
`mplayer media.avi -aop list=volume:softclip`

2.3.2.2.6. Extrastereo

Questo plugin aumenta (linearmente) la differenza tra i canali destro e sinistro (come il plugin extrastereo di XMMS) che da un certo effetto "live" alla riproduzione.

Utilizzo :
`mplayer media.avi -aop list=extrastereo`
`mplayer media.avi -aop list=extrastereo:mul=3.45`

Il coefficiente di default (`mul`) è un numero razionale preimpostato a 2.5. Se lo si imposta a 0.0, si ottiene un suono mono (media di entrambi i canali), se lo si imposta a 1.0, il suono non risulterà cambiato, se lo si imposta a -1.0, i canali destro e sinistro risulteranno scambiati.

2.3.2.2.7. Normalizzatore volume

Questo plugin massimizza il volume mantenendo il suono senza distorsioni.

Utilizzo :
`mplayer media.avi -aop list=volnorm`