logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [général] MP3 < - > BMP
Username:
Password:
Pages: [1] 2 3
  Imprimer  
Auteur Fil de discussion: [général] MP3 < - > BMP  (Lu 18286 fois)
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« le: 09 Septembre 2006 à 12:37:40 »

Bon alors voilà. J'ai eu une idée complètement débile (comme toutes les autres par ailleurs..) qui serait de coder un petit truc pour convertir (de préférence assez rapidement) des MP3s vers un format d'image (BMP, JPG ?).
Je ne veux pas simplement renommer l'extention.. J'aimerai que le son "conditionne" les couleurs des pixels.. de mamière à recréer l'image..
Je sais pas si vous avez tout suivi ou pas. Quoi qu'il en soit, j'aurais voulu savoir si vous aviez de bons articles sur ces formats ou même une idée qui pourrait m'avancer dans l'histoire.
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
pied de mamouth

Profil challenge

Classement : 7356/55017

Néophyte
*
Hors ligne Hors ligne
Messages: 45


Voir le profil
« #1 le: 09 Septembre 2006 à 12:46:42 »

Salut,
J'ai déjà vu un truc proche de ce que tu veux faire. En gros le prog regardait le tempo et d'autre truc dans le genre et en déduisait une "couleur" pour le morceau. Donc après plutot que de repérer les morceaux par genre tu peut les repérer par couleurs. Après tu peux avoir une couleur identique pour deux morceaux différents. Donc si tu veux une image bien différente pour tout les morceaux possibles ca le fait pas.
Mais je dirais que pour créer ton image tu devrais te baser sur les caractéristiques " mesurables" du morceau ( je sais pas trop les quelles, je suis pas musicien ).

Euh pour le programme c'est un étudiant d'une école d'ingé ( l'ECE à paris )  qui l'a fait mais j'ai ni son nom ni son mail ni ..... . Donc bonne chance
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #2 le: 09 Septembre 2006 à 12:49:10 »

Merci quand meme pied de mamouth. Si il l'a fait, c'est déjà bon signe !
S0410N3 m'a conceillé de prendre une lib pour convertir MP3 en WAV. C'est pas bête.
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Ge0

Profil challenge

Classement : 18/55017

Membre Senior
****
Hors ligne Hors ligne
Messages: 377


Voir le profil WWW
« #3 le: 09 Septembre 2006 à 15:29:16 »

whaouuu... c'est casse cou

Moi justement je cherche sur google la spécification du MP3, sans résultats...
Journalisée
Kowasu

Profil challenge

Classement : 464/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 142


Voir le profil
« #4 le: 09 Septembre 2006 à 15:33:31 »

Citation de: VeNoM630
whaouuu... c'est casse cou

Moi justement je cherche sur google la spécification du MP3, sans résultats...
hXXp://www.mp3-tech.org/programmer/programmers.html



J'ai déjà commencé l'étude depuis un bout de temps.
Journalisée

"Le démiurge est aussi bateleur: son oeuvre est illusion, son ordre est illusoire."
TheWeasel47
Profil challenge

Classement : 1261/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 75


Voir le profil
« #5 le: 09 Septembre 2006 à 20:06:49 »

Salut Perfect slayer,
Alors je te dit Moi je suis partant! ENvoie un MP pour mon msn si tu veux qu'on bosse ensemble! Cet experience peu etre tres enrichissante par cotnre tout d'abord j'aimeria voir pour un truc du genre wav=>bmp deux formats non compresse donc plus imple tu en penses quoi ?
@++
TheWeasel
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #6 le: 10 Septembre 2006 à 07:12:19 »

Ouais c'est ce que j'ai commencé. Pour l'instant j'ai réussit à extraire les données du WAV. Maintenant faut que je vois à quoi elles correspondent (donc là, c'est plus tellement le format WAV qui rentre en jeu mais l'encodage.. Apres je vais voir le format du BMP pour essayer un envoit direct..

C'est seulement apres que je vais tenter de modifier les données pour former des formes plus concretes en fonction du son etc..

Sinon pour ce qui est de bosser ensemble pourquoi pas mais je n'ai pas beaucoup de temps à moi pour l'instant (étant en prépa). J'ai commencé le tout en PHP (c'est ce que je maitrise le mieu) et je pense que si les résultats sont convainquant, je passerais ça en C. Voilà, c'est à toi de voir si tu veux un mou comme moi pour bosser avec toi Mais sinon ouais pourquoi pas tous les 2 !
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
UnKn0wM1nd

Profil challenge

Classement : 4120/55017

Membre Junior
**
Hors ligne Hors ligne
Messages: 69


Voir le profil
« #7 le: 10 Septembre 2006 à 07:23:48 »

Bonne chance


Ca serait bien si des volontaires mettrait des "bons" programmes de leur confection sur NC...

À profit de la communauté de NC si bien apprécié  ^^'

Ok... J'arrete de divaguer et je vais me coucher

Et encore : « Bonne Chance ! » pour la chance

