Ralala ces fichiers mp3

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 24 sept. 2005 à 01:05
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008 - 24 sept. 2005 à 18:19
Hello tous ! :)

Petit exposé ce soir sur les fichiers mp3 :)



En considérant qu'un fichier mp3 est découpés en frames et que chaque
frame contient un header de 32 bits, donc 4 octects, dont les 11
premiers bits sont à 1 :).

En sachant également que la première frame ne se trouve pas forcément
au début du fichier, et n'a ni une taille fixe dans les fichiers mp3 !

Donc desfois, la première frame commence à 4096 bits, 1490 bits, 0 bits enfin bref c'est variable :)

Donc ma question est : :) Comment trouver ou se trouve la premiere frame :) ??? :p

if(!Meilleur("Joky")) return ERREUR;

17 réponses

MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
24 sept. 2005 à 02:28
intéréssant ... si tu sais que chaque frame a un header, il suffit de
chercher un header en partant du debut et le premier sur lequel on
tombe sera le ......... premier ! Il doit bien y avoir un truc qui
caracterise le debut d'une frame ...
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 sept. 2005 à 08:54
Bé oui, les 11 premiers bits de chaque frame sont à 1 :)

On trouve souvent au début des header FF FB, mais y'a rien de sur :)

if(!Meilleur("Joky")) return ERREUR;<
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
24 sept. 2005 à 09:54
Pour détécter si c'est une frame, tu lis un word w(2 octets), puis tu fais
if(w & 0xFFE0)... Mais ce n'est pas une condition suffisante, c'est sur qu'il peut y avoir autre chose qu'une frame qui commence par 11 bits à un.
Ton problème en fait c'est que les tags sont optionnels? Dans ce cas il y a sans doute moyen de savoir s'il y a un tag ou pas (ils ne commencent sans doute pas par FF)
0
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
24 sept. 2005 à 11:01
Mais dans le header général du fichier il dit pas ou le son commence ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
24 sept. 2005 à 12:11
Ya pas de header général,le première frame peut se trouver au tout début du fichier, si j'ai bien compris
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
24 sept. 2005 à 12:54
Sur ce site ya une exemple de lecture de tag IDV3V1 assez simple







typedef struct

{

char TAG[4];

char title[31];

char artist[31];

char album[31];

char year[5];

char comment[31];

unsigned short genre;

}id3tagv1;







id3tagv11 * ID3

FILE *fp;

unsigned char temp;



if(fp=fopen(FichierMp3,"rb"))

{

if(fseek(fp,-128L,SEEK_END)==0)

{

fread(ID3->TAG,sizeof(char),3,fp);ID3->TAG[3]='\0';

if(strcmp(ID3->TAG,"TAG")==0)

{



fread(ID3->title,sizeof(char),30,fp);ID3->title[30]='\0';

RTrim(ID3->title);



et qui pour moi a toujour marché !!
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
24 sept. 2005 à 13:02
Par contre pour les V2 qui varient

C'est plus baleze ils faut calculer la taille du tag et des frames, le
code sur ce site s'appelle ExtractID3 pour l'ecriture c'est encore plus
baleze (c'est pour ca que j'ai laissé tombé et suis passé aux
librairies speciales)
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 sept. 2005 à 17:38
Donc en effet c'est une histoire de Tag optionnel qui contiennent les
informations liés au fichiers mp3. Mais j'pense que j'vais devoir
parcourir jusque temps trouver FFE0, reste juste à vérifier qu'il n'y
aura jamais cette séquence dans les tag :)

J'me renseigne et j'vous dis quoi mm si vous vous en foutez :)

if(!Meilleur("Joky")) return ERREUR;
0
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
24 sept. 2005 à 17:41
pas du tout meme si tu pouvais me donner tes sources(pas ton programme,
mais les documents) qui te permettent de lire ce mp3 ce serait super
sympa de ta part.
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 sept. 2005 à 17:46
EditHexa : FreeWare

http://www.logitheque.com/fiche.asp?I=9903
if(!Meilleur("Joky")) return ERREUR;<
0
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
24 sept. 2005 à 17:53
mdr, toi aussi tu essais de comprendre direct en regardant le fichier, je vais aller regarder ça lol
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 sept. 2005 à 17:56
Autant faire dans le pur :)

Mais bon j'pense que j'ai trouver :)

Par exemple je regarde le tout début du fichier :

Si je lis ID3, alors je saute de 128 bits depuis le début sinon je lis tout de suite ;)
if(!Meilleur("Joky")) return ERREUR;<
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
24 sept. 2005 à 18:06
En version V2, les tag sont en debut de fichier et les 3 1er caractere sont "ID3"

En version 1 et 1.1, les tag occupe les 128 derniers octets et commence par "TAG"

En version 1.1, l'avant avant dernier octet vaut '\0'
0
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
24 sept. 2005 à 18:10
ah ben un connaisseur
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
24 sept. 2005 à 18:11
Ouai lol :)

Et donc bé j'vais faire un convertisseur Euro/Francs lol :)
if(!Meilleur("Joky")) return ERREUR;<
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
24 sept. 2005 à 18:16
Lol !!

Sinon http://www.id3.org/id3v1.html doc pour les V1

Et pour ceux qui on pas peur pour les V2 http://www.id3.org/easy.html.

Un exemple de TAG pour montrer la difficultés des nouveaux tag V2.3 :les paroles synchronisé au mp3 (comme pour les midi).
0
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
24 sept. 2005 à 18:19
Bien sur tout le monde aura compris l'intéret de savoir ou commence les frames des mp3 pour faire un convertisseur euro-francs mdr
0
Rejoignez-nous