代码改变世界

HTK语音识别示例(Ubuntu)

2014-12-10 17:33  Ansersion  阅读(8257)  评论(0编辑  收藏  举报

一、简介

HTK(Hidden Markov Model Toolkit)是一款语音识别工具包,诞生于Cambridge University Engineering Department (CUED),后来几经易手,目前的HTK3由CUED和Microsoft维护。现在Microsoft对HTK依旧保留一定的版权,但是源码可以免费获得,用于教学和科研是没有问题的。

这里是我使用的源码与教程的当时版本HTK-3.4.1:

源码:http://pan.baidu.com/s/1gf9qAD9

教程htkbook:https://pan.baidu.com/s/1R-J67qAkG5u3XzoUQeqn2A

其他高手中文版教程(针对windows):http://pan.baidu.com/s/1jHsiPpW

 

最新源码与文档可以查询官网:

http://htk.eng.cam.ac.uk/

 

以下是我在范例中使用到的音频和相关脚本文件等资料:

字典文件:http://pan.baidu.com/s/1mgJZPFE

相关脚本:http://pan.baidu.com/s/1i3Hyfv3

训练音频:http://pan.baidu.com/s/1dDEOxtJ

测试音频:http://pan.baidu.com/s/1jGuvyPS

鉴于HTK Book里给的sample一点而都不simple,作为初学者,各种麻烦还是很折腾人的。

这里,我“篡改”了HTM Book示例的部分流程,以求简单。

 

二、流程概览:

整个流程就如同下图一样,首先我们录制语音,然后HMM模块处理语音文件,之后便被识别出相应的文本文件。

那么,htk扮演的角色是什么呢?如下图,htk的作用就是训练出HMM模块。

为什么说是“训练”呢?简单的说,就是因为各个人的口音不同,所以,如果要“训练”HMM模块来适应不同的口音。

 

 

以下,我将训练出这样的HMM模块:识别“RED”, “YELLOW”, “BLUE”三个单词,步骤为

(一)准备训练语音文件;

(二)杂项准备;

(三)训练HMM模块;

(四)看看成果。

 最后成果

在此,还感谢前辈的探索,帮了我帮了我不少:

http://blog.csdn.net/wbgxx333/article/details/17639373