Consideraciones Generales del Blog

Antes que nada, gracias por visitarnos, esperamos que con la informacion que posteamos aqui podamos ayudar a mucha gente. Los post tienen en color gris, los comentarios y guias, mientras que lo que esta en color amarillo son lineas de comandos u opciones que se agregan a un archivo de configuracion; y en letras verdes los comandos que ingresamos por consolas.

sábado, enero 06, 2007

Convertir Archivos ape (+cue) a mp3 u ogg

Esta guia fue posteada por "santiagojbt" ubuntu-es, solo gregue algunos comentarios y aclaraciones.

En ocasiones, es habitual encontrarse con CD's de música comprimidos en formato ape, o flac. A veces, también hay un archivo cue que los acompaña, un poco misterioso.

El formato ape se corresponde con la codificación utilizada por Monkey's Audio. Es como una especie de compresión zip, pero para archivos de audio. Utiliza un algoritmo de compresión sin pérdida, es decir, es posible realizar el proceso inverso, para obtener el archivo original a partir del archivo comprimido. Ésto no sucede así en formatos como el mp3 o el ogg, en los que se acepta perder calidad del archivo original, a cambio de reducir el tamaño de los archivos obtenidos (se eliminan frecuencias que no son perceptibles para el ser humano). Por contraposición con los anteriores, éstos algoritmos se denominan algoritmos de compresión con pérdida.

En ocasiones, sólo tenemos un archivo ape del estilo: CDImage.ape, y un archivo cue de la forma: CDImage.cue. El archivo cue es un archivo de texto (podéis abrirlo con un editor) en el que se marcan los fragmentos de inicio y de fin de cada una de las canciones, así como otra información, como puede ser: el nombre de la canción, el título del disco, etc.

Es interesante mencionar que tanto los archivos flac como ape se pueden reproducir directamente. En el primer caso, sólo tenemos que hacer aptitude install flac, y en el segundo, tenemos que obtener el port de los codecs para GNU/Linux en ésta página (lo encontraréis para el xmms y el bmp).

[Que no los confunda el nombre (mac = monkey audio codec). Para instalarlo solo deben descomprimirlo y luego en consola:

$directorioDondeDescomprimmimos>./configure
$directorioDondeDescomprimmimos>make
$directorioDondeDescomprimmimos>sudo make install
]

Aquí sólo nos vamos a centrar en obtener los ficheros MP3s, para poder utilizarlos en nuestro reproductor de música.

[El script a continuacion fue tambien posteado por santiago, y sirve para automatizar la conversion de archivos, para que me funcione tuve que comentar un par de lineas de forma que no se ejecuten. Y otra cosa a tener en cuenta es que el nombrado de archivos esta echo con el comando basename, este trunca el nombre del archivo dejando solo lo que este entre la extension del archivo y caracteres especiales como "/" "\" y espacios, por lo que los nombres de los archivos ape deberan modificarlos para que no tengan espacios
Si alguien sabe de algun comando para guardar el nombre del archivo con todos sus caracteres y guardarlo en una variable se agradece el aporte.]

Copiadlo en un archivo ape2mp3.sh, dadle permisos de ejecución con chmod +x ape2mp3.sh y ejecutadlo, especificando como argumentos los archivos *.ape correspondientes.

La primera cosa que hace el script es comprobar si el comando mac está instalado [La parte que tuve que omitir]. Si no lo está, se aborta la ejecución del script. Entonces, para cada archivo que hayáis especificado en la línea de comandos, primero se comprueba si tiene extensión .ape, si no, se omite (se salta a la siguiente iteración del bucle con continue). A continuación, cogemos el sufijo del nombre del archivo (es decir, el nombre del archivo, sin la extensión ape). Con el comando mac se pasa a formato wav, y posteriormente, con el lame, se pasa a mp3. En caso de que exista un archivo cue, se llama al comando mp3splt para cortar el mp3 en los trocitos indicados en el archivo cue (ver anterior explicación). La opción -f de mp3splt permite realizar los cortes de forma más precisa, incluyendo mp3 de bitrate variable (aunque se codifica a bitrate constante, dejo el parámetro por si alguien quiere cambiar las opciones del LAME a bitrate variable, ver man lame para conocer todas las codificaciones posibles).
En cada caso, se eliminan los ficheros temporales de forma adecuada.

[Crear un archivo con cualquier editor de texto (nombre.sh), pegar este script, guardar y dar permisos de ejecucion. $>sudo chmod +x nombre.sh. Para convertir archivos ejecutarlo especificando como argumentos los archivos *.ape]

#!/bin/bash

LAME_PARS="-h"

#Opciones que se le pasarán al codificador LAME, en principio es -h, que si miráis en la #documentación, comprime a 128 kbps a calidad alta.
#Para codificar a ogg se utilizaría el comando oggenc en lugar de lame.

echo "Script ape2mp3"
MAC=`which mac`

#Estas son las lineas que comente

#if [ -z $MAC ]; then
#echo "ERROR :-("
#echo "Monkey's Audio Codec is not installed."
#echo "See http://sourceforge.net/projects/mac-port for more details."
#exit -1
#fi

for i in $*; do
case $i in
*.[aA][pP][eE])
echo "Processing file $i...";;
*)
echo "Warning: File $i don't have .ape extension. Ommiting..."
continue
esac

FILENAME="$(basename $i)"
FILENAME="${FILENAME%.[aA][pP][eE]}"

$MAC $i $FILENAME.wav -d
lame $LAME_PARS $FILENAME.wav $FILENAME.mp3
rm $FILENAME.wav
if [ -e $FILENAME.cue ]; then
mp3splt -f -c $FILENAME.cue -o @n+-+@t $FILENAME.mp3
rm $FILENAME.mp3
fi
done

No hay comentarios.: