IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

FFT avec le signal d'un fichier WAVE


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 129
    Par défaut FFT avec le signal d'un fichier WAVE
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rominous41 Voir le message
    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.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 129
    Par défaut
    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

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rominous41 Voir le message
    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

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 129
    Par défaut
    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 ??

  6. #6
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Oui c'est bien ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation FFT - Power Spectrum sur un fichier WAVE
    Par lekev62 dans le forum LabVIEW
    Réponses: 5
    Dernier message: 07/04/2014, 22h11
  2. Decoder fichier wave et FFT
    Par mat1554 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 29/04/2013, 16h05
  3. Réponses: 4
    Dernier message: 06/05/2011, 09h41
  4. Fichier Wave avec nombre de bits par échantillon=16
    Par airefrais dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2009, 23h51
  5. Réponses: 22
    Dernier message: 29/01/2005, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo