bonjour ,
j'aimerais savoir comment faire la transformée de Fourier sur les données brut d'un fichier .wav afin d'obtenir sa représentation graphique (amplitude /temps)
merci
bonjour ,
j'aimerais savoir comment faire la transformée de Fourier sur les données brut d'un fichier .wav afin d'obtenir sa représentation graphique (amplitude /temps)
merci
Si tu veux une représentation amplitude/temps, tu n'as pas besoin d'une FFT, car c'est comme cela que le signal est stocké, dans les fichiers wave. Chacun des canaux de ton fichier WAV contient des valeurs (généralement des nombres signés sur 16 bits) qui donnent l'amplitude en fonction du temps. Si tu en dessines la graphe, tu vas voir apparaitre des courbes qui oscillent, c'est ton graphe amplitude/temps.
La FFT te permet d'estimer le spectre du signal, c'est à dire la répartition des fréquences. La FFT ne donne pas une courbe en fonction du temps mais de la fréquence (mais tu peux bien sur effectuer ce calcul sur un petit morceau de ton signal).
Pour la FFT, il te faut charger les données dans un tableau (généralement de nombres complexes, comme ton signal est réel, cela veut dire que tu vas mettre les parties imaginaires de tes nombres à zéro), et appliquer à ce tableau un algorithme qui calcule la FFT. Presque tous les livres consacrés au algorithmes mathématiques contiennent du code à cette fin.
Francois
Dernière modification par Invité ; 25/05/2009 à 12h38.
Pourtant d'après le site http://tuxy2885.free.fr/index.php?ca...al&id=riffwave "L'interprétation des données brutes d'un son WAVE peut être effectuée grâce à une transformation de Fourier (rapide). Cette transformation permet notamment d'obtenir une représentation graphique du son (fréquence et/ou amplitude en fonction du temps) à partir des données brutes. "
Lorsque je met la valeur des octets de mon fichier WAVE dans un performancegraph je n'obtient pas l'amplitude en fonction de la fréquence est-ce normal ?? Qui a raison le site ,vous ou les deux et je 'ai rien compris ??
Merci de votre réponse
Les données d'un WAV contiennent (par définition), l'amplitude en fonction du temps. Si tu les mets dans un performance graph, tu as les amplitudes du signal en fonction du temps.
La FFT donne la répartition des fréquences (il n'est pas tout à fait correct de parler d'amplitude, là, les coefficients de la série de fréquence étant des nombres complexes, donc ayant un module et une phase). Si tu les mets dans un performance graph (par exemple le module du complexe) tu vas avoir quelque chose qui représente "le poids" de chaque fréquence dans le signal (sans indication de temps, ou plutôt pour toute la plage temporelle que tu as utilisée pour le calcul de ta FFT).
Francois
ok ,donc la FFT ne me sert à rien si je veux l'amplitude en fonction du temps il me suffit juste de lire les octets !!! c'est ça ??
Oui c'est bien ça![]()
Tester c'est douter, corriger c'est abdiquer.
Tu as tout compris la FFT sert a avoir une representation fréquentiel de ton signal, ce qui est tres interressant quand on veut le traiter. Aprs si tu veux juste l'amplitude en fonction du temps comme dis plus haut tu as rien a faire... Je pense que ça c'est la bonne nouvelle pour toi.![]()
Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
N'hésitez pas à me contacter par MP.
effectivement c'est une bonne nouvelle
merci beaucoup
problème résolu
bonjour,
s'il vous plait est ce que quelqu'un peut m'aider à calculer la fft d'un signal wave en matlab.
le problème que j'ai exécuté la commande suivante
y=fft(wavred(monfichier.wav))
j'ai trouvé que le résultat de la commande est sur un fichier énorme 400 MO!!
comment je peux modifier mes paramètres pour obtenir un taille moindre et comment je peux modifier les paramètres de sortie(car chaque ligne comporte seulement 2 valeurs)?
aidez moi s'il vous plait
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager