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 _M_P_3 sotto Linux.
Tradotto da Mariani Dario darkpand@uni.net
______________________________________________________________________
Indice Generale
1. Introduzione.
2. Copyright di questo documento
3. Dove trovare questo documento
4. Ringraziamenti.
5. Liberatoria.
6. Requisiti hardware e problemi di prestazioni
7. Requisiti software.
8. Configurare il sistema.
8.1 Configurare per la cattura audio analogica.
8.2 Prepararsi per la cattura di CD-ROM Audio.
8.3 Configurazioni addizionali.
9. Codificare dall'audio.
10. Codificare da CD-ROM.
11. Riprodurre gli MP3
12. Commenti.
______________________________________________________________________
11.. IInnttrroodduuzziioonnee..
Questo documento descrive l'hardware, il software, e le procedure
richieste per codificare e riprodurre i file sonori _M_P_3 sotto Linux.
22.. CCooppyyrriigghhtt ddii qquueessttoo ddooccuummeennttoo
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 _l_i_n_u_x_-_h_o_w_t_o_@_m_e_t_a_l_a_b_._u_n_c_._e_d_u via email.
33.. DDoovvee ttrroovvaarree qquueessttoo ddooccuummeennttoo
La versione ufficiale più recente di questo documento può essere
ottenuta dal Linux Documentation Project
.
44.. RRiinnggrraazziiaammeennttii..
Nello scrivere questo HOWTO mi sono dovuto basare molto sul _S_o_u_n_d_-
_H_O_W_T_O di Jeff Tranter e sul _S_o_u_n_d_-_P_l_a_y_i_n_g_-_H_O_W_T_O di Yoo C. Chung.
Ringrazio molto gli autori degli altri HOWTO ai quali mi sono
riferito:
_L_i_n_u_x _S_y_s_t_e_m _A_d_m_i_n_i_s_t_r_a_t_o_r_s _G_u_i_d_e di Lars Wirzenius.
_L_i_n_u_x _N_e_t_w_o_r_k _A_d_m_i_n_i_s_t_r_a_t_o_r_s _G_u_i_d_e di Olaf Kirch.
_M_u_l_t_i _D_i_s_k _S_y_s_t_e_m _T_u_n_i_n_g _H_O_W_T_O di Stein Gjoen.
55.. LLiibbeerraattoorriiaa..
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.
66.. RReeqquuiissiittii hhaarrddwwaarree ee pprroobblleemmii ddii pprreessttaazziioonnii
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 _P_C_I_-_H_O_W_T_O). 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 _S_A_G e _N_A_G.
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 _S_o_u_n_d_-_H_O_W_T_O.
77.. RReeqquuiissiittii ssooffttwwaarree..
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à.
_W_a_v_r_e_c
Wavrec è distribuito come parte di wavplay, che può essere scaricato
da:
Per convertire dati CD audio in formato Wav, conociuto anche come CD
ripping:
_C_D_D_A_2_W_A_V
_C_d_p_a_r_a_n_o_i_a
Per convertire i file WAV in formato MP3:
_B_l_a_d_e_'_s _M_P_3 _E_n_c_o_d_e_r
Per sentire un MP3 serve un riproduttore:
_X_m_m_s _(_i_n _p_r_e_c_e_d_e_n_z_a _c_h_i_a_m_a_t_o _X_1_1_A_m_p_)
_X_a_u_d_i_o
Potrebbe servire anche un mixer; Xmixer funziona bene ed è incluso in
quasi tutte le distribuzioni.
88.. CCoonnffiigguurraarree iill ssiisstteemmaa..
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 _L_i_n_u_x
_S_o_u_n_d _H_O_W_T_O, di Jeff Tranter. Dopo il quale è bene leggere il _L_i_n_u_x
_S_o_u_n_d _P_l_a_y_i_n_g _H_O_W_T_O, 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.
88..11.. CCoonnffiigguurraarree ppeerr llaa ccaattttuurraa aauuddiioo aannaallooggiiccaa..
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.
_A_T_T_E_N_Z_I_O_N_E_! _F_a_r_e _i_l _c_o_n_t_r_a_r_i_o_, _i_n_s_e_r_i_r_e _u_n _a_p_p_a_r_a_t_o _d_i _l_i_v_e_l_l_o _L_i_n_e
_n_e_l _M_i_c _i_n_, _p_u_ò _d_a_n_n_e_g_g_i_a_r_e _l_a _s_c_h_e_d_a _a_u_d_i_o_!_!
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.
88..22.. PPrreeppaarraarrssii ppeerr llaa ccaattttuurraa ddii CCDD--RROOMM AAuuddiioo..
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ì.
88..33.. CCoonnffiigguurraazziioonnii aaddddiizziioonnaallii..
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 _M_u_l_t_i_-_D_i_s_k_-_H_O_W_T_O, di Stein Gjoen può
essere utile.
99.. CCooddiiffiiccaarree ddaallll''aauuddiioo..
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 _[_s_o_u_r_c_e _f_i_l_e_] _[_d_e_s_t_i_n_a_t_i_o_n _f_i_l_e_] -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.
1100.. CCooddiiffiiccaarree ddaa CCDD--RROOMM..
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
_$_c_d_c_a_p _= _s_y_s_t_e_m_(_"_c_d_p_a_r_a_n_o_i_a_"_, _$_c_o_u_n_t_, _"_/_m_n_t_/_m_p_3_/_t_m_p_/_c_d_d_a_._w_a_v_"_)_;
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. :)
1111.. RRiipprroodduurrrree ggllii MMPP33
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.
1122.. CCoommmmeennttii..
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 _p_h_i_l_@_w_e_b_s_e_n_t_r_i_c_._c_o_m e io le
includerò nella prossima versione.
Felici MP3izzazioni!! :)