matlab调用wav文件并实时显示波形和频谱完整代码
时间: 2024-01-14 10:05:23 浏览: 283
通过matlab进行wav文件的处理和分析
5星 · 资源好评率100%
以下是一个示例代码,用于在MATLAB中调用.wav文件并实时显示波形和频谱:
```matlab
% 设置文件路径和名称
filename = 'your_file.wav';
% 读取音频文件
[y, Fs] = audioread(filename);
% 创建时间轴
t = (0:length(y)-1)/Fs;
% 创建图形窗口
figure;
% 显示波形
subplot(2,1,1);
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Waveform');
% 显示频谱
subplot(2,1,2);
N = length(y);
Y = abs(fftshift(fft(y)));
f = (-N/2:N/2-1)*(Fs/N);
plot(f, 20*log10(Y));
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
title('Spectrum');
% 实时更新图形
while true
% 读取音频文件
[y, Fs] = audioread(filename);
% 更新时间轴
t = (0:length(y)-1)/Fs;
% 更新波形图
subplot(2,1,1);
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Waveform');
% 更新频谱图
subplot(2,1,2);
N = length(y);
Y = abs(fftshift(fft(y)));
f = (-N/2:N/2-1)*(Fs/N);
plot(f, 20*log10(Y));
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
title('Spectrum');
% 刷新图形
drawnow;
end
```
请注意,该代码将以实时方式读取.wav文件并更新波形和频谱图。您可以将`filename`变量更改为您的.wav文件的路径和名称。
阅读全文