Juste une petite présentation de RegexTagForMusic.

Depuis que j'ai un lecteur MP3, j'ai découvert que l'existence ou plutôt l'importance des tags. Ce sont des informations contenues dans le fichiers audio qui permettent de renseigner l'artiste, l'album, etc...

La majorité des baladeurs MP3 lisent ces tags pour afficher le titre du morceau. Il est donc très important de bien tagger sa musique et il existe pour cela beaucoup de logiciels mais aucun n'est parfait à mon gout,

Les problèmes habituels

informations pas toujours cohérentes

Certains logiciels vont sur internet pour retrouver des informations, mais ces informations sont rentrées par des utilisateurs qui n'ont pas tous les mêmes versions des albums, entre les ré-éditions, avec ou sans bonus, les version différentes par pays ...

Donc un premier problème avec ces base de données, c'est l'ordre des morceaux. Plusieurs fois j'ai un un morceau AAA qui était taggé en BBB.

Arrrgggghhhh, les doublons

Ensuite l'orthographe d'un artiste est très importante pour ne pas se retrouver avec des doublons. Un des pires exemples est le groupe AC/DC qui peut être orthographié de presque autant de façon qu'ils ont fait d'albums:

  • AC.DC
  • AC/DC
  • AC DC
  • A.C/D.C
  • etc ...

Des versions en veux tu en voilà

Il existe plusieurs versions internes de ces tag ID3v1, ID3v2.3, ID3v2.4... Et le pire c'est que des tag peuvent cohabiter mais rien ne garanti qu'il seront cohérent. Alors peut être qu'un iPod lira les ID3v2.4 alors qu'un autoradio lira les ID3v1. Et encore je ne parle même pas de l'encodage des chaine de caractères :)

Tagger oui mais pas avec n'importe quoi

Enfin j'aime bien la philosophie Unix, beaucoup de petites briques qui font une chose mais qui la font bien. Je veux bien qu'un logiciel récupère les informations pour tagger ma musique, mais je veux pouvoir choisir QUEL logiciel va tagger ma musique. Personnellement j'aime beaucoup EyeD3, il fait une seule chose, tagger, mais il la fait extrèmement bien.

Détecter les problèmes

Et si j'ai oublié de mettre "01" devant la première chanson? Ce serait bien aussi que l'application puisse détecter les fichiers que je n'ai pas bien nommé!

La solution

Si comme moi vous stucturez d'une manière rigoureuse votre musique dans des dossiers, bien nommés, alors des expressions régulières sont capable de retrouver les information pour tagger toute votre musique automatiquement.

Tagger à partir de regex, c'est déjà possible, mais je n'ai jamais trouvé un programme permettant de personnaliser suffisamment les regex pour coller parfaitement à ma façon de gérer la musique. Dans RTFM, un champs de tag c'est une Regex!

C'est pourquoi j'ai commencé à développer RegexTagForMusic ou RTFM, je croyais à l'époque qu'il était obligatoire pour un logiciel libre d'avoir un jeu de mot pourri dans le titre :)

Voici le lien vers le projet.

Au passage, merci à Github, c'est super de développer un projet grâce à cette plateforme!

Présentation de l'application

Configuration

Le premier point important est la configuration, en effet il faut apprendre à RTFM comment vous gérez votre musique, ensuite il s'occupe du reste :)

La configuration se fait par fichier XML assez compréhensibles j'espère Il n'y a pas pour le moment d'IHM pour la configuration, je ne suis pas un pro de swing et comme je me dit que la configuration on ne la fait qu'une fois, je préfère travailler aux fonctionnalités.

De plus dans le répertoire examples il y a plusieures configurations qui correspondent aux manières les plus répandues de gérer la musique autours de moi.

Si toutefois vous ne trouvez pas une configuration qui corresponde et que vous ne voulez pas/n'avez pas le temps/ne savez pas configurer RTFM, contactez moi en me décrivant votre besoin, ce sera avec plaisir que je la rajouterai en exemple :)

Lien vers la page du wiki concernant la configuration

Utilisation

Rapidement, il existe deux mode:

  • Un "shell" ou un client en ligne de commande qui permet de tout faire depuis un terminal. Il gère aussi les scripts pour automatiser les tâches récurrentes comme "tagger les nouveau mp3".
  • Une interface graphique, simple pour le moment car je débute en swing, mais efficace.

Pour ce qui est de l'utilisation, voici le lien du wiki

Aide et Développement

Le projet sur Github comporte un gestionnaire de tickets pour les bug ou les évolutions, voici le lien.

Sinon une API permet de développer des TgWriters, ce sont les objets qui seront utilisés pour tagger les fichiers. Pour le moment seuls deux TagWriters sont disponibles et seulement pour tagger des MP3. Il faudrait pouvoir tagger les OGG, les FLAC ...

Bref j'ai encore du boulot ;)