cant get an accurate fft of live audio signal

2 views (last 30 days)
hello I want to get a live fft of my live audio signal. this my code , how ever my fft is wrong . could some one explain my why ?
clc;
clear all;
close all;
recorder = audiorecorder(96000, 24, 1);
disp('Start speaking.')
recorder.record(5);
while recorder.isrecording()
pause(0.1);
subplot(2,1,1);
plot(recorder.getaudiodata());
title('live recording of sound(t)')
y=getaudiodata(recorder);
fft_getaudio=fft(y,length(y));
subplot(2,1,2);
plot(linspace(0,5,length(y)),fft_getaudio);
title('live recording of fft (sound(t))')
drawnow();
end
disp('End of Recording.');
  2 Comments
Aquatris
Aquatris on 30 Jul 2018
Check the documentation of fft function and modify their example. There are a lot of things that are wrong in your implementation.
tomer polsky
tomer polsky on 31 Jul 2018
I read the fft help and tried what is written and I wote this code :
y=getaudiodata(recorder);
fft_getaudio=fft(recorder.getaudiodata());
n=1:length(fft_getaudio);
subplot(2,1,2);
plot((fft_getaudio),2.^nextpow2(n));
title('live recording of fft (sound(t))')
how ever I still get wrong plot of the fft ,any ideas ?

Sign in to comment.

Answers (0)

Categories

Find more on Signal Generation and Preprocessing in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!