The Linux Sound Playing HOWTO Yoo C. Chung, wacko@laplace.snu.ac.kr 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 (tonno@stud.unipg.it) . 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 . Le versioni non ufficiali più recenti di questo documento possono essere ottenute da . Una versione coreana di questo documento (molto obsoleta) è disponibile su . Una versione giapponese di questo documento è disponibile su . 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 (raymond@es.ele.tue.nl), Jeroen Rutten (jeroen@es.ele.tue.nl), Antonio Perez (aperez@arrakis.es), Ian Jackson (ijackson@gnu.org), e Peter Amstutz (amstpi@freenet.tlh.fl.us) 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 (lee@uhunix.uhcc.hawaii.edu). Lo potete trovare su . 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 (tt@cgs.fi). L'ultima versione di Timidity può essere trovata su TiMidity home page . 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 (laredo@gnu.org o laredo@ix.netcom.com). Lo si può trovare su . 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 (Marc.Espie@ens.fr). Una versione di questo programma contenente un Makefile già ottimizzato per Linux può essere trovata su . 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 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 (robinson@cnj.digex.net). Lo si può trovare su . 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 (mikmak@via.nl). È adesso curato da Jake Stine (dracoirs@epix.net). È 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 . 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 (claudio@pos.inf.ufpr.br) e Hipolito Carraro Jr. Può essere trovato su xmp home page . 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 (jeske@uiuc.edu), ma potete farci tutto quello che volete (tranne che raccontare di averlo scritto). Lo potete trovare su . 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 (mech@df.lth.se o d91mn@efd.lth.se). Lo si può trovare su . 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 (toru@jms.jeton.or.jp). Lo si può trovare su . 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 (djg@djghome.demon.co.uk). Lo si può trovare su . 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 (Michael.Hipp@student.uni- 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 . 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 (bading@cs.tu-berlin.de). maplay 1.2 può essere prelevato da . 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 (orly@gibson.eee.upd.edu.ph). Lo si può prelevare da . 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 (timo.jantunen@hut.fi o jeti@cc.hut.fi). 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 . 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 (jwj95@eve.kaist.ac.kr). Lo si può prelevare dalla splay's home page . 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 (wizball@kewl.campus.luth.se). L'ultima versione può essere presa da . 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 (tuzelac@rasip.fer.hr). 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 . 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 . 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 . 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 (psy@x11amp.bz.nu), Thomas Nilsson (fatal@x11amp.bz.nu), e Olle Hallnas (crocodile@x11amp.bz.nu). Lo si può scaricare da X11Amp's homepage . 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 (af1@irz.inf.tu- dresden.de), ma è stato modificato al punto da essere stato completamente riscritto da Warren W. Gay (bx249@freenet.toronto.on.ca o wwg@ica.net). Lo si può scaricare da . 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 . Una versione più recente a cura di Chris Bagwell (cbagwell@sprynet.com) (basata sulle ultime versioni gamma del sox originale e che include la modifica di cui sopra) può essere scaricata da . 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 (ijackson@gnu.org), che disabilita la funzione che richiede che il pacchetto sia installato in setuid root. L'autore è David Monro (davidm@gh.cs.usyd.edu.au). Lo si può scaricare da . 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 (sidplay@geocities.com). Lo si può trovare sulla SIDPLAY's home page . 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 . È 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 . 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 (slouken@cs.ucdavis.edu). Può essere prelevato da . 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 (N.J.Bailey@leeds.ac.uk). Può essere liberamente usato e ridistribuito dopo l'invio di una cartolina. Lo si può scaricare dalla Sound Studio's home page . 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 (shendrix@pcs.cnu.edu o shendrix@escape.widomaker.com). Lo si può prendere da . 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 . 3. Linux MIDI and Sound Applications 4. Programmer's Guide to OSS 5. SoX home page