HELP Please for coding

Signaler
Messages postés
3
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
20 août 2007
-
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
-
J'ai commencé a faire un player de musique en masm...



J'y ai intégré:
un tracker pour le volume
un tableau indiquant l'état de mon player
Un playlist
La fonction transparent, play, stop, pause.
Visualisateur de .avi .mpeg .mov etc...
capable de lire les .mp2 .mp1 .mid .wav .mp3 .rmi .wma .au .snd .avi .mpeg .mov .aiff .aifc
un tracker pour indiquer la position dans la chanson



Je ne suis pas capable de faire:



- de lire les formats (modules) xm, mod, s3m, 669 etc...
- de lire les formats .ogg .iff .xac .voc .smp .mat .txt .flac
- Un equalizer ( comment faire pour que celui-ci voit la différence entre 20 hz et 16 khz )
( J'avais pensé a une facon en analysant les ondes et les différenciant par le sin et cosin des ondes... mais cétait trop difficile. )
- Une option drag and drop ( presque réussi )



Ce que je demande c'est de l'aide, des tutoriaux, des exemples ou des commentaires afin de résoudre mes problèmes.

Merci
__________
JM-DG ( wiouiwioui )

1 réponse

Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
3
Bonjour wiouiwioui,

Une piste pour ta fonction d'équalizer:


Son but est de modifier les contributions des différentes bandes de fréquence. Pour celà il te faut connaitre le spectre fréquentiel de ton son. Si tu as un format de fichier de type temporel (ex .wav) il te faut:


- faire l'analyse de fréquence de la portion de ton signal à traiter (par transformée de Fourier rapide - voir ma source http://www.asmfr.com/ajoutcode.aspx?step=1&ID=35923
- multiplier le spectre obtenu par la courbe de réponse de ton equalizer
- effectuer la transformation de fourier inverse pour retrouver le signal à jouer

Pour info, je suis sur un programme de musique qui effectue les opérations suivantes:
- lecture d'un fichier codant des notes de musique et leur durée
- pour chaque note, recherche de la fréquence fondamentale (tableau)
- création d'un spectre de fréquence comprenant la fréquence fondamentale et des harmoniques pour un timbre donné
- transformée de Fourier inverse pour avoir une fenêtre d'un signal temporel
- ce signal est multiplié par une courbe d'enveloppe pour avoir une sonorité plus proche d'un instrument réel


Je ne me suis pas penché sur les autres formats des fichiers sons mais je pense que certains sont codés en fréquence et dans ce cas le trantement de la fonction equalizer peut être plus simple.


A+