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

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…
Come al solito, troppo buono: ho solo dato una rilettura a un paio di pagine di man (davvero, mi sfuggivano due idiozie come
per togliere i carriage returns e la seconda sintassi di
, 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