MATLAB FFT ANALYSE DU SON
Fermé
sophiep
Messages postés
1
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
15 octobre 2005
-
15 oct. 2005 à 20:03
nabila09 - 4 août 2010 à 17:56
nabila09 - 4 août 2010 à 17:56
Salut les professionnels de la programmation et de matlab,
j'ai une petite question. Voila, j'ai enregistré du son (en laboratoire) avec le logiciel adobe audition, avec une fréquence d'échantillonnage de 44100Hz, et cet échantillon dure 20 seconde.
Je voudrais analyser les différentes fréquences de cet échantillon, il faut donc que je trace l'amplitude en fonction de la fréquence, et donc utiliser la fft. Mais je ne sais comment programmer cela sur matlab.
quelqu'un aurait il une solution ?
Merci à tous
j'ai une petite question. Voila, j'ai enregistré du son (en laboratoire) avec le logiciel adobe audition, avec une fréquence d'échantillonnage de 44100Hz, et cet échantillon dure 20 seconde.
Je voudrais analyser les différentes fréquences de cet échantillon, il faut donc que je trace l'amplitude en fonction de la fréquence, et donc utiliser la fft. Mais je ne sais comment programmer cela sur matlab.
quelqu'un aurait il une solution ?
Merci à tous
A voir également:
- MATLAB FFT ANALYSE DU SON
- Analyse disque dur - Télécharger - Informations & Diagnostic
- Analyse performance pc - Guide
- Analyse composant pc - Guide
- Analyse batterie pc - Guide
- Tester des composants de PC : les meilleurs outils gratuits - Guide
5 réponses
Salut sophie,
comme tu le sais surement un son de 44Khz pese extremement lourd, si tu veux faire une FFT sous matlab pour un son 44Khz de 20 Sec je te conseille de le lancer le matin tres tot, et de revenir a peu pres 1 heure plutard voir plus (FFT = operation couteuse en temps et en ressource). Non serieusement, decoupe ton son en plusieurs morceau ca sera plus gerable.
Sinon la fonction s est
fft(signal,Npoint)
Npoint = nombre de point que tu souhaite
comme tu le sais surement un son de 44Khz pese extremement lourd, si tu veux faire une FFT sous matlab pour un son 44Khz de 20 Sec je te conseille de le lancer le matin tres tot, et de revenir a peu pres 1 heure plutard voir plus (FFT = operation couteuse en temps et en ressource). Non serieusement, decoupe ton son en plusieurs morceau ca sera plus gerable.
Sinon la fonction s est
fft(signal,Npoint)
Npoint = nombre de point que tu souhaite
Bonjour ,
Il existe une fonction 'fft' dans Matlab permettant de réaliser cela , fais help fft pour plus de précisions. La fonction 'fft' utilise un vecteur de valeurs (ton signal sonore). Le problème va être et ca ne je sais pas t'aider de rapatrier les données sous Matlab. La meilleure solution reste de sauver ton fichier sous l'extension 'wav' qui est lisible par matlab !
Voici la fonction : [Y,FS,NBITS]=WAVREAD(FILE)
tu dois donc juste spécifier le path et le nom du fichier.
Bien à toi ,
Gatien
Il existe une fonction 'fft' dans Matlab permettant de réaliser cela , fais help fft pour plus de précisions. La fonction 'fft' utilise un vecteur de valeurs (ton signal sonore). Le problème va être et ca ne je sais pas t'aider de rapatrier les données sous Matlab. La meilleure solution reste de sauver ton fichier sous l'extension 'wav' qui est lisible par matlab !
Voici la fonction : [Y,FS,NBITS]=WAVREAD(FILE)
tu dois donc juste spécifier le path et le nom du fichier.
Bien à toi ,
Gatien
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
26 oct. 2005 à 23:41
26 oct. 2005 à 23:41
Je pense pas que ça soit si long, du peut que j'ai fait, j'ai pas eu de problème.
Les fft sont rapide compte tenu de la tache à effectuer.
et si mes souvenir sont bon, il me semble justement que Npoint permet de réduire le nombre de point, et donc le temps de calcul.
après ça dépend de la résolution souhaité.
Il existe aussi une "libtool" matlab permettant de faire des images temps fréquence.C'est a dire que tu as l'échantillonage de fréquance tout au long du temps. Selon l'info rechercher ça peut être intéressant.
Bonne chance.
Les fft sont rapide compte tenu de la tache à effectuer.
et si mes souvenir sont bon, il me semble justement que Npoint permet de réduire le nombre de point, et donc le temps de calcul.
après ça dépend de la résolution souhaité.
Il existe aussi une "libtool" matlab permettant de faire des images temps fréquence.C'est a dire que tu as l'échantillonage de fréquance tout au long du temps. Selon l'info rechercher ça peut être intéressant.
Bonne chance.
Bonjour,
je me greffe dans ce sujet pour poser une question... Comment ponderer chaque gamme de fréquence (par exemple par tiers d'octave) une fois cette fft effectuée ? en fait, ce que je voudrais faire, c'est de reproduire ce qu'entend réellement l'oreille humaine, ce qui dépend de la fréquence entendue...
merci d'avance
je me greffe dans ce sujet pour poser une question... Comment ponderer chaque gamme de fréquence (par exemple par tiers d'octave) une fois cette fft effectuée ? en fait, ce que je voudrais faire, c'est de reproduire ce qu'entend réellement l'oreille humaine, ce qui dépend de la fréquence entendue...
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
1 avril 2008 à 08:46
1 avril 2008 à 08:46
Salut.
Tu veux faire un filtre en fait.
l'oreille humaine a une sensibilité dépendante de la fréquence. Supposons que tu ais cette fonction sens(F) comprise entre 0 et 1, 1 dans les fréquences les mieux perçues (autour 1kHz, je crois) jusqu'à 0 pour les fréquence inférieur à 50 Hz et supérieur à 20kHz. il suffit alors de multiplier chaque valeur du spectre par cette valeur, et tu aura le spectre perçu par un homme.
Tu veux faire un filtre en fait.
l'oreille humaine a une sensibilité dépendante de la fréquence. Supposons que tu ais cette fonction sens(F) comprise entre 0 et 1, 1 dans les fréquences les mieux perçues (autour 1kHz, je crois) jusqu'à 0 pour les fréquence inférieur à 50 Hz et supérieur à 20kHz. il suffit alors de multiplier chaque valeur du spectre par cette valeur, et tu aura le spectre perçu par un homme.