转自:http://blog.csdn.net/yanli0823/article/details/8186382

亲测有效,环境

  • windows 8.1
  • perl版本:
  • HTK版本:Hidden Markov Toolkit (HTK) 3.4.1

〇、HTK简介

HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包,主要应用于语音识别领域,也可以应用于语音合成、字符识别和DNA排序等领域。HTK经过剑桥大学、Entropic公司及Microsoft公司的不断增强和改进,使其在语音识别领域处于世界领先水平,另外,HTK还是一套源代码开放的工具箱,其基于ANSI C的模块化设计方式可以方便地嵌入到用户系统中。

一、准备事项

安装Microsoft Visual Studio开发环境(以下简称VS),因为HTK代码需要通过VS来编译。

安装ActivePerl工具,测试的时候需要用到Perl命令

安装解压缩工具(解压下载下来的HTK文档)

如果对DOS命令行窗口及命令语句熟悉就更好了,在编译、安装和运行HTK时都需要它。

添加环境变量:在系统环境变量里添加Microsoft Visual Studio下VC环境的bin路径,如我使用vs2010,并将其安装在D盘,就需要将以下路径添加到环境变量Path中:D:\Program Files\Microsoft Visual Studio 10.0\VC\bin。注:Path里自带的值不要作任何修改。

二、安装VS环境

这个没什么特别注意的地方,根据向导一步步安装即可。

三、安装ActivePerl(Windows下的perl运行环境)

详见windows下的perl运行环境文档。

四、HTK配置

HTK的官网:http://htk.eng.cam.ac.uk/docs/inst-win.shtml,先进行注册才能下载文件。

第一步,下载HTK源代码,http://htk.eng.cam.ac.uk/download.shtml

这两个文件都下载下来,其中samples是用来测试安装是否成功,后面会介绍到。当然在下载之前,会要求注册会员。

第二步,解压所下载的HTK源代码,最好在根目录下,文件用英文。如D:\HTK,便于后来在DOS下的编译和其他操作。

第三步,进入DOS界面,点开始-->运行-->输入CMD回车,我的代码是安装在D:\HTK下,所以输入d:(回车),然后输入cd d:\HTK,进入HTK的目录下;再输入cd htk,进入子目录。

命令输入顺序:

D:

cd d:\HTK

cd htk

第四步,使用命令创建一个文件夹,用来存放编译后生成的exe文件

mkdir bin.win32

第五步:把vs下的vcvars32,复制到HTK根目录下,在DOS使用命令打开VCVARS32.

VCVARS32

第六步,编译HTK Library,为HTK提供函数功能,

cd HTKLib

nmake /f htk_htklib_nt.mkf all

cd ..

第七步,编译HTK工具

Ø  cd HTKTools

nmake /f htk_htktools_nt.mkf all

cd ..

Ø  cd HLMLib

nmake /f htk_hlmlib_nt.mkf all

cd ..

Ø  cd HLMTools

nmake /f htk_hlmtools_nt.mkf all

cd ..

现在,HTK工具已经创建完成,编译生成的exe文件都存放在第一步创建的bin.win32目录下。此时需要在系统环境变量的PATH中添加bin.win32路径的值。

五、测试安装是否成功

安装完成后,需要使用下载的sample来验证安装的是否正确,有以下几个步骤:

1. 把下载的压缩包解压:

2. 通过命令创建相应目录

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 tes

多说一句

不知道原作者为什么mkdir这么多文件夹,逐个检查,其中空文件为:

hmm.3

tmp

acc

tes

会不会类似cache那样作为临时存储?还是就没有用处,以后用到再分析

3.分析

perl runDemo.pl configs\monPlainM1S1.dcf

这里多说一句:

运行时如果报错:'perl' 不是内部或外部命令,也不是可运行的程序,需要将perl\bin添加系统环境变量:

这样就可以了:

Windows下搭建HTK的更多相关文章

  1. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  2. Android学习——windows下搭建Cygwin环境

    在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...

  3. Android学习——windows下搭建NDK_r9环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  4. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  5. Windows下搭建PHP环境:Apache+PHP+MySQL

    本文简单记录一下Windows下搭建PHP环境的过程,一些细节可以参照本文参考资料,此文不再赘述 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的 ...

  6. Windows下搭建Git开发环境

    Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...

  7. windows下搭建学习objective-c 的运行环境【转载】

    对于Iphone开发学习者而言,Object -c 是必修的语言.但是由于苹果的自我封闭的产业链发展模式(从芯片.机器.开发语言.终端产品.服务)的限制,要想开发针对苹果iPhone等产品的应用程序, ...

  8. Windows下搭建论坛

    Windows下搭建论坛 真正的O基础架构,一步一步走向成功 转载请注明原作者出处 环境准备篇 安装集成包软件 解压后如下 以管理员身份运行setup的批处理 选择推荐的apache版本 选择推荐的m ...

  9. Windows下搭建MySQL Master Slave[转]

    Windows下搭建MySQL Master Slave 一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用k ...

随机推荐

  1. React的第一个例子

    准备: 官网:https://facebook.github.io/react/downloads.html Github地址:https://github.com/facebook/react 首先 ...

  2. python爬虫beautifulsoup4系列4-子节点

    前言 很多时候我们无法直接定位到某个元素,我们可以先定位它的父元素,通过父元素来找子元素就比较容易 一.子节点 1.以博客园首页的摘要为例:<div class="c_b_p_desc ...

  3. thinkphp5(tp5)中success跳转页面和弹窗问题解决

    自己做了一个form页面,对其操作后,根据$this->success('提示信息',''),执行后是通过笑脸页面跳转,而不是在本页弹框后刷新.源码里带的原来的例子是弹出框刷新,为什么我自己做的 ...

  4. mysql DATE_FORMAT(date, format) 函数

    DATE_FORMAT(date, format) 函数用法 DATE_FORMAT(date, format) 函数根据format字符串格式化date值. 1.把字符串转为日期格式 实例: SEL ...

  5. Python学习(四)数据结构 —— str

    Python 字符串 str 本章大致介绍了 Python 的字符串类型 str,包括字符串的赋值及转义.字符串运算符.字符串格式化输出 以及 一些字符串的内建函数等. 字符串赋值及转义 我们可以使用 ...

  6. iTextSharp 合并PDF后,无法删除已经合并的单个文件

    private void MergePDFFiles(string[] fileList, string outMergeFile) { List<PdfReader> readerLis ...

  7. Mysql优化与使用集锦

    MyISAM的读性能是比Innodb强 MyISAM的索引和数据是分开的,并且索引是有压缩的 Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小 MyI ...

  8. Java中Action层、Service层、Modle层和Dao层的功能区分

    一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...

  9. mysql的日志管理

    日志操作是数据库维护中最重要的手段之一,日志文件会记录MySQL服务器的各种信息,所以当MySQL服务器遭到意外损坏时,不仅可以通过日志文件来查看出错的原因,而且还可以通过日志文件进行数据恢复. MY ...

  10. Python 高级图像处理

    构建图像搜索引擎并不是一件容易的任务.这里有几个概念.工具.想法和技术需要实现.主要的图像处理概念之一是逆图像查询(RIQ).Google.Cloudera.Sumo Logic 和 Birst 等公 ...