zoukankan      html  css  js  c++  java
  • Windows下搭建HTK

    转自: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 FilesMicrosoft Visual Studio 10.0VCin。注: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 configsmonPlainM1S1.dcf

    这里多说一句:

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

    这样就可以了:

  • 相关阅读:
    JAVAEE学习day01
    learn MongoDB (二) 常用修改器
    learn MongoDB (一) 常用命令行操作
    js事件冒泡和捕获
    vim 常用设置
    void 0 等于 undefined 为什么不直接用undefined
    原生js操作class
    WAI-ARIA roles
    css 效果收集
    前端文章收集
  • 原文地址:https://www.cnblogs.com/xingshansi/p/6899640.html
Copyright © 2011-2022 走看看