基于hmm的数字语音识别_matlab版


提供一个matlab版本的基于hmm的数字语音识别程序,经过调试,有注释; 并且提供一个有40人的数字语音语料库; 很实用。
资源截图
代码片段和文件信息
function hmm = baum(hmm samples)
%samples是特征参数:帧数*维数
mix  = hmm.mix; %高斯混合
N    = length(mix); %HMM状态数
SIZE = size(samples2); %参数阶数
% 计算前向 后向概率矩阵 考虑多观察序列和下溢问题
disp(‘计算样本参数...‘);
param= getparam(hmm samples);

% 重估转移概率矩阵A: trans
disp(‘重估转移概率矩阵A...‘)
for i = 1:N-1
denom = 0;
tmp   = param.ksai(:i:);
denom = denom + sum(tmp(:));
for j = i:i+1
nom = 0;
tmp = param.ksai(:ij);
nom = nom   + sum(tmp(:));
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); 
denom   = 0;
T = size(samples1);
for t = 1:T
x = samples(t:);
nommean = nommean + param.gama(tlj) * x;
nomvar  = nomvar  + param.gama(tlj) * (x-mix(l).mean(j:)).^2;
denom   = denom   + param.gama(tlj);
end
hmm.mix(l).mean(j:) = nommean / denom;
hmm.mix(l).var (j:) = nomvar  / denom;

% 计算各pdf的权
nom   = 0;
denom = 0;
tmp = param.gama(:lj);    nom   = nom   + sum(tmp(:));
tmp = param.gama(:l:);    denom = denom + sum(tmp(:));
hmm.mix(l).weight(j) = nom/denom;
end
%fprintf(‘
‘)
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1292  2014-04-17 10:05  NumRec_1aum.m

     文件       2001  2014-04-09 22:13  NumRec_1getparam.m

     文件       1342  2014-05-13 16:03  NumRec_1inithmm.m

     文件       2318  2014-04-10 16:39  NumRec_1main.m

     文件       3482  2007-03-12 17:03  NumRec_1melbankm.m

     文件       1109  2014-02-27 10:59  NumRec_1mfcc.m

     文件        357  2001-11-11 10:28  NumRec_1mixture.m

     文件         94  2012-08-05 09:38  NumRec_1multimidfilter.m

     文件      14764  2014-03-31 10:54  NumRec_1
ormal_waveFile10001-0a.wav

     文件      16312  2014-03-31 10:54  NumRec_1
ormal_waveFile10001-0b.wav

     文件      19506  2014-04-11 08:57  NumRec_1
ormal_waveFile10002-0a.wav

     文件      20642  2014-04-11 08:57  NumRec_1
ormal_waveFile10002-0b.wav

     文件      12608  2014-04-11 14:12  NumRec_1
ormal_waveFile10003-0a.wav

     文件      10492  2014-04-11 14:12  NumRec_1
ormal_waveFile10003-0b.wav

     文件      11354  2014-04-14 12:26  NumRec_1
ormal_waveFile10004-0a.wav

     文件      11150  2014-04-14 12:26  NumRec_1
ormal_waveFile10004-0b.wav

     文件      15128  2014-04-14 12:33  NumRec_1
ormal_waveFile10005-0a.wav

     文件      15824  2014-04-14 12:33  NumRec_1
ormal_waveFile10005-0b.wav

     文件      12328  2014-04-14 13:03  NumRec_1
ormal_waveFile10006-0a.wav

     文件      13532  2014-04-14 13:03  NumRec_1
ormal_waveFile10006-0b.wav

     文件       9718  2014-04-14 13:21  NumRec_1
ormal_waveFile10007-0a.wav

     文件      11828  2014-04-14 13:21  NumRec_1
ormal_waveFile10007-0b.wav

     文件      15214  2014-04-14 13:25  NumRec_1
ormal_waveFile10008-0a.wav

     文件      14410  2014-04-14 13:25  NumRec_1
ormal_waveFile10008-0b.wav

     文件      16216  2014-04-14 13:36  NumRec_1
ormal_waveFile10009-0a.wav

     文件      17134  2014-04-14 13:36  NumRec_1
ormal_waveFile10009-0b.wav

     文件      13858  2014-04-14 14:31  NumRec_1
ormal_waveFile10010-0a.wav

     文件      11840  2014-04-14 14:31  NumRec_1
ormal_waveFile10010-0b.wav

     文件      11730  2014-04-14 14:34  NumRec_1
ormal_waveFile10011-0a.wav

     文件      12568  2014-04-14 14:34  NumRec_1
ormal_waveFile10011-0b.wav

............此处省略818个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)