[[ Et merde ... C'est presque (Presque? ) du Flood ]]


3D1t : Les Modos donne un bon exemple (Sans viser personne )
Journalisée

§earching  |-|imself
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #8 le: 10 Septembre 2006 à 08:34:09 »

Bon bah voilà ou j'en suis pour l'instant :
(http://www.hiboox.com/images/3606/b7522cc6.jpg)
J'ai les données quoi.. J'essaie de voir à quoi correspond précisément les points suivants :
# fréquence d'échantillonnage
# nombre de bytes par seconde
# nombre de bytes par échantillon
# nombre de bits par échantillon
Sachant qu'en plus il a plusieurs types de compression.. Ca va etre ennuyant si c'est compressé. J'ai trouvé quelques algorithme de décompression, il faudra les refaire en PHP. Wait & See donc..
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Nebelmann

Profil challenge

Classement : 470/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #9 le: 10 Septembre 2006 à 09:15:04 »

Citation
J'essaie de voir à quoi correspond précisément les points suivants :
# fréquence d'échantillonnage
# nombre de bytes par seconde
# nombre de bytes par échantillon
# nombre de bits par échantillon
là il me semble que tu rentres dans le domaine du traitement de signaux... en fait, partant de ta source sonore, le dispositif de capture/compression va effectuer un échantillonnage tous les t temps (d'où fréquence d'échantillonnage), c-à-d qu'il va transformer le signal sonore en données numériques (du wav dans un premier temps je pense), et en fonction de la compression voulue (ou non), ce "paquet" de données va être représenté sur un certain nombre d'octets (bytes ). De là tu peux trouver le nombre d'octets par secondes, en fonction de la fréquence d'échantillonnage et de la taille d'un échantillon...
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #10 le: 10 Septembre 2006 à 10:29:26 »

Ouais je vois un peu ce que tu veux dire. J'suis tombé sur quelques liens intéressants dont un d'un membre de developpez.com. J'avance pas plus ce matin parce que je taffe depuis 10H. J'me fesais juste une petite pause : je retourne à mes maths
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #11 le: 10 Septembre 2006 à 18:21:20 »

Re tout le monde. Je réfléchis à tout ca mais je bloque un peu sur la théorie là.. J'arrive parfaitement à récuperer les données, les couper selon l'amplitude, le nombre de voies etc..
Mais à quoi correspond réellement c'est valeur.. c'est là ou je lutte un peu. Je vois pas à quoi ca correspond vraiment ces données.. Les valeurs que je prends : c'est la valeur actuelle de l'amplitude.. le tout en dB ? Ce que j'aimerai savoir c'est comment apres, récuperer le pourcentage de chaque fréquence du son (comme les équaliseurs le font pour retrouver les aigue, les basses.. Je continue les recherches donc..
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
pied de mamouth

Profil challenge

Classement : 7356/55017

Néophyte
*
Hors ligne Hors ligne
Messages: 45


Voir le profil
« #12 le: 10 Septembre 2006 à 18:39:06 »

Arretez moi si je me trompe mais pour trouver l'amplitude moyenne associée à chaque fréquence il faut faire une analyse fréquentielle  ( comme l'a dit Nebelmann ). Si tu te content de lire les octets de ton fichier tu vas trouver que des notes à la suite et pas des valeurs en DB pour certaines fréquences. En gros je dirais qu'il faut un autre programme pour réaliser l'analyse fréquentielle, ce programme devrait te retourner toutes les valeurs qui t'intéressent. Après pour trouver le programme qui va bien ... ou alors tu le fais à la main ;-)

PS : pour l'analyse fréquentielle je crois que c'est avec M. Fourrier qu'il faut voir ça
Journalisée
Perfect Slayer

Profil challenge

Classement : 3031/55017

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #13 le: 10 Septembre 2006 à 19:31:22 »

Ah zut.. C'est ennuyeux ca.. En plus les décompositions en suites de Fourrier sont au programme cette année. C'est dommage que je l'ai pas vu avant. Sinon il faut que je prenne des sources qui font déjà ca.. M'enfin au moins je comprends pourquoi je n'avançais plus. Je regarderai dans la semaine si je peux trouver ce genre de code ou même les algorythmes.
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
neoflo
Profil challenge

Classement : 8163/55017

Membre Complet
***
Hors ligne Hors ligne
Messages: 171


Voir le profil WWW
« #14 le: 10 Septembre 2006 à 19:51:08 »

Ce n'est pas les suites de Fourier. C'est un passage dans l'espace des fonctions de Fourier avec utilisation des transformées de Fourier discrète (qui est différent des séries de Fourier).

Il y a des algorithmes de base très simple d'implémentation mais peu rapide (O(n²)). Il vaut mieux utiliser les algorithmes du type FFT = Fast Fourier Transform (O(n ln n))

En langage C, je sais qu'il y a la bibliothèque FFTW pour calculer des transformées de fourier discrète à 1 (par exemple pr de la musique) ou plusieurs dimensions (par exemple 2 pour des images).

Lorsque tu as passé ton signal dans l'espace de Fourier. Tu peux voir tout de suite les fréquences utilisées et facilement calculer les pourcentages.
Journalisée

Pages: [1] 2 3
  Imprimer  
 
Aller à: