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

Signal Discussion :

Valeurs des fréquences en fonction du temps d'un fichier .wav


Sujet :

Signal

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut Valeurs des fréquences en fonction du temps d'un fichier .wav
    Bonjour,

    Je suis bloqué sur Matlab

    J'ai un signal audio .wav, j'ai besoin d'une fonction genre, tu as cette fréquence à t1 et t2 et... et cette fréquence à t1 et t3 et ..., j'ai besoin des valeurs de ces fréquences en fonction du temps

    J'ai cherché sur le forum, j'ai pas vraiment trouvé de solution

    Mon bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [xn,fs]=wavread('speech_dft.wav');
    Xn = fft(xn);


    J'ai besoin des valeurs des fréquences en fonction du temps

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour.
    peut-être :

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    j'ai mis Xn=specgram(xn);

    Xn est une matrice de 2 dimensions

    les valeurs c'est lampitude?

    et les indices?

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Il faut écrire : specgram(xn)

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    specgram(xn) m'affiche un graphe fréquence en fonction du temps, mais j'ai besoin des valeurs

  6. #6
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    specgram est un sonagramme en traitement de la parole.

    WIKI dit :
    Un sonagramme, ou sonogramme, est un mode de représentation en analyse spectrale.

    C'est l'image d'un signal dans une représentation fréquence-intensité, en fonction du temps. Le temps est porté en abscisse, la fréquence en ordonnée et l'intensité de chaque composante est représentée par la couleur, la noirceur ou l'épaisseur de la trace correspondante.
    Alors je te dis que c'est la solution à ton problème
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    oui mais moi j'ai besoin des valeur fre(temps) pour pouvoir faire du traitement sur ces valeurs

  8. #8
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    voyons, mais c'est très simple :

    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  9. #9
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    % Lecture du fichier son
        [x,fs]=wavread('voltage.wav');
     
    % Lecture du son sur les hauts parleurs
        wavplay(x,fs); 
     
    % Sonagramme 
        xft =specgram(x) ; % Fréquence en fonction du temps

    Au fait, on l'appelle Sonagramme ou bien Sonagraphe
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  10. #10
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    jai trouvé que la fonction qui affiche un sonogramme c'est specgram

    Elle fait que afficher, moi j'ai besoin des valeurs fre(temps)

  11. #11
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    , tu as essayé le code que je t'ai donné ?
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  12. #12
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    oui, xft c'est une matrice de deux dimensions, les valeurs c'est lamplitude? et les deux autres indices?

  13. #13
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Les colonnes représentent le domaine temporel et les lignes représentent les domaine fréquentiel
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  14. #14
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    oui mais j'ai pas bien compris, sur matlab les indices des lignes et des colonnes sont de 1 à une valeur, comment je pourrais avoir les valeurs?

  15. #15
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    J'ai pas bien compris . Tu veux bien expliquer d'avantage !
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  16. #16
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    tu aussi :

    "tfrqview" ou "tfrgabor"
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  17. #17
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    il faut effectivement faire un spectrogramme mais en ayant bien conscience d'une chose, cela ne donne pas 'vraiment' à un temps t donné (précis), tu as précisément telle fréquence.
    suivant ton choix tu auras plutôt une bonne résolution temporelle ou une bonne résolution fréquentielle ou un peu des deux :
    le principe a bien comprendre est simple, pour savoir le contenu fréquentiel pour un temps, tu effectues une fft avec un certain nombre de points (réso fréquentielle) sur une portion de signal correspondant à une période deltat d'intégration AUTOUR de ton temps t. ensuite ces périodes peuvent plus ou moins se recouvrir pour une meilleure réso temporelle (des temps 't' moins espacés).
    le dilemme est aussi que sur très peu de signal tu auras beaucoup d'effets de bords mais que si tu augmentes ta période d'intégration avec un signal dont le contenu spectral varie beaucoup le résultat en un temps donné sera une moyenne de ce qui l'entoure.
    si tu connais par avance les temps t1, t2, t3... qui t'intéressent tu peux le faire à la main.

  18. #18
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    sur matlab, par exemple je doit mettre xfs(1,1) pour me donner la 1ere valeur mais ca ne veut pas dire que frequence=1, temps=1, c'est quoi la valeur exacte du temps et de la fréquence?

  19. #19
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    cela dépend peut-être de ta version de Matlab mais
    [S,F,T] = SPECTROGRAM(...) returns a vector of frequencies F and a
    vector of times T at which the spectrogram is computed. F has length
    equal to the number of rows of S. T has length k (defined above) and
    its value corresponds to the center of each segment.

    [S,F,T] = SPECTROGRAM(X,WINDOW,NOVERLAP,F,Fs) where F is a vector of
    frequencies in Hz (with 2 or more elements) computes the spectrogram at
    those frequencies using the Goertzel algorithm. The specified
    frequencies in F are rounded to the nearest DFT bin commensurate with
    the signal's resolution.

    [S,F,T,P] = SPECTROGRAM(...) P is a matrix representing the Power
    Spectral Density (PSD) of each segment. For real signals, SPECTROGRAM
    returns the one-sided modified periodogram estimate of the PSD of each
    segment; for complex signals and in the case when a vector of
    frequencies is specified, it returns the two-sided PSD.
    les valeurs de f et t doivent se retrouver dans les vecteurs

  20. #20
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Ok, j'ai enfin capter ton souci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [xft Freq Time]=specgram(x);
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/04/2014, 08h33
  2. Dupliquer des lignes en fonction du temps
    Par JackiJack dans le forum Développement
    Réponses: 2
    Dernier message: 29/08/2012, 09h06
  3. Comment tracer des courbes en fonction du temps ?
    Par petitclem dans le forum Qwt
    Réponses: 1
    Dernier message: 28/11/2011, 17h07
  4. graph d'évolution des OID en fonction du temps
    Par sylber dans le forum Interfaces Graphiques en Java
    Réponses: 0
    Dernier message: 14/05/2010, 13h27
  5. Retrouver les valeurs des paramètres des fonctions d'une DLL
    Par Bernard Martineau dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 10h42

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