fichiers audio, marqueurs (tags) et paroles (lyrics) internationales

Attention, en cours de rédaction

This post also exists in English

Comme dans un billet précédent, je parlais de la traduction des sous-titres, je vais parler aujourd’hui des noms des chansons et paroles internationales dans les morceaux de musiques.

Je n’ai pas encore trouvé d’outil complet, mais plutôt des briques spécialisées.

Les tags

* eyeD3 est un outil de gestion des tags, permettant différents encodages de caractères dont l’UTF-8.

Le problème (explication un peu longue)

Audacious, encodage pourrit

Le problème avec de nombreux tags, c’est qu’en raison des anciens systèmes qui n’avaient pas de technique d’encodage internationale, telle que le propose l’UTF-8,UCS transformation format – 8 bits, terme générique qui par abus de langage, regroupe les encodages UTF-8 et dérivés, UTF-16 (16 bits) et UTF-32 (32 bits), étaient encodées dans les encodages locaux.

Rosetta_stone (commons wikimedia, Utilisateur Albeins)

Un fichier était alors encodé, pour le mieux en iso local (iso-8859-1 ou iso-8859-15 pour l’Europe de l’Ouest par exemple), pour le pire en encodage Windows (Microsoft tentant de casser les standards pour s’approprier d’avantage de clients, et empêcher ainsi l’innovation qui lui coute cher en développement et réduit les marges). En Chine, c’est encore pire, entre le continent qui à 3 ou 4 encodage du chinois simplifié, Taïwan, Hong-Kong ou Macao qui ont leurs différents standards d’encodage du chinois traditionnel. On peut imaginer le casse tête en Inde qui à un nombre incroyable d’écritures, ou pour les Mongolophones qui ont différents systèmes d’écriture selon le pays dans lesquels ils se trouvent (Mongolie, Mongolie intérieur en Chine ou Tibet, Russie, etc…).

En bref la volonté de l’UTF-8 a donc été d’unifier tout ça. Le problème est que les différents développeurs des différentes régions du monde ne se sont pas encombrés à ajouter un champ qui préciserait l’encodage utilisé dans leur format de donnée, du coup, c’est un vrai casse tête pour unifier tout ça et du coup il existe encore aujourd’hui des applications bornées à leurs encodages locaux qui tentent tant bien que mal de les détecter.

J’écoute personnellement pas mal de musique chinoise et en général d’Asie, et me trouve confronté a un casse tête à chaque fois que je récupère un nouveau morceau sur les sites spécialisés pour en trouver l’interprète, l’album ou tout simplement le titre… Heureusement aujourd’hui, tous les systèmes (Linux et autres UNiX, *BSD*, Wndows, Mac) utilisent tous l’UTF-8 par défaut, et une majorité grandissante d’applications l’utilisent par défaut.

La solution

En général, je cite l’exemple chinois, mais cela peut fonctionner avec les autres langues, je teste les encodages les plus utilisés pour décrypter le titre (si le fichier à un nom dans une langue quelconque en écriture latine).

Une technique pas mal est la suivante :

id3v2 -l fichier.mp3 | grep -v mp3 | iconv -f gbk -t utf8

* id3v2, que l’on trouve sur la majorité des distros, sort les tags du fichier.

* Le grep retire (-v) le nom du fichier.mp3 (au cas où il soit encodé dans un encodage différent, ce qui bloquerait le transcodage du reste).

* iconv fait la conversion du (from) gbk vers le (to) utf8, si cela ne ressemble pas au titre, est illisible ou est beaucoup plus long que cela devrait, il y a déjà des chances pour que ce soit le mauvais encodage.

Un indice pour avoir la liste des encodage. Mozilla/firefox permet d’afficher les encodages les plus courants pour une langue, graçe au menu : Affichage => Encodage des caractères => Plus d’encodages => Région => pays (encodage 1), pays (encodage 2),…

Page 1 of 2 | Next page