资源简介
hmm文件时运用HMM算法实现噪声环境下语音识别的。其中vad.m是端点检测程序;mfcc.m是计算MFCC参数的程序;pdf.m函数是计算给定观察向量对该高斯概率密度函数的输出概率;mixture.m是计算观察向量对于某个HMM状态的输出概
代码片段和文件信息
function hmm = baum(hmm samples)
mix = hmm.mix; %高斯混合
N = length(mix); %HMM状态数
K = length(samples); %语音样本数
SIZE = size(samples(1).data2); %参数阶数
% 计算前向 后向概率矩阵 考虑多观察序列和下溢问题
disp(‘计算样本参数...‘);
for k = 1:K
fprintf(‘%d ‘k)
param(k) = getparam(hmm samples(k).data);
end
fprintf(‘\n‘)
% 重估转移概率矩阵A: trans
disp(‘重估转移概率矩阵A...‘)
for i = 1:N-1
denom = 0;
for k = 1:K
tmp = param(k).ksai(:i:);
denom = denom + sum(tmp(:));
end
for j = i:i+1
nom = 0;
for k = 1:K
tmp = param(k).ksai(:ij);
nom = nom + sum(tmp(:));
end
hmm.trans(ij) = nom / denom;
end
end
% 重估混合高斯的参数
disp(‘重估混合高斯的参数...‘)
for l = 1:N
for j = 1:hmm.M(l)
fprintf(‘%d%d ‘lj)
% 计算各pdf的均值和方差
nommean = zeros(1SIZE);
nomvar = zeros(1SIZE);
den
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1511 2001-11-12 14:17 hmm\baum.m
文件 1990 2002-02-28 11:05 hmm\getparam.m
文件 63856 2001-11-12 12:37 hmm\hmm.mat
文件 1266 2009-10-19 09:33 hmm\inithmm.asv
文件 1266 2009-10-19 09:41 hmm\inithmm.m
文件 165 2001-11-13 11:40 hmm\main.m
文件 859 2001-11-09 09:30 hmm\mfcc.m
文件 357 2001-11-11 10:28 hmm\mixture.m
文件 230 2001-11-10 21:48 hmm\pdf.m
文件 264 2009-10-19 08:52 hmm\recog.asv
文件 252 2009-10-18 17:25 hmm\recog.m
文件 630000 2001-11-12 12:38 hmm\samples.mat
文件 839 2001-11-13 10:12 hmm\train.m
文件 1860 2009-10-18 17:08 hmm\vad.m
文件 1026 2001-11-11 09:21 hmm\viterbi.m
目录 0 2010-09-15 10:19 hmm
----------- --------- ---------- ----- ----
705741 16
评论
共有 条评论