资源简介
提供一个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个文件信息
相关资源
- 彩色地图中道路信息的识别与提取m
- 数值方法MATLAB版 英文版 答案
- 先进PID控制及其MATLAB仿真(附带)
- 数字信号处理(MATLAB版)235940
- 多种PID控制算法-matlab 实现
- matlab粒子群算法PSO实现函数极值优化
-
matlab/simuli
nk mu 分析与综合工具箱使 - 数字通信中PLL同步实现的MATLAB仿真代
- 基于matlab的mimo-ofdm的信道估计
- matlab影像纠正及内外精度评定
- 生物信号和生物医学的图像处理以M
- Matlab棋盘格角点检测算法
- 传感器网络节点定位算法matlab代码.
- ksvd算法matlab稀疏表示中训练字典
- 路径规划算法MATLAB仿真合集
- GPS基本原理及其Matlab仿真235516
- Canny边缘检测Matlab代码
- Kalman Filtering - Theory and Practice Using M
- 基于adaboost算法的目标检测MATLAB代码
- 基于matlab的人脸识别源代码235297
- 数字信号处理MATLAB版第三版
- Random Walks 标准程序,MATLAB程序,调试
- 车牌识别matlab程序235178
- MIMOOFDM 极化码 MATLAB
- 数字信号处理及其Matlab实现 陈怀琛
- Modelling.the.Wireless.Propagation.Channel.A.s
- MATLAB编程菜鸟入门教材
- 基于MATLAB的超声波声场模拟及可视化
- matlab 模特卡罗计算节点可靠度
- RBMCDAbox - Matlab Toolbox of Rao-Blackwellize
评论
共有 条评论