domingo, 10 de junio de 2012

Dividir y convertir un disco de música en formato APE usando K3b

El formato Monkey's Audio (.ape) fue tal vez el primer formato de compresión de audio lossless (sin perdida de calidad) en volverse popular, pero debido a las restricciones de su licencia y a el desarrollo de mejores alternativas, ha sido reemplazado y olvidado en Linux, particularmente en las aplicaciones de KDE: Amarok no puede reproducirlo desde que dejó de soportar GStreamer, y K3b requiere un plugin que puede o no funcionar con la última versión (no me molesté en compilarlo).

Afortunadamente, y contra las expectativas (los resultados de mi búsqueda consistieron exclusivamente en scripts para correr a mano, todos con media docena de dependencias), rescatar un .ape es muy sencillo una vez que lo convertimos a FLAC, siempre y cuando tengamos el índice (.cue).  Para ello basta usar FFmpeg, y después K3b, que incluye un práctico (aunque no perfecto) convertidor de formatos.

Los siguientes comandos se encargan de convertir el .ape a FLAC, crear un nuevo .cue, y abrirlo en K3b.  Solo tienes que reemplazar ruta/al/fichero.ape por la del tuyo, y ejecutarlos verbatim (uno por uno, o pegando todos de un jalón, todo se vale).  Se asume que el .cue tiene el mismo nombre que el .ape.

APE='ruta/al/fichero.ape'
ffmpeg -i $APE -acodec flac ${APE%.ape}.flac

perl -pe 's/(FILE.*)\.ape/$1.flac/i' ${APE%.ape}.cue > ${APE%.ape}.flac.cue
k3b ${APE%.ape}.flac.cue

Después resta convertirlo al formato de nuestra preferencia en K3b.