francois:fft_sur_un_fichier_pcm
Faire une FFT sur fichier Audio
http://www.unilim.fr/pages_perso/jean.debord/math/fourier/fft.htm
Génération de “.wav” sinus
http://www.audiocheck.net/audiofrequencysignalgenerator_sinetone.php
- fft_pcm.sce
//Composantes fréquentielles d'un signal //---------------------------------- // Construction d'un signal bruité échantilloné à 1000hz // contenant deux fréquences pures à 50 et 70 Hz. sample_rate=48000; file_path = "/home/francois/develop/calcul/scilab/audio" file_name = "sin_1000Hz_-3dBFS_3s.wav" afd = mopen(file_path + "/" + file_name, "rb") data = [] // Positionning of the seek pointer to the start of wave mseek(44, afd) while ~meof(afd) data = [data, mget(10,'s',afd)] end mclose(afd) hsize=max(data) data = data / (2^15) N=size(data,'*'); //nombre d'échantillons y=fft(data, -1); DSP=10*log10((1/N*abs(y))^2); //y est symétrique, on ne garde que N/2 points f=sample_rate*(0:(N/2))/N; //vecteur de fréquences associé n=size(f,'*') clf() plot(f,DSP(1:n))
francois/fft_sur_un_fichier_pcm.txt · Dernière modification : de francois
