En el desarrollo de
gbAmp, me surgió el tema de la edición de los metadatos de los archivos de sonido. Normalmente no de los que descargas que con mayor o menor fortuna ya llevan sus metadatos perfectamente grabados, si no de los archivos que genera el propio gbAmp al descargar el sonido de vídeos de youtube.
Para no engorrinar el programa con pruebas y errores, tengo costumbre de hacer un pequeño proyecto borrador para perfeccionar estas cosas y luego añadirlo al programa "gordo". Así ha surgido el programita que os presento hoy: MetaEdit.
Su aspecto es este:
Lo que podéis hacer con él es:
-Editar los metadatos que contenga y añadir las etiquetas que deseéis.
-Ver información sobre el archivo de sonido y los canales que contiene
-Extraer la imagen incrustada que pueda llevar y guardarla en un archivo.
-Eliminar la imagen incrustada (si no es adecuada o para ahorrar espacio)
-Incrustar una nueva imagen en el archivo
Para todo eso he tenido que estudiar varios programas que los repositorios de Linux ofrecen como ideales para esto, pero no soy partidario de que un programa contenga muchas dependencias y al final he descartado todos salvo el único imprescindible: ffmpeg.
ffmpeg es un software impresionante y esto de manipular metadatos es sólo una ínfima parte de lo que puede hacer y ahora que lo conozco un poquito quizá emprenda la tarea de eliminar de gbAmp todas las dependencias salvo ffmpeg. No lo prometo que "si funciona no lo toques", pero quizá, quizá...
Decir que no me ha sido fácil. En el mundillo de los metadatos es complejo y mi ignorancia enorme. Hay varias versiones de los mismos que pueden convivir, y de hecho lo hacen, en un mismo fichero. Hice pruebas con la versión (id3v1, id3v1.1, id3v2, id3v2.2 , 3, 4 ...) Unos van en la cabecera del fichero, otros van al final del mismo, unos son más restringidos en cuanto tamaños y posibilidades, otros más amplios y complejos, etc. etc. Los probé todos, hasta donde pude con mi cerebro caducado, y al final he decidido... dejar que ffmpeg elija. Quiero decir que el etiquetado que yo necesito y que el 99% de mis archivos de sonido llevan, se puede ver y manipular sin ningún problema con los defaults de ffmpeg, por lo que eliminé (casi) todo el rollo de los tags del id3v2 y las manipulaciones que había incorporado al código (convertir los id3v1 a id3v2, eliminar los id3v1, traducir los tags de v1 a v2, etc. etc.) y dejar que lo haga él sin preguntar mucho (sospecho que usa los id3v1.1, pero no lo juro).
En fin, no os aburro más con mis penas. Aquí (y en la granja) tenéis el programa y si lo destripáis despiadadamente y me mandáis muchos feedbacks os estaré eternamente agradecido.
Saludos.