1 简介 进入21世纪以来,多媒体信息技术飞跃发展,其中的一个热点就是语音识别技术,实现人机对话及交流一直是人类梦寐以求的.古典《天方夜谭》中的"芝麻开门"就是一种语音识别
1 简介
进入21世纪以来,多媒体信息技术飞跃发展,其中的一个热点就是语音识别技术,实现人机对话及交流一直是人类梦寐以求的.古典《天方夜谭》中的"芝麻开门"就是一种语音识别.语音识别(AutomaticSpeechRecognition)就是让机器能听懂人说的话并按照人的意图去执行相应任务,是一门涉及到信信号处理,神经心理学,人工智能,计算机,语言学,通信等学科的涉及面非常宽的交叉学科.近年来,在工业,军事,交通,医学等诸多方面都有着广泛的应用.进入21世纪以来,多媒体信息技术飞跃发展,其中的一个热点就是语音识别技术,实现人机对话及交流一直是人类梦寐以求的.古典《天方夜谭》中的"芝麻开门"就是一种语音识别.语音识别(AutomaticSpeechRecognition)就是让机器能听懂人说的话并按照人的意图去执行相应任务,是一门涉及到信信号处理,神经心理学,人工智能,计算机,语言学,通信等学科的涉及面非常宽的交叉学科.近年来,在工业,军事,交通,医学等诸多方面都有着广泛的应用.
2 部分代码
function [hmm,pout] = train(samples,M)%输入:
% samples--样本结构
% M--为每个状态知道pdf个数,如【3 3 3 3】
%输出:
% hmm--训练完成后的hmm
K = length(samples);
%计算语音参数
disp('正在计算语音参数……')
for k=1:K
if isfield(samples(k),'data')&~isempty(samples(k).data)
continue;
else
samples(k).data = mfcc(samples(k).wave);
end
end
hmm = inithmm(samples,M);
for loop =1:20
fprintf('\n第%d遍训练\n\n',loop)
hmm = baum(hmm,samples);
%计算总输出概率
pout(loop) = 0;
for k=1:K
pout(loop) = pout(loop)+viterbi(hmm,samples(k).data);
end
fprintf('总和输出概率(log)=%d\n',pout(loop));
%比较两个HMM的距离
if loop>1
if abs((pout(loop)-pout(loop-1))/pout(loop))<5e-6;
fprintf('收敛\n');
end
end
end
disp('迭代20次仍不收敛,退出');
3 仿真结果
4 参考文献
[1]靳双燕. 基于隐马尔可夫模型的语音识别技术研究[D]. 郑州大学, 2013.