Accéder au contenu principal

MP3/ID3 as a generic container for a non music related catalog


Les baladeurs MP3 sont très répandus, et sont utilisés principalement pour écouter de la musique.
Ces lecteurs MP3 permettent de balader un catalogue de fichiers musicaux, sont agréables à utiliser et présentent l’intérêt de pouvoir être manipulé d’une seule main. Et si maintenant on considérait ces lecteurs comme pouvant manipuler, avec le même agrément, un catalogue d’une toute autre nature
Par exemple :
  • un catalogue de timbres ?
  • un catalogue de recettes de cuisines ?
  • un inventaire de fiches historiques ?
  • un catalogue d’œuvres d’art ?  
  • Un catalogue commercial de pièces détachées ?
Cela est possible parce qu’un fichier au format MP3 peut être muni d’un container de métadonnées (tags) appelé ID3. Ce sont les possibilités de ce container que l’on va exploiter.

IMG_4510-1

Mise en œuvre

Afin de tester le concept, j’ai choisi un thème qui comprend à la fois du son, de l’image, du texte et de la classification: Un catalogue de chants d'oiseaux.  J’ai pris comme référence, le lecteur d’Apple iPod Nano (3ième génération) , et je me suis basé sur ses caractéristiques. Par exemple, on peut afficher les paroles d’une chansons ainsi que la couverture de l’album ou bien lister les morceaux selon le genre de musique.
Allons sur un site spécialisé en ornithologie http://www.oiseaux.net .
Je télécharge quelques échantillons de chants d’oiseaux au format mp3, des illustrations, les informations de classement, et enfin une fiche de description.

Il reste à faire correspondre ces informations spécifiques aux oiseaux avec celles que propose en standard un lecteur MP3. Dans la suite je pars sur la version ID3v2.4 de la spécification ID3
Information liés à l’oiseau Source Tag / Récepteur Commentaire sur le choix de correspondance Illustration
Chant de l’oiseau Enregistrement au format mp3 Le fichier.mp3 lui-même Il s’agit des frames qui constituent l’essentiel du fichier .mp3
Affichage:
  • Couverture
  • Titre du morceau Fr / Ang
  • Nom de l’artiste
  • Nom de l’Album
IMG_4504-1IMG_4517
Nom vernaculaire Nom commun
+ Nom Anglais
Title (tag TIT2) Liste des noms de morceaux, triée par ordre alphabétique:
Titre du morceau
Nom de l’artiste
IMG_4508-1
Nom scientifique Genre/espèce Artiste (TPE1) Liste des noms d’artistes, triée par ordre alphabétique. Le nom de l’oiseau est composé d’un premier mot indiquant le genre et d’un second indiquant l’espèce IMG_4507-1
Nom vernaculaire Nom commun en Français Album (TALB) Liste des noms d’album triée par ordre alphabétique:
Couverture, Nom de l’album et nom de l’artiste
IMG_4506-1
Famille Famille Genre (TCON) Choix discutable, compte tenu de la confusion entre le tag appelé genre et la donnée de type Famille qu’il contient, mais c’est un tag de catégorisation exposé par le lecteur Ipod dont il aurait été dommage de se passer. Je n’ai pas vu l’intérêt d’y renseigner le genre dans la mesure où cette information rentre dans le nom de l’oiseau
Navigation: Genre –> nbre Artistes et nbre Albums
IMG_4509-1
Ordre Ordre Compositeur (TCOM) On utilise ce tag pour enregistrer l’ordre auquel est rattaché l’oiseau. IMG_4514
illustration de l’oiseau Photo au format jpeg Illustration (tag APIC) Cover (Front) est le content descriptor choisi par défaut. on peut également prendre le descriptor illustration ($12) IMG_4499-1
IMG_4513
Fiche descriptive de l’oiseau Texte au format ASCII Lyrics (USLT) Cela correspond à un tag ID3 qui est USLT (Unsynchronized Lyric).Si le texte existe en plusieurs langues, il doit être précédé du code langue. Par exemple pour le Français, il faut rentrer:
fre|<le texte de la fiche>.
Le tag ID3 peut contenir plusieurs versions de texte. Il faut utiliser pour cela un éditeur ID3 plus avancé que celui qui est fourni dans iTunes Le lecteur iPod n’en affichera qu’un seul, qui semble correspondre au dernier texte entré. 
IMG_4519
A définir Popularimeter (POPM) Ce tag peut être utilisé pour donner une information quantitative sur l’oiseau. En théorie, l’échelle va de 0 à 255.

Le travail essentiel consiste à mettre en correspondance la taxinomie adoptée pour les oiseaux avec le modèle (très orienté vers des fichiers musicaux) que propose le container ID3. On tient compte également de la façon dont le lecteur MP3 va visualiser les différents éléments, et de la navigation qui est proposée en standard.

Modèles 

