您的位置:首页 > 其它

wins7(64位)下HTK安装、demo运行及常见问题

2014-09-18 17:44 274 查看
由于研究方向与语音识别有一定关系,最近便开始琢磨剑桥大学开发的HTK。

一切从安装开始。

step1:下载HMM 的开发包HTK,现在的版本是3.4.1.可以从CMU的官网进行下载http://htk.eng.cam.ac.uk/

PS:

千万不要直接进入download,然后被跳转到regist页面,这样的注册是不能成功或注册时间超长.而应该直接进入注册页面,http://htk.eng.cam.ac.uk/register.shtml 填写用户名等信息

step2:下载后解压HTK工具包,我解压后的目录为:D:\htk\

step3:确保的环境变量Path包含路径

C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools

PS:

除此之外,最好配置完整的c的环境变量!不然运行命令nmake的时候各种诡异问题.

右键-我的电脑-properties(属性?大概是。。)其余的见图。

具体为:

1.Path里加入D:\Program Files\Microsoft Visual Studio 9.0\VC\bin;D:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;(我是装在d盘的,根据自己的安装位置修改)



2.new一个,命名为LIB,写入D:\Program Files\Microsoft Visual Studio 9.0\VC\lib



3.new一个,命名INCLUDE,写入D:\Program Files\Microsoft Visual Studio 9.0\VC\include



确定确定确定。。。写完收工

此外,还有个经常被忽略的常识:写了新的环境变量/安装了新程序,必须重新打开CMD命令(windows键+r键,输入cmd),这些新加入的东西才会响应。

step4:打开DOS 命令窗口, 在命令窗口中输入:cd htk 就进入了htk文件夹--》输入:mkdir bin.win32就在该文件夹下建立了一个新文件夹bin.win32 .

step5: 在命令窗口中输入:vsvars32(如果不行,可以回到d盘目录,再输入vsvars32)就运行了vsvars32

step6:接下来编译htk库文件:(我当前的目录是D:\htk)

1.cd HTKLib(进入HTKLib文件夹 )--> 使用命令:nmake /f htk_htklib_nt.mkf all (编译该文件夹下所有的库文件)。

2.cd ..(退出该文件夹)-->cd HTKTools(进入HTKTools文件夹 )

->nmake /f htk_htktools_nt.mkf all

3.cd ..(退出该文件夹)--> cd HLMLib (进入HLMLib文件夹 )

-->nmake /f htk_hlmlib_nt.mkf all

4.cd ..(退出该文件夹)--> cd HLMTools(进入HLMTools文件夹 )

-->nmake /f htk_hlmtools_nt.mkf all

5.cd ..

完成后,所有生成的exe文件在bin.win32文件夹中,然后将该目录加入环境变量PATH中,即可(我的是D:\htk\bin.win32)。

step7:下载安装ActivePerl

进入官网:http://www.activestate.com/activeperl



安装完成后的最后一步,有个2checkbox,都默认勾选,以为其中一个是将activeperl写入环境变量。

其实到现在已经安装好,但是还有一些小问题,先往下看:

下边运行HTKDemo中的例子,此时要确保电脑中装有ActivePerl,,然后依次输入下边的命令:

cd HTKDemo

mkdir hmms

cd hmms

mkdir tmp

mkdir hmm.0

mkdir hmm.1

mkdir hmm.2

mkdir hmm.3

cd ..

mkdir proto

mkdir acc

mkdir test

perl runDemo.pl configs\monPlainM1S1.dcf (运行此命令时有两个前提条件:1.需要把HTK-samples-3.4.1.zip解压后的sample文件放到htk文件夹里 2.运行此命令的路径是htk\samples\HTKDemo(我的是d:\htk\samples\HTKDemo))

结果如下:



此时,HTKDemo中的例子运行成功。

但是在Windows系统下,当在命令窗口中使用HSLab 01.sig提示如下错误:

ERROR [+6870] MakeXGraf: Not compiled with X11 support: use HGraf.X.c

FATAL ERROR - Terminating program HSlab

解决办法如下:

第一步:

修改htk\HTKLib\htk_htklib_nt.mkf(两处)(右击用记事本打开),将HGraf.null.obj替换为HGraf_WIN32.obj、HGraf.null.olv替换为 HGraf_WIN32.olv(查找替换)。

然后(进入HTKLib文件夹 )--> 使用命令:nmake /f htk_htklib_nt.mkf all重新编译HTKLib 下的\htk_htklib_nt.mkf。

第二步:

打开htk \HTKTools下的Makefile.in(右击用记事本打开),将其中"-lX11"删除(查找),然后(进入HTKTools文件夹 )-->nmake /f htk_htktools_nt.mkf all重新编译生成 htk_htktools_nt.mkf 即可。。。

PS:

在重新进行编译的时候,我遇到这个一个错误:

nmake fatal error u1077:path/c1.exe 返回代码0xc0000135

相应解决方法:

在命令窗口中输入:vsvars32(如果不行,可以回到d盘目录,再输入vsvars32)就运行了vsvars32

在Win7 下测试通过。good luck.

在windows下安装htk3.4.1主要还是参考Installing HTK on Microsoft Windows ,下面就一些地方作一些补充说明:

  1、最开始是需要安装ActivePerl,安装完之后有必要测试一下perl命令是否可用。具体的方法是在运行 里面输入“cmd.exe“ 回车打开命令行窗口,输入"perl -v"显示perl的版本,如果显示"perl不是内部命令或外部命令"则需要自己设置环境变量。这需要右击桌面上的“我的电脑”——属性——高级——环境变量——用户变量——双击path变量——在其后添加perl的安装路径,例如在我的电脑里面就是添加F:\htk\bin.win32,注意前面有其它的路径,所以其前必须以英文分号加以分隔。

 2、然后第5步说到Run VCVARS32 ,这一步其实就是直接在命令行窗口中输入VCVARS32回车,正常情况下应该出现“Setting environment
for using Microsoft Visual C++ tools.”,如果跟前面一样出现“不是内部命令或是外部命令”,那可能是vc没有安装或者已经安装了但环境变量改动了。

  3、然后继续安装基本不会碰到其它问题,安装完成之后,原文提到一句“You should add this directory to your PATH”,这是指把bin.win32文件夹路径添加到环境变量中,可按上面提到的方法添加。是否添加成功,可以在命令行窗口中输入HInit命令来进行测试,如果还是出现“不是内部命令或外部命令”,那就是没有添加成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