jueves, 21 de julio de 2011

Transformar archivos de música .ogg a .mp3 en Ubuntu





El contexto es el siguiente (la hago corta):

Instalé el navegador web Opera 11.50 que viene con una funcionalidad maravillosa llamada Opera Unite, que te permite hacer de tu propia PC conectada a internet un servidor de streaming de música, la cual podés escuchar desde cualquier lugar del mundo y desde cualquier navegador (inclusive IE...). Impresionante. Todo sobre mi sistema operativo Linux Mint 10 (basado en Ubuntu).

Entonces estoy pasando mi colección de CDs a formato mp3 con Sound Juicer para almacenar mi música en la PC cuando me topé con un inconveniente que pareció insalvable.
Un CD de Bob Marley no permitía ser leído como directorio y archivos, por lo cual sólo podía reproducirlo con VLC o con RhythmBox, pero no ripearlo. En este punto me salvó el glorioso K3B (un orgullo del software libre). Pero no tenía las librerías para que K3B lo transformara en archivos .mp3, sólo lo podía pasar a .ogg, y eso hice.

Entonces, una vez salvado el primer inconveniente empecé a buscar un conversor de .ogg a .mp3, pero no lo encontré (tampoco es que busqué mucho). Lo que sí encontré es un post en un blog que me ayudóa a resolver este problema. El link de esta fuente:
http://novatillasku.com/2011/06/18/convertir-ogg-a-mp3-desde-terminal-en-ubuntu/

Básicamente hice esto:

Abrí una Terminal: Aplicaciones -> Accesorios -> Terminal

Puse lo siguiente:
sudo apt-get install vorbis-tools lame


Les pide la contraseña de administrador (la del usuario root), la escriben y dan Enter (no se preocupen si no se ven los caracteres que escriban, es por seguridad).
Esto les pasará siempre que ingresen una sentencia precedida de la palabra "sudo".

Luego abrí el procesador de texto gedit.
Desde la misma Terminal escriben lo siguiente:
sudo gedit


Entonces se abre un procesador de texto.

Hice un script en base a lo que encontré en la fuente que cité.
Es muy fácil, escribí lo siguiente en gedit (sugiero copiar y pegar a los principiantes):

#!/bin/bash
echo "Comienzo de transformación de archivos .ogg a .mp3"
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for f in *ogg
do
file=$f;
base=${file%%.*};
ffmpeg -i $f ${base}".mp3";
done
IFS=$SAVEIFS
echo
echo "Fin de transformación de archivos .ogg a .mp3"


Bien, ahora lo guardamos en una carpeta especial del sistema (/usr/bin) con el nombre que quieran, pero con la terminación ".sh" de la siguiente manera:
En gedit van a Archivo -> Guardar como...
Allí buscan en "Sistema de archivos" la carpeta /usr y dentro de esta la carpeta /bin y le asignan un nombre al archivo. Por ejemplo yo lo guardé con el nombre: ogg2mp3.sh
Es muy importante que recuerden el nombre que le pusieron al archivo .sh ya que será la forma de invocarlo desde una Terminal.

Un paso importante es darle permisos de ejecución al archivo.
Nada más fácil. En la Terminal escribimos:
sudo chmod +x /usr/bin/ogg2mp3.sh


Ya estamos listos para pasar todos los archivos .ogg de una carpeta a formato .mp3
Y lo hacemos de la siguiente manera:
En la Terminal escribimos la palabra "cd" seguida de un espacio y luego el path de la carpeta que contenga los archivos .ogg
Por ejemplo, en mi caso tengo las canciones de Bob Marley en .ogg en la carpeta /home/jdiaz/Musica/BobMarley
Entonces en la Terminal escribo:
cd /home/jdiaz/Musica/BobMarley


Entonces la Terminal se posiciona en esta carpeta.

Nota: Es muy importante respetar las mayúsculas y minúsculas cuando ponemos la dirección de la carpeta (Unix es case sensitive)


Por último, ahora que estamos posicionados en la carpeta con los archivos .ogg en la Terminal, escribimos el nombre del archivo con el script que guardamos en /usr/bin. En mi caso escribo:
ogg2mp3.sh


En un ratito ya tenemos todos los .ogg pasados a .mp3 en la misma carpeta.

Espero sea de utilidad.

Nuevamente gracias a novatillasku

Javier