1

我正在尝试从声音文件中提取信息,以便在我正在研究的视频分类算法中使用它。

我的问题是我不知道如何在 Matlab 中准确处理音频文件。

以下是我需要完成的:

  • 打开音频文件并获取采样率/频率
  • 我需要在 2 秒的窗口上工作,所以我必须循环文件并每隔 2 秒作为一个窗口,然后在每个窗口上执行 ftt(快速傅立叶变换)。

之后轮到我使用这些价值观做我想做的事

任何帮助,将不胜感激

谢谢。

4

1 回答 1

3

以下代码可能只会给您一些想法。您可能需要确定另一个 fft 大小,一个窗口函数,如汉明等。

读取 wav 文件:

[data, Fs] = wavread('path.wav');

拆分为 2 秒窗口并获得 fft:

frameFFT = [];
timeStep = Fs*2;
for i=1:timeStep:length(data)-timeStep
   frameFFT = [frameFFT; fft(data(i:i+timeStep-1),1024)];
end
于 2013-04-23T19:45:35.970 回答