gpt4 book ai didi

MATLAB - 绘制 .wav 文件的时频图

转载 作者:太空宇宙 更新时间:2023-11-03 19:33:40 31 4
gpt4 key购买 nike

我正在从事一个项目,该项目涉及使用波形文件查看音高/频率随时间的变化(我是 MATLAB 的新手,但不是编程人员)。我能够看到时间-振幅图和频率-振幅(在 FFT 之后)图,但我如何能够隔离频率并在每个时间点显示它?

代码:

filename = '/Users/Username/Sample_1.wav'

[y, fs] = wavread(filename);
y = y(:,1);
dt = 1/fs;
t = 0:dt:(length(y)*dt)-dt;
plot(t,y); xlabel('Seconds'); ylabel('Amplitude');

transformed = fft(y);
mag = abs(transformed);
plot(mag);

最佳答案

如果您有信号处理工具箱,那么您可能会找到 spectrogram功能有用。

如果您不这样做,那么您可以通过计算时域数据的连续(可能重叠)窗口段的 FFT,然后绘制振幅来手动实现相同的效果。

这本质上是 short-time Fourier transform (STFT)。

关于MATLAB - 绘制 .wav 文件的时频图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14329017/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com