在matlab中读取多个wav文件

时间:2013-06-03 22:35:42

标签: matlab audio-processing

我想在一个文件夹中逐个读取多个wav文件。我这样编写,但它给出了“无效的Wave文件。原因:无法打开文件。”错误。但是,当我将数字改为数字时,它就可以了。

for t=1:10
    myFile=['path\','t.wav'];
    [ speech, fs] = wavread( myFile);
end

2 个答案:

答案 0 :(得分:0)

您需要将变量t转换为字符串。您要求打开文件'path\t.wav',这可能不存在。由于变量t是一个整数,您可以使用int2str将其转换为字符串:

myFile = ['path\' int2str(t) '.wav'];

只有字符串可以与其他字符串连接。当然,如果您的文件少于10个,那么您将遇到另一个问题......

答案 1 :(得分:0)

你可以使用特殊的print f命令:sprintf();分配myFile这个字符串。

myFile = sprintf('path\%d.wav',t);

sprintf在MATLAB中工作,就像在C环境中一样。