How it works ============ I have included a How It Works section because none of the other open source tuners that I have looked at give any explanation of the algorithms used. This tuner uses an overlapped Fast Fourier Transform together with the phase difference between sequential runs of the FFT to measure the actual frequency accurately. It appears to be about as accurate as the clock in the sound card.
[fan,fs,bits] = wavread('fan.wav'); %plot(fan); fft_length = 4000; start = 20000; for i = start:fft_length:length(fan) fan_s = fan(i:i+fft_length-1); fan_f = abs(fft(fan_s)); fan_f_s = fan_f(1:200); plot(1:length(fan_f_s),fan_f_s); %x = xcorr(fan_s); %plot(x(fft_length:(fft_length)+300)); pause; end