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
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
A voir également:

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
3
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
1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
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.
-2
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
-2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
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.
-2
Bonjour,

N'oublie pas de pondérer -par du hanning par exemple- ton signal temporel avant de lancer la fft.
0
svp aidez moi j'ai afficher mon spectre du signal mais comment Réalisez le calcul de ce spectre?!!!
0