Accéder au contenu principal

Utilisation de la librairie Java ID3 Tag

Il s'agit d'une librairie Java qui permet, entre autres, d'extraire le contenu des tags ID3Vx depuis un fichier mp3. Cette librairie est disponible sur sourceforge.
Pour extraire les paroles (Lyrics) depuis une page JSP par exemple, il faut utiliser un code semblable à ce qui suit:
<%@page import="org.farng.mp3.id3.*"%>
String lyrics="test";
RandomAccessFile fic;
ID3v2_3 tagz = new ID3v2_3();
try {
fic = new RandomAccessFile("<... CHEMIN DU FICHER MP3 ...>" ,"r");
tagz = new ID3v2_3(fic);
} catch (IOException io) {
System.out.println("erreur : le fichier n'est pas valide");
}catch (TagException tag) {
System.out.println("erreur : le format du fichier n'est pas valide");
}

// lecture des paroles
System.out.println("Extraction des Lyrics");
lyrics=tagz.getSongLyric();


Cela marchera pour les fichiers qui contiennent un tag Lyric de type ID3 V2 (Unsychronised lyrics/text transcription) avec une valeur de l'attribut language='eng'. Ne pas confondre ce tag avec celui, plus ancien, qui enregistre les paroles à la fin du fichier.
Pour les paroles qui ont été ajoutées avec un outil paramétré en français (iTunes, Explorateur Windows etc.), l'appel ne renverra aucun texte.
Il est necessaire de patcher une classe du package. Cette classe est : ID3v2_3.

Manipulations:

Récuperer le source de la librairie
Extraire le contenu du fichier jid3lib-0.5.4.jar
jar -xvf jid3lib-0.5.4.jar
Editer le fichier ID3v2_3.java (dans le repertoire src/org/farng/mp3/id3
Aprés le motif:

if (text == "") {
frame = getFrame("USLT" + ((char) 0) + "eng" + ((char) 0) + "");
if (frame != null) {
FrameBodyUSLT body = (FrameBodyUSLT) frame.getBody();
text = body.getLyric();
}
}


il suffit d'ajouter celui-ci:

if (text == "") {
frame = getFrame("USLT" + ((char) 0) + "fre" + ((char) 0) + "");
if (frame != null) {
FrameBodyUSLT body = (FrameBodyUSLT) frame.getBody();
text = body.getLyric();
}
}


Puis refaire une librairie avec la commande jar.
jar -cvf jid3lib-0.5.4.jar *
Vérifier la présence de deux repertoires: org et META-INF dans le fichier final.
La doc qui est fourni avec la librairie est très pédagogique. Le formalisme ID3 dans sa version V2 tranforme un fichier MP3 en véritable mini base de données !

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