Générateur de playlist mp3
Oui je sais, ça fait plus d’un an que je n’ai pas écrit de billet. Le temps passe si vite. Je suis sur plusieurs projets en même temps, mais comme j’ai bien avancé sur celui là, je vais vous en parler. C’est un générateur de playlist de musiques.
Le besoin
On gère tous nos musiques de façons différentes. Je fonctionne surtout avec les genres et les étoiles en créant des listes automatiques.
Le problème c’est que les logiciels gèrent eux mêmes les étoiles (ou notes, ou popularité, etc.) et c’est bien embêtant car je lis ma bibliothèque sur plusieurs supports.
Je me suis aussi rendu compte que mes fichiers ne contenaient pas les informations que je voulais alors que je le croyais. C’est encore la faute aux logiciels (iTunes, Songbird, Nightingale, Banshee, XBMC, etc.) qui ne mettent pas (ou pas toujours) à jour les fichiers.On gère tous nos musiques de façons différentes. Je fonctionne surtout avec les genres et les étoiles en créant des listes automatiques.
La solution
Là où les logiciels ne sont pas d’accord, c’est sur la gestion des étoiles. D’ailleurs, même les éditeurs de tag ID3 permettent de modifier la popularité dans différents formats. J’ai opté pour la notation de Media Monkey parce que c’est celle immédiatement comprise par XBMC.
J’utilise le logiciel Jaikoz pour tagger et compléter mes fichiers. J’ai donc maintenant des fichiers qui contiennent toutes les infos nécessaires pour créer mes listes de lecture. Et XBMC gère ses listes intelligentes sans problème.
Mais ce n’est pas suffisant car je lis ma bibliothèque aussi sur le lecteur Sansa Clip+. Afin que ça fonctionne correctement, je dois créer des M3U avec des chemins relatifs qui contiennent des séparateurs de dossier Windows …
Le projet
Ne trouvant pas mon bonheur dans les lecteurs musicaux (ou sinon j’ai mal cherché), je génère moi-même les playlists utilisant les meta-données des fichiers.
Comme base, j’ai choisi un script Perl bien connu : ExifTool.
Pour aller vite, j’ai codé le générateur en PHP. Ça ne m’a pas pris longtemps, vous verrez les commits.
Voilà le dépôt : https://github.com/neolao/music-playlist-generator
Conclusion
J’ai fait ce projet pour mes besoins et je sais qu’il manque des choses, comme la normalisation de certains meta-données. Ça ne fonctionne probablement pas sur Windows à cause des séparateurs de dossier codé en /
au lieu de DIRECTORY_SEPARATOR
mais aussi parce que les chemins absolus commencent par C:\
. Bref, j’avais surtout pas envie :)
N’hésitez pas à me faire des suggestions.
Commentaires