domenica 29 maggio 2011

Trovare e rinominare automaticamente gli MP3 senza tag

Una cosa estremamente seccante quando sia accende il proprio lettore MP3 e' quella di trovare dei file che non sono stati taggati correttamente con id3. Per evitare questo problema ho creato un piccolo script che tagga in automatico i file che non hanno tag id3.
Anzitutto, per trovare i file con tag e quelli senza, e' possibile eseguire il seguente comando:

find /media/FLUCAPOD/Music -iname '*.mp3' -type f -print0 | xargs -0 mp3info > ~/mp3List.txt 2>~/untaggedMp3.txt

Il comando effettua un find (ricerca di file) sul dispositivo montato sotto /media/FLUCAPOD; la ricerca prende tutti i file con estensione mp3 e li passa uno ad uno ad un programma mp3info che visualizza le informazioni del tag stesso. La lista dei file che passano il controllo di mp3info viene inserita in mp3List.txt, mentre i file privi di tag sono memorizzati nel file untaggedMp3.txt. Quindi con il comando di cui sopra e' possibile verificare se ci sono file privi di tag sul proprio dispositivo.
Per inserire automaticamente i tag si puo' usare il comando lltag, che ha la comoda opzione -G (guess) che tenta di indovinare i tag dal nome del file che processa. A tal fine ho creato un piccolo shell script wrapper per lltag:

#!/bin/bash
# mp3tag.sh

MP3_FILE=$1

mp3info "$MP3_FILE" > /dev/null 2>&1

if [ $? -ne 0 ]
then
    # file senza tag MP3
    echo -en "Auto-tag file [$MP3_FILE]..."
    lltag -G --yes "$MP3_FILE" > /dev/null 2>&1
    if [ $? -eq 0 ]
    then
        echo -en "OK!\n"
    else
        echo -en "FALLITO!\n"
    fi
fi



E quindi e' possibile eseguire la ricerca dei file mp3 passando i file trovati a questo wrapper che quindi in automatico verifica se sono presenti i tag e nel caso siano assenti effettua automaticamente il tagging:

find /media/FLUCAPOD/Music/ -iname "*.mp3" -exec mp3tag.sh {} \;

Giusto per dare un'ordine di grandezza dei tempi di esecuzione di questa procedura, in meno di 5 minuti il sistema ha processato 2913 file per circa 30 GB di file!

Nessun commento: