Manipulation des méta tags audio (ID3, Vorbiscomment, etc) sous Linux.

Manipulation des tags audio, sous Linux#

Au sommaire :

EasyTAG#

EasyTAG est un peu l'équivalent libre du très cool Tag&Rename (propriétaire, Windows). C'est un utilitaire (avec interface) permettant de visualiser et d'éditer des tags pour MP3, MP2, MP4/AAC, FLAC, Ogg Speex, Ogg Opus, Ogg Vorbis, MusePack, Monkey's audio et WavPack.

On l'install via apt :

sudo apt install easytag

Tag manuel#

J'ai envie de traiter une liste de fichiers audio mal nommés et non tagués (et non dispo sur gnudb.org).

  1. Déjà le mieux est de renommer manuellement le nom du répertoire contenant l'album (exemple, au format nom artiste - nom album)
  2. Puis dans l'explorateur de fichiers, click droit sur le répertoire contenant cet album > Ouvrir avec > EasyTAG.
  3. On va récupérer le nom de l'artiste et le nom de l'album et l'appliquer comme TAG pour chaque fichier :
    • Bien sélectionner tous les fichiers audio (Ctrl + A)
    • Aller dans Affichage > Afficher le scanner
    • Onglet "Compléter l'étiquette"
    • Choisir le masque approprié (dans notre exemple : %a - %b/)
    • Cliquer sur le bouton "Scanner les fichiers"
    • Cliquer sur le bouton "Fermer"
  4. On a maintenant le nom de l'artiste et le nom de l'album comme TAG de chaque fichier
  5. On peut déjà sauvegarder ça
    • en sélectionnant tous les fichiers audio (Ctrl + A)
    • puis en cliquant sur l'icône représentant une disquette dans la barre d'outils, ou via Fichier > Enregistrer les fichiers, ou via Ctrl + S.
  6. Puis on y va pour ajouter le titre de chaque morceau, on sélectionne le premier fichier audio, et on modifie son Titre dans la fenêtre de droite (contenant les champs Titre, Artiste, Album, etc).
  7. Une fois le titre tapé, on passe au morceau suivant (via la touche ⇟ page suivante du clavier)
  8. Une fois tous les titres des morceaux saisis, on pense à sauvegarder toutes les modifs (Ctrl + A puis Ctrl + S)

Bon, il ne reste plus qu'à utiliser les tags sauvegardés dans nos fichiers audio, pour les renommer proprement:

  1. Bien sélectionner tous les fichiers audio (Ctrl + A)
  2. Aller dans Affichage > Afficher le scanner
  3. Onglet "Renommer le fichier"
  4. Choisir le masque approprié (exemple : %n - %t pour avoir simplement le numéro et le nom de la piste)
  5. Cliquer sur le bouton improprement intitulé "Scanner les fichiers"
  6. Cliquer sur le bouton "Fermer"
  7. Puis, important, sauvegarder (Ctrl + S) pour renommer les fichiers

Voilou

En ligne de commande#

Supprimer les tags de fichiers OGG#

Parce que parfois il faut savoir faire table rase.

Dans le répertoire contenant les fichiers :

# on affiche les tags en place
find -maxdepth 1 -type f -iname "*.ogg" -exec vorbiscomment -l {} \; ;

# on supprime les tags en place
find -maxdepth 1 -type f -iname "*.ogg" -exec vorbiscomment -w -c /dev/null {} \; ;

# on affiche à nouveau, pour vérifier qu'ils ne soient plus là
find -maxdepth 1 -type f -iname "*.ogg" -exec vorbiscomment -l {} \; ;

Supprimer les tags de fichiers MP3#

Prérequis : installer id3v2

sudo apt install id3v2

Dans le répertoire contenant les fichiers :

# on affiche les tags en place
find -maxdepth 1 -type f -iname "*.mp3" -exec id3v2 -l {} \; ;

# on supprime les tags en place
find -maxdepth 1 -type f -iname "*.mp3" -exec id3v2 --delete-all {} \; ;

# on affiche à nouveau, pour vérifier qu'ils ne soient plus là
find -maxdepth 1 -type f -iname "*.mp3" -exec id3v2 -l {} \; ;

Renommer des fichiers audio proprement tagués#

On peut passer par l'excellent ExifTool.

Et d'ailleurs, voici comment installer ExifTool :

  1. on le télécharge
  2. on extrait l'archive
  3. on le compile et on l'install :
  perl Makefile.PL
  make -j$(nproc) test
  sudo make -j$(nproc) install

Une fois ExifTool en place, on peut donc renommer des fichiers audio proprement tagués :

for i in *.mp3 ; do \
input_basename="${i##*/}"; \
input_extension="${input_basename##*.}"; \
track="$(exiftool -p '$Track' "$i")"; \
track="$(echo $track | sed 's@^[^0-9]*\([0-9]\+\).*@\1@')"; \
artistTitle="$(exiftool -p '$Artist - $Title' "$i")"; \
newFilename="$track - $artistTitle.$input_extension"; \
echo $newFilename; \
mv --backup "$i" "$newFilename"; \
done

Dans cet exemple, je cherche à renommer des fichiers MP3, libre à vous de renommer ce que vous voulez.

Et idem, mais sur une seule ligne :

for i in *.mp3 ; do input_basename="${i##*/}"; input_extension="${input_basename##*.}"; track="$(exiftool -p '$Track' "$i")"; track="$(echo $track | sed 's@^[^0-9]*\([0-9]\+\).*@\1@')"; artistTitle="$(exiftool -p '$Artist - $Title' "$i")"; newFilename="$track - $artistTitle.$input_extension"; echo $newFilename; mv --backup "$i" "$newFilename"; done

Credits#

La photo montrant un canapé défoncé devant des murs couverts de tags est intitulée "Tags" et à été prise par Kevin Dooley. Elle est sous license CC BY 2.0.

This page was last edited on , generated from this markdown. Content is available under the Creative Commons CC BY-SA 3.0 License unless otherwise noted. This site is ad-free and contains no third party cookies or tracking, just as the Web should remain.
HomepageBack to top