taxinomie modele ID3
Voici le méta-modèle qui peut être utilisé pour un catalogue quelconque:
metamodele
(en italique, on retrouve le tag ID3 qui peut être utilisé pour la correspondance)
Remarques:  Le méta-modèle des tags ID3 présenté ci-dessus est très approximatif. Il tient surtout compte de la navigation qui est proposée par l’Ipod nano.
Dans le cas de notre exemple (oiseaux), et au niveau de la correspondance, les seuls catégoriseurs retenus sont : Compositeurs et Genre. L’album n’est pas retenu comme niveau de groupement car cela entraine des effets de bord indésirables. J’ai été amené à l’utiliser pour contenir à nouveau le nom commun, afin de pouvoir bénéficier de la navigation par Cover Flow. Quant au tag Artiste, je l’ai utilisé pour le nom scientifique, bien qu’on aurait pu placer ce nom dans le titre du morceau, avec les noms communs Français et Anglais (sous la forme : nomFR / nomENG / Nom scientifique).
Par conséquent, les trois tags: Album, artiste et morceau désignent une même entité qui est l’oiseau lui-même.

Remplissage des Tags

Les fichiers au format MP3 existent déjà puisque il s’agit de ceux qui ont été téléchargés depuis le web, ou bien achetés. Il faut maintenant alimenter les tags ID3 à l’intérieur de ces fichiers. On réalise cette opération, soit manuellement avec iTunes, soit avec un logiciel spécialisé comme MP3Tag, soit en mode automatisé si on a un grand nombre de fichiers à incorporer. Dans ce dernier cas j’utilise pour cela un outil qui s’appelle eyeD3. C’est un addon pour Python, qui, bien que destiné à Linux, peut cependant fonctionner sous Windows.
Une fois les fichiers ”gavés” de métadonnées, il faut créer la bibliothèque sous iTunes, puis synchroniser son iPod.
Pour un catalogue de timbres, par exemple,, il est évident que la partie sonore n’est qu’un prétexte puisque cette partie sera vide. On prendra alors un fichier .MP3 qui sera réduit à sa plus simple expression (silence d’une seconde, ou bruit neutre très court). L’intérêt est apporté par les facilités de navigation et de recherche fournies par le lecteur mp3.

Annexes

Exemples de lignes de commande pour EyeD3
Tag Commande
Title python EyeD3 --set-encoding=utf8 --title="Puffin majeur / Great Shearwater" xxx.mp3
Compositeur python EyeD3  --set-text-frame=TCOM:"Anseriformes" xxx..mp3
Illustration python EyeD3 --set-image=xxx.jpg:FRONT_COVER xxx.mp3
Version de ce post: 1.1 
1.1 : Ajout méta-modèle.

Commentaires

Posts les plus consultés de ce blog

Oracle Sites Cloud Service - Adding authentication to a site

With Oracle Sites Cloud Services, access to any site is Public, by default. If you have to add authentication, there is a very simple way to achieve it: First, we assume that authentication will be against the existing Identity Domain provided with the tenant. In a dedicated page of a site, called Login for instance, we add an App component which embeds an URL to any folder of Documents Cloud Service. ie: App URL =  https://documents.XX.oraclecloud.com/documents/ embed /home/nameasc Note that the URL will be called with the EMBED keyword . Then we add the App component is a region, and  we setup a height=1 and a width=1 (almost invisible). That's all. Each time a user will navigate to this custom   Login Page, and if the user is not yet authenticated, a new page will splash on the screen, asking for credentials. Once login and pasword are provided by the user, the page disapears and return to custom Login page. Optionnaly it's possible to add a dedicated butt

Auschwitz

 Quelques livres à propos des camps d'Auschwitz La mort est mon métier (Robert Merle) - 1952 Roman avec Rudolf Hoess (responsable camps d'Auschwitz) comme personnage principal Si c'est un homme (Primo Levi) - 1947 Témoignage de Primo Levi sur sa captivité à Auschwitz Les médecins d'Auschwitz (Bruno Halioua) - 1922 Etude sur l'organisation des services de médecine à Auschwitz Je me suis évadé d'Auschwitz (Rudolf Vrba) - 2004 Récit d'un captif qui a réussi à s'échapper d'Auschwitz Shoah  (Claude Lanzmann) - 1985 Dialogues du film "Shoah" Sonderkommando : Dans l'enfer des chambres à gaz  (Shlomo Venezia ) Entretien avec un ancien prisonnier qui a tenu le rôle de sonderkommando (manipulation des corps dans les chambres à gaz) Auschwitz I Birkenau

Streaming mp3 fromVLC / Icecast to Android

Here are some tips for streaming music to android mobile devices from a PC. Platform which has been used fo test: Ubuntu 11.10 oneiric + a NAS for storing music (windows can fit as well) Videolan VLC 1.1.12 (providing mp3 flow) icecast 2.3.2 (shoutcast radio) Winamp 1.2.12 for Android mobile(music player) Android-vlc-remote for Android (remote control for VLC) Start icecast server icecast2 -c icecast.xml The icecast xml config file is the original one. don't modify anything at this stage.  Setup VLC in order to stream mp3 instead ogg format Close VLC Prepare a playlist (ie: scarlatti.m3u) with Banshee or whatever. Launch VLC in command line vlc scarlatti.m3u --sout '#standard{access=shout,mux=ogg,dst=source:hackme@192.168.0.3:8000/scarlatti}' --sout-keep --extraintf=luahttp --fullscreen --http-album-art     Check that icecast is displaying a mount point for the new radio Check the HTTP acces