实验室有语音识别的部分,所以在离开雁栖湖之前希望自己可以掌握一些HTK语音工具的流程及知识,以便回到实验室之后会的多一点,不至于大脑一片空白
想学HTK已经有很长一段时间了,有同学建议先把 《HTK BOOK》看一遍,然后就能明白语音识别工作流程什么的了,于是我就打印了一本厚厚的英文《HTKBOOK》,也相应下载了前几章的中文翻译,对照着看。我觉得一定是我之前从没有基础的原因,看的很费力,书上提到 HTK工具的时候,由于自己没有对照着在环境里做一些学习的工作,导致这些工具的名字还有指令方法让我觉得很晦涩难懂。
在美美和高高同学的建议下,我才从困境中走出来。。百度了一些HTK学习经验, HTK在windows下面的安装等内容。才迈出了正确学习的第一步:安装 HTK 工具包,并配置环境。
对于我这样一个语音识别的初级菜鸟来说,我认为我总结的这个简单体验教程,应该可以帮助刚学 HTK的同仁们,有些的啰嗦的地方,大家体谅~ 有错误或者问题,欢迎在底下留言交流。
begin!
注:教程中部分内容参考了:《windows下编译htk3.4傻瓜式教程》——ICTsuperyang
Step 1
下载 HTK 和 HTK – samples 两个压缩文件,保存至D盘根目录下新建的HTK文件夹。
下载地址:http://htk.eng.cam.ac.uk/download.shtml
我下载的版本:3.4.1
遇到问题:(1)HTK官方网站需要先注册
(2)(chrome浏览器)注册后下载速度为0。
解决办法:点“取消下载”,再点“重新下载”。
Step 2
观察下载的文件夹里都有些什么:
在解压后的HTK文件夹里,阅读README介绍(我用的写字板),重要的内容截图如下(内容是在windows下的编辑及安装):
这里翻译一下第一部分,即在windows下安装的一些先决条件(参考《windows下编译htk3.4傻瓜式教程》——ICT superyang):
(1)HTK在visual studio下编译测试通过(主要是为了使用nmake)
(2)测试demo时,需要安装ActivePerl(Perl解释器,为了运行测试脚本)
(3)需要7-zip或winzip解压工具
(4)需要理解一些DOS命令行知识
(5)Path中需要包含路径C:ProgramFilesMicrosoft Visual Studio .NET 2003Vc7bin(Visual Studio.NET 2003)或者C:Program FilesMicrosoft VisualStudioVC98bin(VC6.0)
第二部分即是接下来做的内容。
Step 3
安装VS和ActivePerl和UltraEdit(一个非常强大的文本编辑器)
ActivePerl下载地址:http://www.activestate.com/activeperl/downloads
我安装的版本是:Visual Studio 2010和 ActivePerl-5.16.3.1604和ue_chinese21.10
Step 4
开始编译:
1)打开DOS窗口
点击开始——在搜索框里输入“运行”——点击运行,输入cmd,回车
2)进入到解压后的HTK-3.4.1文件夹下的htk文件夹中
由于我本身对DOS命令就是小白,看截图可看到最终尝试成功的过程
3)在本目录下创建一个名为bin.win32的文件夹
这个文件夹是用来存放htk生成的各个exe程序的
4)运行VCVARS32
找到VC的安装目录下的bin文件夹,我的是在
D:ProgramFilesMicrosoft Visual Studio 10.0VCbin
将该路径添加到path变量中
在cmd中输入:path=%path%;D:Program FilesMicrosoft Visual Studio10.0VCbin即可,添加完成后继续输入path,看看有没有添加成功,如果添加成功,输入VCVARS32
遇到问题!!!:
原因就是在添加bin路径的时候,在D:前面有一个空格!!!
解决办法:把空格去掉重新添加了一遍,但由于我还不会删除添加过得路径,所以之前添加的错误的也在里面了。。无所谓了。以后会删了再删。
5)编译HTKLib
进入到HTKLib目录:cd HTKLib,在命令行里输入nmake/f htk_htklib_nt.mkfall进行编译
输入后,DOS窗口会出现如下情况(截取其中部分):
这是在编译的过程,一段时间后,编译成功。
本次安装htk没有出现报错,但是如果出现报错的话,请参照《windows下编译htk3.4傻瓜式教程》
6)编译HTKTools
在命令行中输入cd..,表示返回上一层目录,再输入cd HTKTools,进入HTKTools目录,输入nmake/f htk_htktools_nt.mkf all编译该目录下的文件。
编译好了:
7)编译HLMLib
输入cd..,再输入cd HLMLib,进入HLMLib目录,输入:nmake/f htk_hlmlib_nt.mkfall编译该目录下的文件。
8)编译HLMTools
输入cd..,再输入cd HLMTools,进入HLMTools目录,输入:nmake/f htk_hlmtools_nt.mkfall编译该目录下的文件。
这时候我们已经编译完所有exe程序,我们打开bin.win32文件夹看一下,如果如下图所示,则证明已经编译成功。
Step5
测试编译生成的程序是否正确
1)为了能在DOS命令行中使用我们编译生成的工具,要将生成的工具路径加入到path中。
在cmd中输入path=%path%;D:HTKHTK-3.4.1htkbin.win32回车,再输入path查看添加后的结果:
我们接下来输入HInit查看一下能否成功运行编译后的程序,如果如下图所示,则证明path已经被正确的添加进来了~
2)为了运行perl测试脚本,我们需要在机器中安装perl解释器,也就是一开始让大家安装的ActivePerl
3)进入到HTKDemo目录(在HTK-samples文件夹下),输入perl runDemo.plconfigsmonPlainM1S1.dcf运行测试脚本,如下图:
出现了未知的错误!!!呜呜。
好在在网上找到了解决办法。
解决办法:
<</span>来源:http://bingxinye1.blog.163.com/blog/static/16879709820122308157101/>
按照解决办法,仍旧是进入到HTKDemo目录(在HTK-samples文件夹下),输入perlrunDemo.pl configsmonPlainM1S1.dcf运行测试脚本。
然后就出现了胜利的画面!!!
安装HTK结束~
发现写博文不易啊,尤其还要加图片!向在网上分享自己经验的学者们致敬!!!Keeplearning from you!
by mengmeng