Traitement d'un fichier.wav

Fermé
swiso Messages postés 58 Date d'inscription samedi 13 avril 2013 Statut Membre Dernière intervention 4 juin 2014 - 28 avril 2013 à 14:25
swiso Messages postés 58 Date d'inscription samedi 13 avril 2013 Statut Membre Dernière intervention 4 juin 2014 - 28 avril 2013 à 14:48
Bonjour =) !
je suis débutant en Matlab et j'essaie de faire un petit programme qui affiche l'audiogramme et calcul la FFT d'un .wav ainsi que l'affichage de son spectrogramme mais j'ai des problèmes lors de l'exécution je sais pas prkoi ????
merci pr votre aide =)

1 réponse

swiso Messages postés 58 Date d'inscription samedi 13 avril 2013 Statut Membre Dernière intervention 4 juin 2014
28 avril 2013 à 14:48
function analyse(file)
[y, fs] = wavread('da.wav');
subplot(3,1,1), plot(y)
title('Laudiogramme de file')



N= 4096;%4096 % 2^12
d = fft(y(1:N))/4096;
p = 2*abs( d(2:N/2));
f = (1:N/2-1)*fs/4096;
subplot(3,1,2)


semilogy(f,p)
axis([0 4000 10^-4 1])
title('la FFT de file' ) % il m'affiche la fenêtre de FFT vide


subplot(3,1,3)
specgram(y,512,fs)
colorbar
title('le spectrogramme file')
end


%***********************************************************************************%


function [f0] = det_pitch(file,c, fs)
[y,fs]=wavread('bi.wav');

c = spCepstrum(y, fs,'hamming'); % il me donne une erreur dans cette ligne
ms2=floor(fs*0.002); % 2ms
ms20=floor(fs*0.02); % 20ms
[maxi,idx]=max(abs(c(ms2:ms20)));
f0 = fs/(ms2+idx-1);
end
0