Convertire in massa file audio OGG Vorbis in MP3

Attenzione: Se i vostri file sono già nel formato libero OGG Vorbis e avete modo di sfruttarli così come sono, non convertiteli. Ricordate che MP3 è un formato proprietario, è proprietario = capitalismo = schifo. Siete stati avvisati.

Guardate un po’ cosa è uscito fuori durante una chiaccherata con questo losco figuro, sempre intento nella produzione della ricotta quotidiana, mi è uscita fuori un’idea assurda per convertire in massa un numero indefinito di file audio OGG in file MP3.

Se il file è uno solo, bastano due comandi:

ogg123 --device=wav --file=filetemporaneo.wav fileoriginale.ogg
lame filetemporaneo.wav filefinale.mp3

Ma che facciamo se dobbiamo convertire, come nel caso proposto dal mio amico, tutti i file .ogg in tutte le subdirectory della directory corrente, e salvando il file convertito nella subdrectory corretta?

Certamente non vogliamo operare scrivendoli uno per uno, no? ;-)

Ho partorito, perciò, un interessante script, che voglio condividere con voi.
Per il corretto funzionamento dello script è necessario aver installato (su una Debian based):

  • vorbis-tools
  • lame
  • find

Godetevi lo spettacolo :-D

Se tutto è andato bene, l’output che si ottiene dovrebbe essere simile a questo (per ogni file trattato):

Audio Device:   WAV file outputPlaying: 01 - Melancolia Dj Fab Version of Carbo song.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Artist: Dj Fab
Album: Ocean Dreams
Track number: 1
Title: Melancolia (Dj Fab Version of Carbo song)
Date: 2007-01-11 02:07:59
Organization: Jamendo : http://www.jamendo.com/
Comment: Jamendo : http://www.jamendo.com/
Description: Jamendo : http://www.jamendo.com/
Www: http://www.jamendo.com/album/3810
License:
Wcop:
Woaf: http://www.jamendo.com/track/30205Done.
LAME 3.97 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding 01 - Melancolia Dj Fab Version of Carbo song.wav
to 01 - Melancolia Dj Fab Version of Carbo song.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3
Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
19115/19115 (100%)|    0:47/    0:47|    0:47/    0:47|   10.599x|    0:00
-------------------------------------------------------------------------------
kbps        LR    MS  %     long switch short %
128.0       22.2  77.8        99.4   0.3   0.3
Writing LAME Tag...done
ReplayGain: +1.0dBAudio Device:   WAV file output  

Playing: 02 - A glory's night.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Artist: Dj Fab
Album: Ocean Dreams
Track number: 2
Title: A glory's night
Date: 2007-01-11 02:07:59
Organization: Jamendo : http://www.jamendo.com/
Comment: Jamendo : http://www.jamendo.com/
Description: Jamendo : http://www.jamendo.com/
Www: http://www.jamendo.com/album/3810
License:
Wcop:
Woaf: http://www.jamendo.com/track/30206  

LAME 3.97 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding 02 - A glory's night.wav to 02 - A glory's night.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3
Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
10193/10193 (100%)|    0:27/    0:27|    0:31/    0:31|   9.8145x|    0:00
-------------------------------------------------------------------------------
kbps        LR    MS  %     long switch short %
128.0       22.4  77.6        97.5   1.5   1.0
Writing LAME Tag...done
ReplayGain: -6.2dB

Enjoy! :-)

3 Risposte a “Convertire in massa file audio OGG Vorbis in MP3”

  1. Fabrizio Mondo Dice:

    Che dire manu, grazie per il “losco figuro” ;)

    Questo script è micidiale.. e averlo visto nascere è ancora più micidiale..la padronanza che hai della bash è invidiabile davvero.

    Mi ricordo ad esempio quando per installare netbeans, abbiamo creato uno script bash lunghissimo!!

    Cosa dirti di più.. mi hai risolto un problemone!

    Denghiu…

  2. GS Defender Dice:

    Come al solito, troppo buono: ho solo dato una rilettura a un paio di pagine di man (davvero, mi sfuggivano due idiozie come

    echo -n

    per togliere i carriage returns e la seconda sintassi di

    basename

    , a qualche esempio su Google (ci sono modi diversi di ottenere una lista delle sole subdirectory, e ho cercato il più efficace, sebbene sia anche il più invasivo: ti lascio immaginare che cosa può succedere se le subdirectory sono un fantastilione).

    Se non altro, ho finalmente compreso che devo proseguire negli sforzi di imparare la sintassi di find a memoria :-P

  3. Scaricare in massa file dalle playlist di Jamendo « Emanuele Cipolla Dice:

    [...] di Jamendo Pubblicato 26 Marzo 2007 jamendo , bash , linux , script Ci risiamo. Come l’altra volta, da una conversazione con Fabrizio scaturisce qualcosa che può aiutare a [...]

I commenti sono chiusi.