how to change this code to plot the frequency response of the desired interval?

1 次查看(过去 30 天)
Hi! I am using the R2021b Matlab and I need this code to plot the frequency response of the audio in the specified time interval. Could anyone help me please?
The code is displayed below:
recObj = audiorecorder;
Fs=8000;
filename = sprintf('myAudioData.wav');
disp('Start speaking.')
recordblocking(recObj, 10);
disp('End of Recording.');
doubleArray = getaudiodata(recObj);
audiowrite(filename,doubleArray,Fs);
[x,Fs] = audioread('myAudioData.wav');
ts = 1 / Fs;
n = round(0.02 / ts);
nexttile
t1 = 1.000;
t2 = 1.020;
% start and end index in audio data of segment of interest
idx1 = round(t1/ts);
idx2 = round(t2/ts);
% plot it!
plot(x(idx1:idx2)); % plot 1st 20 ms of audio file
nexttile
t3 = 3.000;
t4 = 3.020;
% start and end index in audio data of segment of interest
idx3 = round(t3/ts);
idx4 = round(t4/ts);
% plot it!
plot(x(idx3:idx4));

采纳的回答

Star Strider
Star Strider 2022-3-23
That depends on what you want as the result.
Two possibilities are fft and pspectrum with the 'spectrogram' option.
  7 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Measurements and Spatial Audio 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by