在MATLAB中对FFT的WAV文件进行文件夹遍历

时间:2014-05-08 08:41:27

标签: matlab fft

我有一个包含大约500个WAV文件的文件夹,作为数据库的一部分。

现在,我想逐个遍历文件夹内容,并在MATLAB中对每个文件应用FFT。

到目前为止,这是我的代码:

Files=dir('Path\to\file\*.wav');
for k=1:length(Files)
   FileNames = System.IO.Path.GetFullPath(Files(k).name)
   y = abs(fft(wavread(FileNames)))
end

然而,这在y中没有给我任何价值。我有什么地方出错吗?

请注意,我正在获取每个文件的完整路径名,但将其传递给FFT函数却没有给我任何结果。

1 个答案:

答案 0 :(得分:2)

System.IO.Path.GetFullPath为您提供了来自matlab的当前路径,因此Files(k).name可以在错误的位置连接。

一种方法:

local='C:\Users\Eder\Downloads\';
filetype='*.wav';
pathsearch = [local filetype];
Files=dir(pathsearch);
for k=1:length(Files)
   FileNames = [local Files(k).name]
   y = abs(fft(wavread(FileNames)))
end