Présentation

Voici un programme en perl que j'utilise pour renommer des fichiers audio en fonction des informations disponibles dans le tag.

Préambule

Environnement

Instructions

Utilisation

user@host:~$ renamemp3.pl

Programme

#!/usr/bin/perl
# Role : Script Perl qui récupère les tags de fichiers audio et les renomes, utilise mediainfo
# Auteur : http:#shebangthedolphins.net/
# Instructions  : 
# - créer un dossier /tmp/MP3/ et y déplacer les mp3 à renommer
# - créer un dossier /tmp/MP3/TRIE/
# 1.0 premiere version

use strict; use File::Copy;
no warnings;                 #évite les messages d'avertissement dans le cas ou un champ n'aurait pu être récupéré

foreach my $i (`ls -1 /tmp/MP3/*mp3`) {
        chomp ($i);
        $i =~ s/\s/\\ /g;                                       #convertit les espaces en "\ "
        my $MEDIA = `/usr/bin/mediainfo $i`;           #stocke les infos tag dans $MEDIA
        my ($ARTIST) = ($MEDIA =~ m/Performer.*: (.*)/);        #récupère le nom de l'artiste
        my ($ALBUM) = ($MEDIA =~ m/Album.*: (.*)/);        #récupère le nom de l'artiste
        my ($TITRE) = ($MEDIA =~ m/Track name.*: (.*)/);        #récupère le titre
        my ($NUM) = ($MEDIA =~ m/Track name\/Position.*: ([0-3]?[0-9])/);       #récupère le numéro du titre
        printf "$ARTIST - $ALBUM - $NUM - $TITRE\n" if (defined($ARTIST));       #affiche le nom reformaté       
        my ($NOM) = "$ARTIST - $ALBUM - $NUM - $TITRE.mp3";              #formatage du nom
        $i =~ s/\\ / /g;                                        #re-convertit les espaces en " " (pour la fonction copy)
        copy("$i","/tmp/MP3/TRIE/$NOM");               #copie le fichier vers /tmp/MP3/TRIE/ avec son nouveau nom
}

Résultat

[toi@archtoi fr]$ ls -R /tmp/MP3/
/tmp/MP3/:
'01 - Battery.mp3'  '02 - Faded In The Morning.mp3'  '1997 - The action is GO! - 07 - Trackside hoax.mp3'   TRIE

/tmp/MP3/TRIE:
'Fu Manchu - The action is Go - 7 - Trackside hoax.mp3'  'Metallica - Master of Puppets - 1 - Battery.mp3'  'Unknown Mortal Orchestra - Blue Record - 2 - Faded In The Morning.mp3'
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :