help26
Messages postés13Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention16 mai 2011
-
23 mai 2010 à 10:41
LukorNemuse
Messages postés4Date d'inscriptionmardi 25 mai 2010StatutMembreDernière intervention21 juin 2010
-
25 mai 2010 à 17:30
salut, j'ai un projet a realiser sous matlab, j'ai enregistré par ma voix des parole en extension .wav et je sais pas comment ouvrir ou lir ce fichier wav sous matlab ? j'ai en plus de ça de visualiser son signal et tracer son spectre aidez moi svp c'est urgent
merci d'avance
LukorNemuse
Messages postés4Date d'inscriptionmardi 25 mai 2010StatutMembreDernière intervention21 juin 20101 25 mai 2010 à 17:30
Hello,
rien de sorcier...
*Commencer par importer le fichier wav, c-à-d le transformer en matrice:
son= wavread('fichier_son.wav');
*Pour afficher le signal, axe des x gradué en échantillons:
plot(son);
*Pour afficher le signal, axe des x gradué en secondes
figure; %nouveau graphique[b][i]
temps =(0:(length(son)-1))/Fs;/b/i %remplacer Fs par la fréquence d'échantillonnage en Hz, p. ex 44100.
plot(temps,son); Pour plus d'options d'affichage, taper help plot
*Pour éouter le son directement le son sous Matlab, en partant du principe qu'il est échantillonné à 44.1kHz
wavplay(son,44100);
*pour écouter le son au ralenti, par exemple 8 fois moins vite :
wavplay(son,44100/8);
*pour afficher le spectre :
[b][i]L=length(son);
Fs=44100;
Y=fft(son,2^nextpow2(L))/L;
freq=Fs/2*linspace(0,1,2^nextpow2(L)/2);
figure; plot(f,2*abs(Y(1:((2^nextpow2(L))/2))));
/b/iOn met un titre :[b][i]
title('Spectre');/b/i et une légende à l'axe des abcisses [b][i]
xlabel('Fréquence (Hz)'); /b/i
*Pour enregister un son directement depuis Matlab
son=wavrecord(8*44100,44100,2,'double); ici, on lance un enregistrement pendant 8 secondes échantillonné à 44.1kHz sur 2 voies (stereo) en precision double
*Pour exporter un son du format matrice vers le format wav:
wavwrite(son,44100,16,'nom_du_fichier.wav');