Script bash pour tagger ses mp3

Publié le 15 juin 2010 par Antoine Toin0u
J'ai pas mal de mp3 en vrac dans un répertoire qui ne sont pas taggés... Évidement, je n'ai pas pensé à les tagger à la main, c'est à dire, un par un ! Et je n'avais pas envie d'installer un logiciel graphique ni même l'envie de chercher.
J'aime que mes mp3 soient taggés un minimum: le nom de l'artiste et le titre. Car je suis utilisateur de lastFM :)
J'ai un peu cherché sur le net un moyen simple de faire ce dont j'avais besoin. N'ayant pas trouvé, je propose ici un petit script très loin d'être parfait mais qui fonctionne pour moi :) Il est aussi possible de l'adapter pour tagger les mp3 en lignes de commandes :)
Ce qui est requis:
- les mp3 doivent être nommés: artiste - titre.mp3
- artiste ne doit pas avoir de tiret par exemple: l'arc-en-ciel
- posséder le logiciel eyeD3 ou id3v2 (id3)
1. Création du script via une console
cd repertoire_mp3_a_tagger
>tag.sh
chmod a+x tag.sh
vi tag.sh
2. Le script en lui-même
#!/bin/bash
for i in *.mp3
do
artiste=$( echo $i | cut -d- -f1 | sed 's/ *$//')
titre=$( echo $i | cut -d- -f2 | sed 's/.mp3//')
eyeD3 -a "$artiste" -t "${titre/ /}" "$i"
done
3. Execution du script
./tag.sh
Il est clair qu'il est bien plus pratique de rendre le script plus global, par exemple, le modifier en conséquence et le placer dans /usr/local/bin voir /usr/bin ou carrément /bin ;)

La console après avoir exécuté le scriptbLoG: ackorea.blogspot.com bY R^, Béa & tOiN0U