The Linux Sound Playing HOWTO
 Yoo C. Chung, [email protected]
 v1.6, 11 Agosto 1998

 Questo documento contiene una panoramica sulle applicazioni per Linux
 che servono a riprodurre i vari formati audio. La traduzione italiana
 � di Marco Meloni ([email protected]) .


 1.  Introduzione

 Questo � il Sound Playing HOWTO. Qui si parla dei vari formati audio e
 delle applicazioni che possono essere usate per riprodurli.  Contiene
 altres� qualche trucco e qualche consiglio sull'uso di queste
 applicazioni. Vi sono anche altre interessanti applicazioni connesse
 al suono che non riguardano direttamente la riproduzione dei file
 audio. Comunque questo documento non descrive come configurare Linux
 per far funzionare l'audio. Si consulti il Linux Sound HOWTO di Jeff
 Tranter per avere istruzioni su come configurare un sistema Linux per
 il corretto funzionamento dell'audio e per l'hardware sonoro
 supportato.

 Qui si tratta di normali applicazioni sonore per l'utente.  Quindi si
 parla solo di ci� che l'utente medio ha bisogno di sapere dal punto di
 vista delle applicazioni sonore, non si parla di roba esotica come
 sintesi del parlato o di roba hardware che � oggetto del Sound HOWTO.




 1.1.  Copyright di questo documento

 (La nota sul copyright di questo documento � lasciata in lingua
 originale, visto che la traduzione non ha valore legale. Stringendo:
 questo documento si pu� distribuire e modificare se la nota di
 copyright rimane inalterata. Non pu� essere sottoposto ad altre
 restrizioni e un documento modificato deve avere la stessa licenza
 dell'originale. Le fonti devono essere sempre citate. ndt)

 This document can be freely distributed and modified (I would
 appreciate it if I were notified of any modifications), as long as
 this copyright notice is preserved.  However, it cannot be placed
 under any further restrictions, and a modified document must have the
 same copyright as this one.  Also, credit must be given where due.



 1.2.  Copyright delle applicazioni menzionate

 (Quando non specificato altrimenti, l'applicazione � distribuita sotto
 la General Public License GNU).

 If there is no mention of any copyright, then the application is under
 the GNU General Public License.




 1.3.  Dove prendere questo documento

 Le versioni ufficiali pi� recenti di questo documento possono essere
 ottenute dal Linux Documentation Project
 <http://sunsite.unc.edu/LDP/>.  Le versioni non ufficiali pi� recenti
 di questo documento possono essere ottenute da
 <http://laplace.snu.ac.kr/~wacko/howto/>.

 Una versione coreana di questo documento (molto obsoleta) �
 disponibile su  <http://laplace.snu.ac.kr/~wacko/howto/Sound-Playing-
 HOWTO.ks>.

 Una versione giapponese di questo documento � disponibile su
 <http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc>.




 1.4.  Feedback

 Non sono onnisciente e non uso tutte le applicazione di cui parlo
 (qualcuna non posso nemmeno provarla), quindi � giocoforza che vi
 siano degli errori. Oltretutto i programmi si evolvono continuamente,
 quindi la documentazione tende a divenire obsoleta. Perci� se trovate
 qualcosa di scorretto, inviatemi le correzioni. Anche suggerimenti e
 contributi per questo documento sono benvenuti.



 1.5.  Ringraziamenti

 Tutti gli autori delle applicazioni in questo HOWTO. Poi anche Hannu
 Savolainen per il suo bel driver sonoro e Linus Torvalds per il bel SO
 che vi sta sotto.

 Vorrei anche ringraziare Raymond Nijssen ([email protected]),
 Jeroen Rutten ([email protected]), Antonio Perez
 ([email protected]), Ian Jackson ([email protected]), e Peter Amstutz
 ([email protected]) per le loro informazioni ed il loro aiuto.




 2.  Riprodurre Diversi Formati Audio

 Vi sono diversi tipi di formati audio (WAV, MIDI, MPEG ecc.).  Di
 seguito riportiamo i vari formati e le applicazioni che possono essere
 utilizzate per riprodurli.



 2.1.  MIDI

 MIDI sta per Musical Instrument Device Interface (interfaccia per
 strumenti musicali, ndt)  I file MIDI normalmente hanno l'estensione
 .mid. Questi contengono informazioni di sequencing, sarebbe a dire,
 informazioni su quando suonare quale strumento in quale maniera, ecc.
 A seconda del vostro hardware (e forse anche del software che usate
 per riprodurli), il suono potrebbe essere piacevole o inudibile.



 2.1.1.  adagio

 Questo pacchetto include mp (un riproduttore di file MIDI utilizzabile
 da linea di comando) e xmp (un riproduttore di file MIDI basato su
 XView, da non confondere con il riproduttore di moduli xmp).  Avrete
 bisogno delle estensioni SlingShot per utilizzare xmp. Vi sono anche
 altri programmi per eseguire gli spartiti di Adagio.



 Se avete una GUS mp pu� anche riprodurre file MOD guardate la sezione
 ``Moduli'' per maggiori informazioni sui moduli).
 Un piccolo fastidioso bug (come nella versione 0.5 su qualche
 hardware) � che il suono si interrompe verso la fine. In pratica,
 invece di terminare la riproduzione nel modo previsto dal file MIDI,
 eseguendo la penultima nota su un lungo intervallo. Ci� non mi ha
 fatto desistere dall'utilizzare mp, ma potrebbe convincere altri a non
 usarlo per un lavoro `reale'. Inoltre parte in maniera relativamente
 lenta.

 Il pacchetto non menziona copyright (almeno, nessuno che io abbia
 trovato), quindi ritengo sia liberamente ridistribuibile e
 modificabile. (Da una interpretazione alla lettera della legge sul
 copyright si desume che niente vi d� il diritto di fare queste cose,
 ma ho qualche dubbio che questa fosse l'intenzione dell'autore).

 � un porting del CMU MIDI Toolkit su Linux (adesso ce n'� abbastanza
 da discutere) effettuato da Greg Lee ([email protected]).

 Lo potete trovare su
 <ftp://tsx-11.mit.edu/pub/linux/packages/sound/adagio05.tar.gz>.  I
 binari acclusi sono in formato a.out (linkati con antiche librerie),
 ed il binario xmp d� "segmentation fault" in ambiente  X11R6 (XFree86
 3.1.1, libc 4.7.2).  Il binario mp non d� problemi in un ambiente
 a.out.


 Avrete bisogno di un po' di aggiustamenti per compilarlo.  In effetti
 non molti. Tutto quello che dovete fare � includere lo switch -lfl
 alla fine di SHROBJ e XMPOBJ nel Makefile. Questo per linkare la
 libreria flex, che altrimenti non verrebbe linkata. Quindi seguite le
 istruzioni di installazione. E non dimenticatevi che dovete avere le
 XView con le estensioni SlingShot se volete compilare xmp.


 2.1.2.  TiMidity

 Qualcuno raccomanda questo programma sperimentale per via della buona
 qualit� del suono che produce (cosa molto vera, � molto meglio di mp
 su una Sound Blaster 16, anche se probabilmente non � molto differente
 su schede audio con sintesi tramite wavetable come la GUS). Comunque �
 un programma affetto da un alto utilizzo della CPU. Riproduce i file
 MIDI convertendoli a WAV e quindi riproducendo il file WAV risultante
 (potete effettuare la conversione da MIDI a WAV anche senza
 riprodurli, se volete). Questa � la causa del forte utilizzo della
 CPU.

 Ha anche delle interfacce opzionali, ncurses, SLang, Tcl/Tk o Motif.

 Avrete bisogno dei file patch della Gravis Ultrasound per usarlo.
 Date un'occhiata alle FAQ incluse nella distribuzione di Timidity per
 maggiori informazioni.


 L'autore � Tuukka Toivonen ([email protected]).

 L'ultima versione di Timidity pu� essere trovata su TiMidity home page
 <http://www.cgs.fi/~tt/timidity/>. Questa pagina contiene anche un
 collegamento ad una piccola libreria di patch GUS.


 2.1.3.  playmidi

 Questo � un player MIDI che riproduce su FM, GUS e su un dispositivo
 MIDI esterno. Dovrebbe partire prima degli altri player MIDI. Pu�
 anche riprodurre i Creative Music File, i file Microsoft RIFF e i
 grandi archivi MIDI dei giochi come Ultima 7.

 Dispone di un'interfaccia X ed una SVGA. Ha anche un'opzione per la
 riproduzione in realtime con la visualizzazione di tutte le note su
 ogni canale e del tempo di playback (attivata automaticamente con
 xplaymidi e splaymidi).

 Dovrete fare qualcosa tipo:





      $ splaymidi foo.mid; stty sane






 se volete usare l'interfaccia SVGA, poich� essa non ripristina
 correttamente il modo testo del terminale.  L'interfaccia SVGA
 potrebbe essere rimossa in un prossimo futuro.


 � stato scritto da Nathan Laredo ([email protected] o
 [email protected]).

 Lo si pu� trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz>.




 2.2.  Moduli

 I moduli (nella computer music) sono dei file di musica digitale,
 composti di un insieme di campioni e di informazioni di sequencing,
 che dicono al programma di riproduzione quando suonare quale campione
 (strumento) su quale traccia a quale altezza, e opzionalmente se
 applicarvi un effetto, tipo il vibrato, ad esempio.

 Un vantaggio dei moduli sui file MIDI � quello di poter includere
 praticamente ogni tipo di suono (incluse voci umane). Un altro � che
 il suono prodotto non varia su diverse piattaforme, poich� i campioni
 sono nel modulo. Uno svantaggio � quello che la grandezza dei file �
 molto superiore a quella dei file MIDI. Un altro � che in effetti non
 esiste un formato standard (l'unico `vero' � quello di ProTracker, con
 il quale molti moduli sono incompatibili).  Sono nati su Amiga.

 Il formato pi� comune ha l'estensione .mod. Vi sono molte altre
 estensioni a seconda del formato usato.


 2.2.1.  tracker

 Questa applicazione molto portabile (ne � stato effettuato il porting
 su molte piattaforme) riproduce i moduli musicali di Soundtracker e
 ProTracker. L'output � stereo a 16 bit e credo sia di qualit� molto
 buona. Il carico di CPU si pu� ridurre in maniera semplice con
 l'opzione -mono.

 Il programma � "giftware" (per citare l'autore). L'autore � Marc Espie
 ([email protected]).

 Una versione di questo programma contenente un Makefile gi�
 ottimizzato per Linux pu� essere trovata su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz>.
 2.2.2.  gmod

 Questo � un riproduttore di moduli musicali per la scheda Gravis
 Ultrasound. I formati supportati sono MOD a 4/6/8 canali, 669 a 8
 canali, MultiTracker (MTM), UltraTracker (ULT), FastTracker (XM) e
 ScreamTracker III (S3M).

 Richiede la versione 3.0 o seguenti del driver sonoro. E una GUS,
 ovviamente. Probabilmente avrete bisogno di modificare il kernel per
 far funzionare a dovere il controllo del volume.

 Ha anche una interfaccia per X. Utilizza il toolkit QT (versione 0.99
 o successive).  Si dia un'occhiata su QT toolkit homepage
 <http://www.troll.no/> per informazioni riguardanti QT.

 Pu� essere distribuito liberamente. � stato scritto originariamente da
 Hannu Savolainen ed adesso il suo sviluppo viene curato da Andrew J.
 Robinson ([email protected]).

 Lo si pu� trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz>.



 2.2.3.  MikMod

 Questo riproduttore di moduli portabile accetta i formati XM, ULT,
 STM, S3M, MTM, MOD e UNI.  (Il formato UNI � nella versione interna di
 MikMod.) Supporta i file moduli compressi.  Si utilizzi l'opzione -m
 come semplice via per ridurre il carico di CPU.

 Le versioni UNIX possono usare sia l'interfaccia ncurses che Tcl/Tk.
 Pu� anche essere usato come libreria, oltre che come programma
 indipendente.

 � stato scritto in origine da Jean-Paul Mikkers ([email protected]).  �
 adesso curato da Jake Stine ([email protected]).  � un programma
 shareware che occorre registrare per uso commerciale. La distribuzione
 commerciale richiede una licenza (la ridistribuzione non commerciale
 non richiede questa licenza).

 Lo si pu� trovare su MikMod home page
 <http://www.freenet.tlh.fl.us/~amstpi/mikmod.html>.



 2.2.4.  xmp

 � un riproduttore di moduli (da non confondere col xmp di Adagio) che
 esegue moduli MOD, S3M, MTM, PTM, PTR, STM, 669, e XM (vi sono anche
 altri formati supportati in via sperimentale o incompleta). Se avete
 una scheda audio con la capacit� di effettuare la sintetizzazione
 tramite wavetable (GUS o SoundBlaster 32AWE), potete utilizzare questa
 funzionalit� della scheda per ridurre il carico di CPU. Supporta anche
 moduli compressi.

 � disponibile anche una interfaccia di xmp per X.

 � stato scritto da Claudio Matsuoka ([email protected]) e
 Hipolito Carraro Jr.

 Pu� essere trovato su xmp home page <http://xmp.home.ml.org/>.




 2.2.5.  s3mod

 Riproduce moduli MOD a 4/6/8 tracce ed i moduli di Scream Tracker 3.
 L'output predefinito � 8 bit mono con campionamento a 22000 Hz.  Si
 pu� utilizzare l'opzione -s per abilitare la modalit� stereo, -b per
 l'output a 16 bit e -f per impostare la frequenza di campionamento.
 L'output audio � comunque di qualit� minore rispetto a quello di
 tracker (un po' di rumore), perci� consiglio di usare tracker al posto
 di s3mod per riprodurre i normali file MOD (a meno che non abbiate una
 macchina poco potente). Il carico di CPU � molto inferiore a quello
 generato da tracker.

 � copyright di Daniel Marks e David Jeske ([email protected]), ma potete
 farci tutto quello che volete (tranne che raccontare di averlo
 scritto).

 Lo potete trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-
 v1.09.tar.gz>.



 2.2.6.  mod

 Questa versione beta del programma riproduce moduli MOD (15-31
 strumenti, fino a 32 voci), MTM, ULT e S3M attraverso la scheda Gravis
 Ultrasound. Accetta anche moduli compressi se disponete di gzip,
 lharc, unzip, e unarj.  Non riproduce moduli Powerpacked o moduli
 impaccati con qualche composer per Amiga (quelli con la signature
 "PACK").

 Richiede la versione 3.0 o successive del driver sonoro.  Non
 funzioner� con la versione 2.90-2 o precedenti del driver sonoro.
 L'interfaccia testuale richiede ncurses.  � inclusa anche
 un'interfaccia per X, che utilizza Tcl/Tk.  � stato scritto da Mikael
 Nordqvist ([email protected] o [email protected]).

 Lo si pu� trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz>.



 2.2.7.  nspmod

 Questo � un riproduttore di moduli in versione alfa che esegue moduli
 MTM, S3M e MOD. � stato creato per essere un riproduttore di moduli
 per schede audio senza DSP (da non confondere con quello che Creative
 Labs chiama DSP).  Il carico di CPU � all'incirca simile a quello
 generato da tracker.



 Ha la funzionalit� che permette di eseguire i moduli ripetutamente, se
 si vuole. Il numero delle ripetizioni pu� essere limitato dall'opzione
 -l. L'output � a 8 bit (almeno quello della versione 0.1).

 � stato scritto da Toru Egashira ([email protected]).

 Lo si pu� trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz>.






 2.2.8.  yampmod

 Questo programma in versione alfa � stato progettato per riprodurre
 moduli a 4 canali con un minimo carico di CPU. Non � stato concepito
 per produrre un suono di alta qualit�. Quindi l'unico output sonoro
 che produce � quello mono a 22 KHz.  Oltretutto l'output sonoro non �
 cos� pulito come potrebbe essere, cosa che riflette il fatto che si
 trova ancora in versione alfa.

 � stato scritto da David Groves ([email protected]).

 Lo si pu� trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz>.




 2.3.  Stream audio MPEG

 MPEG � uno standard che specifica le codifiche video e audio per la
 memorizzazione digitale. Usualmente MPEG viene associato al video, ma
 la parte audio dello standard pu� essere utilizzata separatamente. La
 parte audio dello standard MPEG definisce tre layer (strati, livelli
 ndt), il layer I, II e III. I riproduttori che decodificano i layer
 pi� alti possono decodificare anche i layer inferiori (ad es. i
 riproduttori di file layer III possono riprodurre anche file di layer
 II). I file audio MPEG layer I normalmente hanno l'estensione .mpg
 (perci� se vi � un file con questa estensione che un riproduttore MPEG
 video non riesce a visualizzare, probabilmente si tratta di uno stream
 audio), i layer II hanno l'estensione .mp2 e i layer III .mp3.  La
 compressione audio � decisamente buona. Un file audio MPEG layer II da
 due megabyte occuperebbe, in codifica PCM semplice, fino a 25 megabyte
 per mantenere la stessa qualit�.


 2.3.1.  mpg123

 Questo programma in versione beta � un efficiente riproduttore di
 strem audio MPEG, che include il supporto per i layer I, II e III. �
 basato su codice attinto da pi� fonti.  � capace di eseguire in tempo
 reale i flussi di dati audio direttamente da HTTP (� possibile
 eseguire uno stream audio MPEG direttamente sul World Wide Web).

 L'autore principale � Michael Hipp ([email protected]
 tuebingen.de). Il programma pu� essere usato e distribuito liberamente
 in forma non modificata per usi non commerciali. La sua inclusione in
 una raccolta di software free (come pu� essere un'immagine su CD-ROM
 di un server FTP) � esplicitamente permessa.

 L'ultima versione pu� essere prelevata da mpg123 homepage
 <http://mpg.123.org/>.



 2.3.2.  maplay 1.2

 Questo riproduttore di strem audio MPEG supporta solo gli stream layer
 I e layer II, mentre manca il supporto per gli stream layer III.
 Supporta le schede audio a 16 bit su Linux.

 Usa fortemente la CPU, occupandone circa il 55% su un Pentium 60MHz.
 L'output � intollerabile su un 486 a 66MHz a causa della scarsa
 potenza del processore. Se a voi succede cos�, provate a riprodurre
 solo una parte dello stream audio (con l'opzione -l o -r), al posto
 della riproduzione in stereo predefinita.

 Una piccola modifica in uno dei file potrebbe essere necessaria per
 effettuarne la compilazione. Effettivamente, potreste aver bisogno di
 aggiungere la seguente linea all'inizio del file configuration.sh.





      #! /bin/sh






 L'autore � Tobias Bading ([email protected]).  maplay 1.2 pu�
 essere prelevato da  <ftp://ftp.cs.tu-
 berlin.de/pub/misc/maplay1.2/maplay1_2.tar>.



 2.3.3.  maplay 1.3b

 Questa � una modifica non ufficiale (non fatta dall'autore originale)
 a maplay 1.2, che lo fa girare con un carico di CPU molto minore.
 Questo grazie ad aver reso funzionante l'output in u-law su altre
 piattaforme oltre alla SPARC. Si noti che l'output u-law � quello
 predefinito, quindi la qualit� dell'audio � minore.

 Le modifiche sono state fatte da Orlando Andico
 ([email protected]).

 Lo si pu� prelevare da
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay-1.3b-
 Linux.tar.gz>.



 2.3.4.  maplay3

 Un altro derivato di  maplay 1.2. Gli aggiunge il supporto per gli
 stream audio MPEG layer III. Per adesso sembra ci siano dei bug nella
 riproduzione (si sentono dei rumori). Forse dovrete modificare le
 opzioni per risolvere questo problema.

 Le modifiche sono state effettuate da Timo Jantunen
 ([email protected] o [email protected]). Egli dice che si pu�
 distribuire liberamente, ma non � consentito lucrarci.  In effetti non
 sono totalmente sicuro della validit� di questo copyright, visto che
 il maplay originale � sotto la GNU General Public License che non
 consente ai prodotti derivati di avere copyright differenti.

 Lo si pu� trovare su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay3.tar.gz>.


 2.3.5.  splay

 Questo riproduttore in versione beta � un altro derivato di maplay 1.2
 (in effetti � un derivato di maplay 1.2+, che � un derivato solo per
 MS Windows di maplay 1.2). Aggiunge il supporto per gli stream audio
 MPEG layer 3. Pu� anche riprodurre file WAV. Pu� anche riprodurre
 flussi di dati audio tramite una connessione HTTP.

 Un'altra funzione di splay � quella per la quale pu� essere utilizzato
 come una libreria (sotto la LGPL), in questa maniera pu� essere
 utilizzato all'interno di altri programmi. Il programma cerca di
 migliorare le prestazioni tramite l'utilizzo del threading (avrete
 bisogno di pthread per utilizzare questa funzione) e l'uso di un po'
 di assembly.


 splay utilizza l'interfaccia a riga di comando e un'interfaccia per X
 opzionale (basata su QT).

 Se dopo essere stato compilato non parte (ad es. esce con
 "segmentation fault"), si provi a compilarlo di nuovo senza il
 threading.

 � opera di Jung Woo-jae ([email protected]).

 Lo si pu� prelevare dalla splay's home page
 <http://adam.kaist.ac.kr/~jwj95/>.



 2.3.6.  Sajber Jukebox

 Questo � un riproduttore di audio MPEG con interfaccia utente grafica.
 � basato su splay, quindi include il supporto per i layer audio MPEG
 fino al III. � anche capace di riprodurre i flussi di dati audio MPEG
 provenienti da HTTP in tempo reale. � anche facile da configurare.

 Utilizza il toolkit QT (la versione minima richiesta � la 1.2).
 Utilizza anche la libreria LinuxThreads (il binario incluso funziona
 solo con la versione 0.5).

 L'autore � Joel Lindholm ([email protected]).  L'ultima
 versione pu� essere presa da  <ftp://kewl.campus.luth.se/pub/jukebox>.



 2.3.7.  amp

 Questo programma di riproduzione di audio MPEG in versione beta pu�
 leggere solo gli stream audio MPEG layer 3.  L'output pu� essere
 diretto alla scheda audio oppure immagazzinato su file in formato raw
 PCM o WAV. Carica abbastanza la CPU (circa il 60% di un Pentium a
 133MHz).


 � stato scritto da Tomislav Uzelac ([email protected]).  Pu� essere
 liberamente usato e distribuito ma non venduto commercialmente senza
 autorizzazione (includerlo in CD-ROM che contengano software free
 dovrebbe essere quindi possibile).

 Lo si pu� scaricare da
 <ftp://ftp.rasip.fer.hr/pub/mpeg/amp-0.7.3.tgz>.



 2.3.8.  XAudio

 Questa libreria in versione alfa � stata scritta per essere una
 implementazione veloce di una libreria che decodifichi l'audio MPEG da
 usarsi nei vari front-end grafici. Supporta l'audio MPEG layer I, II e
 III. Con essa � possibile effettuare accessi casuali ai dati. �
 acclusa una interfaccia a riga di comando. Anche una interfaccia Motif
 (Lesstif) � inclusa nella versione per Linux.

 � opera di Gilles Boccon-Gibod, Alain Jobart ed altri.  I front-end
 per la libreria possono essere scaricati liberamente.  Per utilizzare
 la libreria occorre invece una licenza (disponibile anche una licenza
 per binari e codice sorgente).

 I front-end alla libreria possono essere presi da XAudio home page
 <http://www.xaudio.com/>.



 2.3.9.  Layer 3 Shareware Encoder/Decoder

 Questo � un convertitore che converte gli stream audio MPEG layer 3 in
 formato WAV, AIFF, SND, AIFC o file raw PCM.  La versione Linux non
 consente di dirigere l'output alla scheda audio. Si deve prima
 convertire il file in un altro formato.

 Comunque, se si cerca di riprodurre un file convertito utilizzando
 sox, probabilmente sentirete solo rumore a causa del fatto che
 l'ordine delle word dei file PCM non � corretto (almeno nelle
 piattaforme Intel). Avrete bisogno di fornire a sox l'opzione -x per
 risolvere il problema. Ma vi sono anche dei riproduttori che si
 accorgono che l'ordine non � quello esatto, quindi forse non vi
 dovrete occupare di questo aspetto.

 Se avete un computer veramente veloce (probabilmente almeno un Pentium
 a 100Mhz), potete provare ad eseguire gli stream audio MPEG layer 3
 direttamente senza prima convertire il file audio in un altro formato,
 come nel seguente esempio (assumendo che si utilizzi sox e si eseguano
 file a 44.1 kHz stereo).





      $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 -






 Il numero che compare dopo -r � la frequenza di campionamento dello
 stream audio, ed il numero dopo -c dipende dal formato del file, mono
 o stereo (o anche quadrifonico). Se vi sembra troppo complicato,
 potete utilizzare uno shell script o un alias.

 Questo � un programma shareware copyright di Fraunhofer-IIS.  Una
 versione dimostrativa per Linux su sistemi x86 pu� essere scaricata da
 <ftp://ftp.fhg.de/pub/layer3>. La versione demo converte solo gli
 stream audio MPEG layer III.


 2.3.10.  X11Amp

 Questo software in versione beta � un riproduttore di stream audio
 MPEG con interfaccia grafica, simile a quella utilizzata dal programma
 winamp per Windows.

 Non viene fatta menzione di copyright (ritengo che possa essere
 liberamente utilizzato per scopi personali). � curato da Mikael Alm
 ([email protected]), Thomas Nilsson ([email protected]), e Olle
 Hallnas ([email protected]).

 Lo si pu� scaricare da X11Amp's homepage <http://www.x11amp.bz.nu/>.
 Qui sono disponibili solo i binari per Linux e FreeBSD.


 2.4.  WAV

 Dalla pagina del manuale di sox :



      Sembrano molto simili a file IFF, ma non sono uguali. Sono
      il formato sonoro nativo di Windows 3.1. Ovviamente Windows
      3.1 � di cos� incredibile importanza per l'industria dei
      computer che doveva assolutamente avere un suo formato
      audio.



 Normalmente hanno l'estensione .wav.

 Si veda anche la sezione ``sox'' e ``bplay'' per altri riproduttori di
 file WAV oltre a quelli di cui si parla qui.


 2.4.1.  wavplay

 Questo programma � capace di riprodurre e registrare nel formato WAV.
 Utilizza il locking quindi pu� essere riprodotto un file alla volta.
 Il suo lock pu� essere usato separatamente dalle sue capacit� di
 riproduzione.

 In aggiunta alla interfaccia a riga di comando dispone anche di una
 interfaccia Motif, che pu� essere utilizzata con Lesstif.

 � stato scritto in principio da Andre Fuechsel ([email protected]
 dresden.de), ma � stato modificato al punto da essere stato
 completamente riscritto da Warren W.  Gay ([email protected]
 o [email protected]).

 Lo si pu� scaricare da
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay-1.0.tar.gz>.




 2.5.  Altri

 In questa sezione si parla dei programmi che riproducono dei formati
 audio di cui non si � parlato in una sezione dedicata (ad es. formati
 che dispongono di un solo programma per la loro esecuzione), o
 riproduttori che eseguono pi� di un formato audio.



 2.5.1.  sox

 Questo programma � effettivamente un convertitore, quindi converte un
 formato audio in un altro. Comunque, qualche versione di sox, quando
 lanciato come play, si comporta da riproduttore pi� che da
 convertitore (probabilmente il Sound HOWTO si riferisce a questa
 particolarit� quando parla dell'applicazione play).  Supporta dati
 binari e testuali in formato raw (senza header), RCAM Sound Files,
 Sound Blaster .voc, SPARC .au (con header), Mac HCOM, PC/DOS .sou,
 Sndtool, e Sounder, NeXT .snd, Windows 3.1 RIFF/WAV, Turtle Beach
 .smp, CD-R, e Apple/SGI AIFF e 8SVX.



 A partire da qualche punto nei kernel 1.3.6x, potreste aver bisogno di
 effettuare un piccolo cambiamento in un file per far funzionare la
 riproduzione diretta del suono. Precisamente si deve cambiare la riga
 179 di sbdsp.c da





      if (abuf_size < 4096 || abuf_size > 65536) {






 a





      if (abuf_size < 1 || abuf_size > 65536) {







 Ma, ripeto, probabilmente tutto funzioner� senza questa modifica.
 Effettuarla, comunque, non rovina nulla.



 � stato scritto da ed � sotto copyright di diverse persone, pu� essere
 utilizzato per ogni scopo.

 Lo si pu� prelevare da
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/Lsox-
 linux.tar.gz>.

 Una versione pi� recente a cura di Chris Bagwell
 ([email protected]) (basata sulle ultime versioni gamma del sox
 originale e che include la modifica di cui sopra) pu� essere scaricata
 da  <http://home.sprynet.com/sprynet/cbagwell/projects.html>.  Inoltre
 questa versione supporta i formati WAV MS ADPCM e IMA ADPCM.




 2.5.2.  bplay

 Questo programma in versione beta riproduce file audio raw, WAV e VOC.
 Effettua anche la registrazione in questi formati.  Utilizza diverse
 tecniche per funzionare alla massima velocit� possibile quindi
 funziona in maniera accettabile anche su macchine lente. Una di queste
 tecniche richiede che il programma sia installato in setuid root. Il
 paranoico che volesse utilizzarlo pu� installare il pacchetto Debian
 di Ian Jackson ([email protected]), che disabilita la funzione che
 richiede che il pacchetto sia installato in setuid root.

 L'autore � David Monro ([email protected]).  Lo si pu�
 scaricare da
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/bplay-0.96.tar.gz>.



 2.5.3.  SIDPLAY

 Questo programma emula il chip Sound Interface Device (MOS 6581,
 comunemente detto SID) e la Micro Processor Unit (MOS 6510) del
 Commodore 64. � quindi capace di caricare ed eseguire programmi in
 codice macchina del C64 che producono musica o suoni. Normalmente
 questi sono frammenti di codice e dati presi da giochi e demo e
 trasferiti direttamente dal C64.

 L'interfaccia predefinita � quella a riga di comando. Vi sono anche
 interfacce Tk e QT disponibili separatamente dal pacchetto principale.

 � curato da Michael Schwendt ([email protected]).

 Lo si pu� trovare sulla SIDPLAY's home page
 <http://www.geocities.com/SiliconValley/Lakes/5147/>.



 2.5.4.  RealAudio Player

 Questo programma pu� riprodurre il suono, memorizzato in formato
 proprietario, in tempo reale direttamente da Internet, senza che
 dobbiate scaricarvi prima l'intero file.  Si pu� usare come programma
 stand-alone (da solo ndt.)  ma � stato pensato per essere abbinato ad
 un browser web (quelli esplicitamente gestiti sono Mosaic e Netscape).
 Non pu� essere utilizzato senza X (non riuscirete a farlo funzionare
 con Lynx in una console testuale).

 Esiste comunque un metodo che consente di far girare RealAudio player
 da una console testuale. Si richiede che il virtual frame buffer
 server di X (Xvfb) sia funzionante. Si pu� trovarne la descrizione su
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/traplayer-0.5.tar.gz>.


 � opera di Progressive Networks, Inc. Non pu� essere n� ridistribuito
 n� modificato ecc. Si consulti la licenza per avere maggiori dettagli
 su quello che potete o non potete farci. � possibile ottenerlo
 registrandosi a costo zero su RealAudio home page
 <http://www.realaudio.com/>.



 2.5.5.  cat


 A questo punto qualcuno potrebbe pensare cosa abbia a che fare cat,
 l'utilit� di concatenazione a volte eccessivamente usata, con la
 riproduzione dei file audio. Vi illustrer� il suo utilizzo con un
 esempio.





      $ cat sample.voc > /dev/dsp
      $ cat sample.wav > /dev/dsp
      $ cat sample.au > /dev/audio






 Fare il cat di un file .au su /dev/audio normalmente funziona, e se
 siete abbastanza fortunati da avere un file audio con l'ordine dei
 byte corretto (per la vostra piattaforma) ecc. il cat di un file che
 usa campioni PCM (come .wav o .voc) su /dev/dsp potrebbe anche farvi
 udire correttamente il suono.

 Questo non � un uso inutile di cat. Potrebbe essere utile, per
 esempio, se avete un file audio che nessuno dei vostri programmi
 riconosce, e sapete che utilizza campioni PCM, potete in questa
 maniera farvi un'idea di come potrebbe essere la sua riproduzione (se
 siete fortunati).




 3.  Altre utili utilit� per l'audio

 Questa sezione non ha nulla a che vedere con la riproduzione dei file
 audio. � in effetti un insieme di utilit� per l'audio che potrebbero
 risultare utili.



 3.1.  volume

 � una semplice interfaccia a riga di comando  che consente di
 controllare il volume (che altro poteva essere?).  Include anche un
 programma separato con interfaccia Tcl/Tk per controllare il volume e
 riprodurre file audio .au. � accluso anche un semplicissimo CD player
 in Tcl/Tk.

 � un programma Freeware scritto da Sam Lantinga
 ([email protected]).

 Pu� essere prelevato da
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz>.




 3.2.  Sound Studio

 � una applicazione in Tcl/Tk che esegue la riproduzione, la
 registrazione e la modifica di audio digitale tramite sox. Nella
 distribuzione � incluso sox per evitare problemi di compatibilit�.

 � scritto da Paul Sharpe e N. J. Bailey ([email protected]).  Pu�
 essere liberamente usato e ridistribuito dopo l'invio di una
 cartolina.



 Lo si pu� scaricare dalla Sound Studio's home page <http://www.elec-
 eng.leeds.ac.uk/staff/een6njb/Software/Studio/screens.html>.




 3.3.  Tickle Music

 Questo programma Tcl/Tk in versione beta � un browser di file musicali
 che consente di riprodurre vari formati audio, se un programma
 appropriato per ogni formato � gi� presente nel vostro sistema. Nelle
 impostazioni predefinite gmod � utilizzato per eseguire i file MOD e
 mp per riprodurre i file MIDI (il sorgente � modificabile per fargli
 utilizzare altri programmi).


 � scritto da ed � copyright di Shannon Hendrix ([email protected] o
 [email protected]).

 Lo si pu� prendere da
 <ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz>.




 4.  Riferimenti


 1. La documentazione acclusa alle applicazioni di cui si parla in
    questo documento.



 2. Il Linux Sound HOWTO.  Lo si pu� prendere da Linux Documentation
    Project <http://sunsite.unc.edu/LDP/>.



 3. Linux MIDI and Sound Applications
    <http://www.bright.net/~dlphilp/linux_soundapps.html>



 4. Programmer's Guide to OSS <http://www.4front-tech.com/pguide/>



 5. SoX home page <http://www.spies.com/Sox/>