MATLAB: How to see live plot of the voice

real time audio

hello I want to see live plot of my voice but i cant figure how to do it , I wachted real time audio topics but still cant figure how to do it .
this is my code :
clc;
clear all;
close all;
recorder = audiorecorder( 96000 ,24,1)
disp('Start speaking.')
recordblocking(recorder, 3);
disp('End of Recording.');
a=play(recorder)
myRecording = getaudiodata(recorder);
subplot(2,1,1)
title('regular plot')
plot(myRecording);
subplot(2,1,2)
title('FFT plot')
plot(1:1:288000,fft(myRecording));
but this code is not 'real time ' meaning that in this code i record my voice and then can only see the plot of my voice .

Best Answer

As the name suggests, the recordblocking method will block the execution of the rest of the script until the recording finishes. If you don't want it to block, you can use the record method instead. Here is an example script that will plot 10 seconds of audio data in real time.
recorder = audiorecorder(96000, 24, 1);
disp('Start speaking.')
recorder.record(10);
while recorder.isrecording()
pause(0.1);
plot(recorder.getaudiodata());
drawnow();
end
disp('End of Recording.');
Related Question