The Linux MP3 HOWTO
Di Philip Kerr, phil@websentric.com
v1.10, 10 settembre 1999
Questo documento descrive l'hardware, il software, e le procedure
richieste per codificare e riprodurre i file sonori MP3 sotto Linux.
Tradotto da Mariani Dario darkpand@uni.net
1. Introduzione.
Questo documento descrive l'hardware, il software, e le procedure
richieste per codificare e riprodurre i file sonori MP3 sotto Linux.
2. Copyright di questo documento
This HOWTO is copyrighted 1999 Philip Kerr.
Unless otherwise stated, Linux HOWTO documents are copyrighted by
their respective authors. Linux HOWTO documents may be reproduced and
distributed in whole or in part, in any medium physical or electronic,
as long as this copyright notice is retained on all copies. Commercial
redistribution is allowed and encouraged; however, the author would
like to be notified of any such distributions.
All translations, derivative works, or aggregate works incorporating
any Linux HOWTO documents must be covered under this copyright notice.
That is, you may not produce a derivative work from a HOWTO and impose
additional restrictions on its distribution. Exceptions to these rules
may be granted under certain conditions; please contact the Linux
HOWTO co-ordinator at the address given below.
In short, we wish to promote dissemination of this information through
as many channels as possible. However, we do wish to retain copyright
on the HOWTO documents, and would like to be notified of any plans to
redistribute the HOWTOs.
If you have questions, please contact Tim Bynum, the Linux HOWTO co-
ordinator, at linux-howto@metalab.unc.edu via email.
3. Dove trovare questo documento
La versione ufficiale più recente di questo documento può essere
ottenuta dal Linux Documentation Project
.
4. Ringraziamenti.
Nello scrivere questo HOWTO mi sono dovuto basare molto sul Sound-
HOWTO di Jeff Tranter e sul Sound-Playing-HOWTO di Yoo C. Chung.
Ringrazio molto gli autori degli altri HOWTO ai quali mi sono
riferito:
Linux System Administrators Guide di Lars Wirzenius.
Linux Network Administrators Guide di Olaf Kirch.
Multi Disk System Tuning HOWTO di Stein Gjoen.
5. Liberatoria.
Use the information in this document at your own risk. I disavow any
potential liability for the contents of this document. Use of the
concepts, examples, and/or other content of this document is entirely
at your own risk.
All copyrights are owned by their owners, unless specifically noted
otherwise. Use of a term in this document should not be regarded as
affecting the validity of any trademark or service mark.
Naming of particular products or brands should not be seen as
endorsements. You are strongly recommended to take a backup of your
system before major installation and backups at regular intervals.
6. Requisiti hardware e problemi di prestazioni
L'elaborazione dell'audio digitale è una mansione ad alta occupazione
di risorse che si affida pesantemente alle capacità di elaborazione e
di I/O di un sistema. Raccomando fortemente una macchina di classe
Pentium come minimo.
Se si sta per codificare da una fonte audio analogica, una scheda
audio PCI darà i risultati migliori. La differenza di prestazioni tra
schede basate su ISA e PCI è sensibile, oltre i 132 Mbit/s per il PCI
(dato ricavato dal PCI-HOWTO). Naturalmente, migliore la qualità della
scheda audio in termini di rapporto segnale/rumore, migliore l'MP3
codificato. Ho usato la Sound Blaster PCI128 e sono appena passato ad
una Sound Blaster Live Value; entrambe le schede danno buone
prestazioni audio, ma la Live ha un rapporto segnale/rumore
decisamente migliore, buono abbastanza per il lavoro audio semi-
professionale. Ricordate la vecchia massima sull'elaborazione dei
dati: immondizia in entrata, immondizia in uscita!
Durante la registrazione dell'audio analogico su un disco fisso, più
comunemente chiamata registrazione diretta su disco o registrazione
d2d, la velocità del disco e della sua interfaccia è critica. Se si
utilizza un sistema IDE, è preferibile il modo 4 o UDMA in quanto
hanno delle velocità di trasferimento quasi decenti.
La soluzione ideale sarebbe quella di utilizzare un sistema SCSI in
quanto i dischi e l'interfaccia hanno velocità di trasferimento
decisamente migliori, un 5 Mbit/s sostenuto su SCSI 1 fino a 80 Mbit/s
per l'ultra wide SCSI. L'IDE può avere picchi da 8.3 Mbit/s a 33
Mbit/s per l'Ultra-ATA ma queste velocità sono picchi, le velocità di
trasferimento medie sono minori. Se riuscite a trovare, o a
permettervi, un disco AV SCSI, optate per quello. I dischi AV hanno il
sistema di lettura/scrittura ottimizzato per trasferimenti continui di
dati; gli altri dischi SCSI e IDE normalmente non possono sostenere
trasferimenti di dati continui quando la testina si scalda.
Naturalmente un disco con della cache darà risultati più coerenti di
uno senza cache, perché la cache funziona come un buffer se le testine
si sollevano o se non può gestire la velocità di trasferimento dei
dati.
Se il disco non supporta queste specifiche, la registrazione subirà
salti e rumori, dove il disco non riesce a registrare il segnale. Se
state registrando eventi unici, come performance live, investite in un
buon sottosistema dischi SCSI. Un'altra causa di salti d2d è un
sistema pesantemente occupato. Processi in background possono far
saltare momentaneamente il sistema. È raccomandato avere attivati
meno processi possibile sullo sfondo, specialmente sistemi di rete.
Per informazioni sulla configurazione dei servizi di rete e sugli
script di avvio, guardate le guide SAG e NAG.
Anche la paginazione della memoria virtuale causa dei salti, per cui
cercate di avere più memoria fisica possibile, raccomando almeno 32
mb, ma potrebbe servirne ancora di più.
Per chi vuole ottenere il più possibile dal proprio sistema,
ottimizzare il kernel probabilmente non fa del male.
Se le specifiche hardware sopra daranno un sistema decente per
codificare dati audio, non utilizzate sistemi minori, più vecchi se è
tutto quello a cui si ha accesso.
Può essere una sfida per gli amministratori di sistema ottimizzare un
sistema vecchio per dare buoni risultati, ed il risultato finale sarà
probabilmente un sistema Linux più contento.
Un'altra cosa importante è il cablaggio audio. Cavi e connettori
economici, di bassa qualità risulteranno in una bassa qualità delle
registrazioni. Se la vostra scheda audio ha la possibilità di usare
connettori phono, a volte chiamati connettori RCA, usateli. Anche i
contatti placcati in oro aiutano a mantenere la qualità audio, come il
mantenere i cavi audio distanti dai cavi dati, in quanto ci potrebbero
esserci delle interferenze tra di loro.
Ma non dimenticate, spendere una fortuna sul miglior cablaggio audio è
inutile se il resto del sistema non è stato ottimizzato.
Per codificare gli mp3 da CD-ROM, la velocità o il tipo di lettore
determinerà il tempo utilizzato per leggere le informazioni grezze da
esso. Un lettore a singola velocità sarà probabilmente troppo lento
per tutti, tranne i più pazienti.
Il lettore di CD-ROM deve essere connesso alla scheda audio,
utilizzando o il connettore interno, oppure prendendo l'output dalla
presa per cuffie e mandandolo nella line-in sulla scheda.
Per istruzioni dettagliate sulla configurazione delle schede audio, è
ora un momento eccellente per leggere il Sound-HOWTO.
7. Requisiti software.
Convertire l'audio in mp3 è normalmente un processo a 2 stadi, prima
l'audio è registrato in formato WAV, poi il WAV viene convertito in
MP3. Il formato dal quale si vuole convertire l'audio, CD o d2d,
determinerà di quali strumenti software si ha bisogno per produrre
file WAV.
Per codificare dall'input audio, avete bisogno di un programma che
registri dall'input della scheda audio e salvi il risultato in WAV.
Sotto sono mostrate alcune utilità.
Wavrec
Wavrec è distribuito come parte di wavplay, che può essere scaricato
da:
Per convertire dati CD audio in formato Wav, conociuto anche come CD
ripping:
CDDA2WAV
Cdparanoia
Per convertire i file WAV in formato MP3:
Blade's MP3 Encoder
Per sentire un MP3 serve un riproduttore:
Xmms (in precedenza chiamato X11Amp)
Xaudio
Potrebbe servire anche un mixer; Xmixer funziona bene ed è incluso in
quasi tutte le distribuzioni.
8. Configurare il sistema.
Questa sezione descrive le basi della configurazione di Linux per
registrare audio da una fonte analogica o CD-ROM.
Per questa sezione mi sono basato sul mio sistema Linux Intel che
utilizza una Redhat 5.2, ma dovrebbe essere ragionevolmente neutrale
per quanto riguarda la distribuzione. Mi metterò presto al lavoro
sulla versione per piattaforma Sparc (se riuscite a utilizzare questo
HOWTO su altro hardware, fatevi sentire).
Naturalmente un requisito ragionevole è una scheda audio funzionante.
A questo punto dell'HOWTO, vi invito a leggere l'eccellente Linux
Sound HOWTO, di Jeff Tranter. Dopo il quale è bene leggere il Linux
Sound Playing HOWTO, di Yoo C. Chung. Entrambi gli HOWTO sopra
menzionati trattano i dettagli sul come far funzionare un sistema
audio sotto Linux meglio di come possa farlo io.
8.1. Configurare per la cattura audio analogica.
Per prima cosa, configurare l'audio. Ci sono molti modi di instradare
l'audio prima che arrivi al sistema Linux, alcuni di quelli più comuni
sono:
Line Out a Line In. La maggior parte delle apparecchiature audio
hanno prese per il Line output. Il livello Line è uno standard che
specifica quali voltaggi e correnti vengono messi in uscita
dall'apparecchiatura audio. Se ricordo bene, sono 500mA per apparati
domestici e semiprofessionali, e 750mA per quelli professionali.
Suppongo che lo standard per la maggior parte delle schede audio sia
di 500mA, ma alcune delle nuove Pro audio potrebbero uniformarsi allo
standard più elevato. Non dovrebbero esserci grosse differenze se non
dovete registrare a livelli molto alti.
L'output di livello Line è normalmente usato per connettere impianti
HI-FI ad amplificatori, per cui cose come piastre per cassette,
sintonizzatori radio, lettori cd, piastre DAT e lettori Mini-Disc
dovrebbero poter essere connessi senza problemi. I giradischi possono
dare più problemi, leggete sotto per maggiori informazioni.
È possibile catturare audio da videoregistratori. Molti di essi hanno
una Line out, o si può ottenerne una da una presa scart se il
videoregistratore ne ha una.
Amplifier Tape out a Line in, Line out a Amplifier Tape in. Questa
configurazione essenzialmente rimpiazza un tradizionale registratore a
cassette con un sistema Linux. Il Line out a Tape in permette di
controllare il livello di registrazione.
Mic a Mic in. I voltaggi generati dai microfoni sono molto minori di
quelli utilizzati da apparati di livello Line. Se eravate dell'idea di
inserire un microfono nella Line in, probabilmente non riuscirete mai
a registrare nulla.
ATTENZIONE! Fare il contrario, inserire un apparato di livello Line
nel Mic in, può danneggiare la scheda audio!!
Giradischi a Mic in. Tristemente non ho nessuna informazione al
momento. Se ricordo correttamente il giradischi dovrebbe venir
connesso al Mic in, usa un meccanismo simile per registrare suoni ed
ha voltaggi simili.
Tastiere musicali e sintetizzatori dovrebbero venire connesse alla
Line in, con chitarre connesse alla Line in tramite un DI (Direct
Injection, usato per convertire il segnale a livello Line).
Prima di collegare qualsiasi cosa alla scheda audio, assicurarsi che i
controlli del volume siano portati al minimo, o, utilizzando
microfoni, essi siano spenti o lontani dagli altoparlanti.
8.2. Prepararsi per la cattura di CD-ROM Audio.
Configurare un sistema Linux per estrarre dati audio dal CD-ROM è
ragionevolmente semplice.
Se potete sentire una traccia eseguita dal CD-ROM attraverso gli
altoparlanti o un amplificatore, connessi alla scheda audio, allora ci
sono buone probabilità di poter registrare da lì.
8.3. Configurazioni addizionali.
Fare il login come al solito, poi, utilizzando un programma mixer
impostare i volumi di registrazione abbastanza alti per fornire una
qualità di registrazione decente, ma non troppo alti da distorcere il
suono. Normalmente giudico a orecchio, dopo un poco riuscirete a
riconoscere i migliori livelli per il vostro sistema.
Raccomando o di chiudere tutti i servizi non necessari oppure passare
al runlevel 1, a singolo utente, specialmente quando si codifica da
una sorgente audio. Questo per assicurarsi che il minimo numero di
servizi sia in esecuzione e quindi minimizzare salti durante la
registrazione.
Ho installato un drive SCSI a parte, esclusivamente per registrarci
audio, al quale mi riferirò come /mnt/mp3. L'ho fatto principalmente
per i guadagni in velocità utilizzando un drive SCSI. In più,
registrare su un drive dedicato, dove sei quasi sicuro che la testina
non sta per spostarsi all'improvviso in un'altra parte del drive
quando vi stai registrando audio, è meglio. :)
Per dettagli su come configurare un sistema Linux con dischi rigidi
multipli, una bella lettura del Multi-Disk-HOWTO, di Stein Gjoen può
essere utile.
9. Codificare dall'audio.
Per prima cosa, assicuratevi di avere spazio sufficiente sul disco. In
qualità CD, 44.1 Khz 16 bit stereo, 1 minuto occupa circa 5 Mb.
Normalmente registro in qualità DAT, ovvero 48 Khz 16 Bit Stereo.
Utilizzando waverec uso la seguente sintassi:
/usr/local/bin/wavrec -t 60 -s 48000 -S /mnt/mp3/temp.wav
La prima parte è un percorso assoluto a wavrec. L'opzione '-t 60'
specifica la lunghezza della registrazione in secondi.
La terza opzione, -s 48000, si riferisce alla qualità di campionamento
in bit/s (48000 per la qualità DAT, 44100 per quella CD).
L'ultima opzione è il percorso per il file di output.
Per vedere tutte le opzioni, digitare waverec -help, o riferirsi alla
sua pagina man.
Questo produrrà il file WAV. Poi dovremo codificarlo in formato MP3.
Utilizzare bladeenc con la seguente riga di comando:
/usr/local/bin/bladeenc [source file] [destination file] -br 256000
L'opzione -br imposta il bit rate, in questo caso ho impostato il rate
al massimo di 256 kbit/sec. Il percorso a bladeenc può essere diverso
nei vari sistemi.
Per vedere tutte le opzioni, digitare bladeenc -help, attualmente è
una opzione non valida, ma mostra la lista delle opzioni.
10. Codificare da CD-ROM.
Ancora, verificare che lo spazio disponibile su disco sia sufficiente.
Ho scritto un semplice script Perl che cattura e codifica tracce da un
CD.
______________________________________________________________________
#!/usr/bin/perl
if ($ARGV[0] ne "") {
$count = 1;
do {
$cdcap = system("cdparanoia", $count, "/mnt/mp3/tmp/cdda.wav");
$track = "$ARGV[1]/track".$count.".mp3";
$benc = system("bladeenc /tmp/cdda.wav $track -br 256000");
$count++;
}
until $count > $ARGV[0];
exit;
}
else {
print "Usage cdriper [no of tracks] [destination directory]\n\n";
}
______________________________________________________________________
Le linee di maggior interesse sono
$cdcap = system("cdparanoia", $count, "/mnt/mp3/tmp/cdda.wav");
Questa linea richiama il programma per copiare le tracce, cdparanoia.
Cdparanoia converte i dati grezzi del CD audio in formato WAV.
Le opzioni fondamentali sono $count, che è il numero di tracce da
copiare, e poi il percorso per il file WAV di output. Nel mio esempio
andrà in una directory tmp sul mio drive SCSI per gli MP3.
Il file WAV viene poi convertito in MP3 utilizzando Bladeenc.
Ho scritto questo script Perl per copiare un CD senza dover copiare e
codificare ogni traccia, e senza dover usare il modo batch di
Cdparanoia. Questo riduce lo spazio su disco richiesto, a causa del
fatto che il modo batch di Cdparanoia copia tutto il disco, e occupa
fino a 600 Mega.
Nota: Lo script mostrato sopra è molto semplice e non ha niente di
elaborato, come test degli errori. Modificatelo per il vostro
divertimento. :)
11. Riprodurre gli MP3
Così, sperabilmente, dovremmo avere dei file MP3 pronti da riprodurre.
I due player MP3 più famosi per Linux sono Xaudio e Xmms (conosciuto
come X11Amp).
Collegamenti alle homepage di entrambi i player possono essere trovati
nella sezione 7.
Ho basato questo HOWTO sul mio uso di xaudio, soprattutto perché posso
utilizzarlo avviando o meno X.
Il programma è shareware.
Xaudio è una suite di programmi, dei quali i più interessanti per noi
sono xaudio e mxaudio.
Dopo aver installato i file sul sistema, è possibile la scelta di
avviare la versione a linea di comando, xaudio, oppure la versione X,
mxaudio.
Mxaudio ha una bella interfaccia, ed è semplice da utilizzare.
Le opzioni di Xaudio possono essere viste avviando il programma con
l'opzione -help (xaudio -h).
Per riprodurre una traccia provare xaudio track.mp3
Per riprodurre una intera directory, xaudio *.mp3
Entrambi i programmi hanno dei file README.
12. Commenti.
Nuovo hardware e software viene rilasciato ogni momento. Se utilizzate
nuove versioni dell'hardware e/o software nominati in questo
documento, o potete aggiungere qualcosa in questa area, prego mandate
le vostre informazioni all'indirizzo phil@websentric.com e io le
includerò nella prossima versione.
Felici MP3izzazioni!! :)