资源简介
提供一个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(‘\n‘)
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1292 2014-04-17 10:05 NumRec_1\baum.m
文件 2001 2014-04-09 22:13 NumRec_1\getparam.m
文件 1342 2014-05-13 16:03 NumRec_1\inithmm.m
文件 2318 2014-04-10 16:39 NumRec_1\main.m
文件 3482 2007-03-12 17:03 NumRec_1\melbankm.m
文件 1109 2014-02-27 10:59 NumRec_1\mfcc.m
文件 357 2001-11-11 10:28 NumRec_1\mixture.m
文件 94 2012-08-05 09:38 NumRec_1\multimidfilter.m
文件 14764 2014-03-31 10:54 NumRec_1\normal_waveFile\0\10001-0a.wav
文件 16312 2014-03-31 10:54 NumRec_1\normal_waveFile\0\10001-0b.wav
文件 19506 2014-04-11 08:57 NumRec_1\normal_waveFile\0\10002-0a.wav
文件 20642 2014-04-11 08:57 NumRec_1\normal_waveFile\0\10002-0b.wav
文件 12608 2014-04-11 14:12 NumRec_1\normal_waveFile\0\10003-0a.wav
文件 10492 2014-04-11 14:12 NumRec_1\normal_waveFile\0\10003-0b.wav
文件 11354 2014-04-14 12:26 NumRec_1\normal_waveFile\0\10004-0a.wav
文件 11150 2014-04-14 12:26 NumRec_1\normal_waveFile\0\10004-0b.wav
文件 15128 2014-04-14 12:33 NumRec_1\normal_waveFile\0\10005-0a.wav
文件 15824 2014-04-14 12:33 NumRec_1\normal_waveFile\0\10005-0b.wav
文件 12328 2014-04-14 13:03 NumRec_1\normal_waveFile\0\10006-0a.wav
文件 13532 2014-04-14 13:03 NumRec_1\normal_waveFile\0\10006-0b.wav
文件 9718 2014-04-14 13:21 NumRec_1\normal_waveFile\0\10007-0a.wav
文件 11828 2014-04-14 13:21 NumRec_1\normal_waveFile\0\10007-0b.wav
文件 15214 2014-04-14 13:25 NumRec_1\normal_waveFile\0\10008-0a.wav
文件 14410 2014-04-14 13:25 NumRec_1\normal_waveFile\0\10008-0b.wav
文件 16216 2014-04-14 13:36 NumRec_1\normal_waveFile\0\10009-0a.wav
文件 17134 2014-04-14 13:36 NumRec_1\normal_waveFile\0\10009-0b.wav
文件 13858 2014-04-14 14:31 NumRec_1\normal_waveFile\0\10010-0a.wav
文件 11840 2014-04-14 14:31 NumRec_1\normal_waveFile\0\10010-0b.wav
文件 11730 2014-04-14 14:34 NumRec_1\normal_waveFile\0\10011-0a.wav
文件 12568 2014-04-14 14:34 NumRec_1\normal_waveFile\0\10011-0b.wav
............此处省略818个文件信息
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论