如何使用MATLAB将多个文件(.mat)保存到.wav中

时间:2014-04-01 10:03:21

标签: matlab signal-processing speech-recognition

我有一个包含100个文件的.mat文件。如何将100个文件逐个转换为.wav。 每个文件都包含vectors.I尝试使用此代码但我收到错误。

x=load('data_cropped.mat');
input_list = x;

for i = 1:length(input_list)

                fid = fopen(input_list(i).name);

                data = ' ';

                fopen(fid);


                wavwrite(data,16000,[input_list(i).name(1:length(input_list(i).name)-3),'wav']);

                clear data

错误是:

>> convert_to_wav
Reference to non-existent field 'name'.

Error in convert_to_wav (line 7)
                fid = fopen(input_list(i).name);

请帮帮我, 非常感谢

1 个答案:

答案 0 :(得分:0)

假设您知道音频的采样率,那么下面的代码段应该可以执行您想要的操作,并为您提供一系列编号的wav文件。

clear
load('data_cropped.mat');
data = whos;
fs = 44100 %change to your sample rate
for i = 1:length(data)
wavwrite(data(i).name,fs,num2str(i));
end