求大神解释一下matlab代码:

function hmm=train()
clear;
clc;
for i=1:10
for j=1:10
fname = sprintf('..\\train\\dgt%d\\dgt%d.wav', i-1,j-1);
samples{i}{j}=wavread(fname);
end
end

for i=1:length(samples)
sample=[];
for k=1:length(samples{i})
sample(k).wave=samples{i}{k};
sample(k).data=[];
end
str = sprintf('现在训练第%d个HMM模型', i);
disp(str);
hmm{i}=trainhmm(sample,[3 3 3 3]);
disp(['第' int2str(i) '个HMM模型训练完毕!']);
end
clear str i k j sample;
其中fname = sprintf('..\\train\\dgt%d\\dgt%d.wav', i-1,j-1);
samples{i}{j}=wavread(fname);是什么意思,这个“..\\train\\dgt%d\\dgt%d.wav'”代表什么,“samples{i}{j}”这个又是什么意思。。

wavread函数读取Microsoft的wav格式音频文件,返回值x是音频的数据向量
samples{i}{j}=wavread(fname);读取\\train\\dgt(i-1)\\dgt(j-1).wav
譬如i=5,j=4,那么samples{5}{4}为读取工作目录下\\train\\dgt4\\dgt3.wav
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-09
fname = sprintf('..\\train\\dgt%d\\dgt%d.wav', i-1,j-1); 是产生文件名字符串
wavread是一个matlab自带的函数,用来读取微软 .wav 音频文件
相似回答