05 July 2005

A vueltas con los mp3 (chapter II)

Ahora que ya ha acabado el curso queria hacer limpieza de los mp3 para meterlos todos en un DVD y regalar algunas copias.

Pero habia un problema. Muchas carpetas tenian un formato de nombre de archivo distinto de lo que uso ahora "Artista - Cancion.mp3" y cambiarlo todo es mucho trabajo...

Para colmo, varios programas me dicen que TODOS esos archivos no tienen Tag ID3, pero cuando pincho con el boton derecho y veo sus propiedades si aparecen las Tags tipicas de todo mp3.

Tras mucho investigar descubro cual es la aplicacion que lee las Tags del archivo (cuando pinchas con el boton derecho y das a propiedades) y sacando cada Tag ID3 se las paso a otro programa que se las mete como ID3 VALIDAS.

Luego ejecuto el script en cada una de esas carpetas en las que hace falta hacer cambios y punto.

Lo que mas problemas me ha dado ha sido con diferencia algo totalmente simple a primera vista. Me he liado cuando los nombres de ficheros no se cogian bien por los espacios y luego que si pongo/quito parentesis..., al final he dado alguna vuelta de mas.

Bueno, aqui queda el codigo por si alguno se topa con un problema similar (siempre viene bien ver codigo para aprender).

-----------------------

#/bin/bash

#============================================================

# Extrae Tags de ficheros mp3 que aparentemente no tienen Tags ID3 validas y se las mete para que lo sean. Despues cambia el nombre del archivo de acuerdo con esas Tags.

# By Ruben xrubenx @ inicia . es

#============================================================

# Nos movemos al directorio donde se ejecuta el comando.

cd "$PWD"

# Establecemos el formato deseado para el nombre de los ficheros

mp3rename -s '&a - &t'; # artist - title

# Recorremos todos los mp3 de la carpeta, verificando que se cogen bien

for archivo in *mp3 ;

do

if test -e "$archivo";

then

# Capturamos las Tags haciendo unas cuantas virgerias

Album=`kfile --getValue Album "$archivo" 2> /dev/null | grep Tag | colrm 1 50`;

Artist=`kfile --getValue Artist "$archivo" 2> /dev/null | grep Tag | colrm 1 50`;

Year=`kfile --getValue Year "$archivo" 2> /dev/null | grep Tag | colrm 1 50`;

Genre=`kfile --getValue Genre "$archivo" 2> /dev/null | grep Tag | colrm 1 50`;

Title=`kfile --getValue Title "$archivo" 2> /dev/null | grep Tag | colrm 1 50`;

Track=`kfile --getValue Track "$archivo" 2> /dev/null | grep Tag | colrm 1 50`;

# Los metemos como Tags ID3 validos

mp3tag -s "$Title" -a "$Artist" -l "$Album" -y "$Year" -k "$Track" -g "$Genre" "$archivo" ;

# Renombramos el fichero acorde con sus Tags

mp3rename "$archivo";

fi

done;

0 Comments:

Post a Comment

<< Home

Too Cool for Internet Explorer