Home > Posts > Convertire in massa file audio OGG Vorbis in MP3

Convertire in massa file audio OGG Vorbis in MP3

22 Marzo 2007

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! :-)

  1. 23 Marzo 2007 alle 0:56 | #1

    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. 23 Marzo 2007 alle 8:30 | #2

    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

I commenti sono chiusi.