www.pudn.com > hmm--matlab.rar > test.m


clear; 
x1=wavread('c1.wav'); 
%soundview('traffic69.wav'); 
x2=wavread('c2.wav'); 
x3=wavread('s1.wav'); 
x4=wavread('s2.wav'); 
x5=wavread('p1.wav'); 
x6=wavread('p2.wav'); 
 
x = {x1 x2}; 
y = {x3 x4}; 
z = {x5 x6}; 
 
samples={x y z}; 
 
 
    sample=[]; 
    for k=1:length(samples{3}) 
        sample(k).wave = samples{3}{k}; 
        sample(k).data=[]; 
    end 
     
K = length(sample); 
 
%计算语音参数 
disp('正在计算语音参数……') 
for k=1:K 
    if isfield(sample(k),'data')&~isempty(sample(k).data) 
        continue; 
    else 
        sample(k).data = mfcc(sample(k).wave);   
    end 
end 
 
hmm = inithmm(sample,[3,3,3]); 
 
loop =1; 
    fprintf('\n第%d遍训练\n\n',loop) 
    hmm = baum(hmm,sample); 
     
    %计算总输出概率 
    pout(loop) = 0; 
for k=1:K 
         
init = hmm.init; %初始概率 
trans = hmm.trans; %转移概率 
mix = hmm.mix;  %高阶混合 
N = hmm.N;  %HMM的状态数 
T = size(sample(k).data,1); %语音帧数 
 
 
 
 
end 
     
    fprintf('总和输出概率(log)=%d\n',pout(loop));