HTK 安装、编译以及测试——Ubuntu 14.04
HTK 安装、编译以及测试——Ubuntu 14.04
想向师兄学习使用HMM的使用,
HMM 有HTK 的这个实现平台,包含很多有用的工具,看起来相当强大。
HTK 的下载地址(需要注册)
.shtml
还有HTK 手册什么的
配置环境:
gcc 4.8.2
ubuntu 14.04 x64
可能还有一些库,曾经安装过了
下载好了 HTK-3.4.1.tar.gz
先解压:
cd HTK_directory
tar -xf HTK-3.4.1.tar.gz -C your_destination_directory
解压完成了,看手册说明需要:
./configure
make all
sudo make install
这里安装到了默认路径 /usr/local/bin,如果需要修改,在configure时增加-prefix
./configure -prefix=your_direcotry
本应该一帆风顺的,这时出现了错误:
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: 没有那个文件或目录
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev:i386
其中第二行是为了以防万一(果然就是这个问题呀!)。
然而出了一个问题,万恶的163源
W: Failed to fetch gzip:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_natty_main_source_Sources Hash Sum mismatch,
E: Some index files failed to download. They have been ignored, or old ones used instead.
需要删除已经有的list信息
sudo rm -r /var/lib/apt/lists/*
sudo apt-get update
然后把源换成aliyun的了,阿里云啦~
阿阿阿阿,结果C编译器不见啦!!见鬼啦!
只好又重装gcc
这样一来,终于可以装
sudo apt-get install libc6-dev:i386
装完之后
./configure
make all
又出错了啊,出错了啊,摔!!!!!
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
我还有什么话可说呢,我懂得linux之所以没人使用的缘由了,
目测又是缺库了,缺什么呢?让我们来问谷哥吧
PS:其实目测就能看到了 incompatible libgcc.a
这是嘛呢!这是嘛呢!
回顾一下,我安装的是64位系统,什么时候gcc会不对头了呢?当然是安装了32位(i386)的库。。。。。。
是不是我刚才装的。。。
sudo apt-get install libc6-dev:i386
就是这个吧,我猜就是这个吧,肯定是这个啊啊啊啊啊!名字这么像
然而卸载这个包并不能编译,又回到了上上上个错误
查看configure文件,原来我的电脑被识别为x86_64_linux了,能改成linux吗。。。。
当然不行啦当然不行啦当然不行啦
那怎么办呢,我又把i386包装回来了,重新configure, make all
/usr/bin/ld: cannot find -lX11
然而仍然是这个错误,链接错误
参考:
我来试试吧!!
经过我一番思考(其实电脑已经安装了libx11-dev)
我认为这个configure最后给我编成了32位的HTK(我我我一点都不想这样呀!!!)
大概仍然是缺少了x11 32位的!!!!
sudo apt-get install libx11-dev:i386
--------------------------------------------------------
终于可以编译、链接啦!
总结需要的库
sudo apt-get install libx11-dev:i386
sudo apt-get install libc6-dev:i386
我想是因为configure时,认为我的电脑是x86_64的,所以默认选择了32位编译
在configure文件中,gcc包含了-m32的选项足以证明这点(如果去掉了似乎难以编译)
接下来就是一帆风顺了
make all
sudo make install
另外需要额外安装一个HDencode,这个包的下载地址为
.4.1.tar.gz
使用tar解压可以看到内部内容实际上是htk目录下的一部分
把它拷到对应的目录下
即可在HTK目录下继续执行
make hdencode
sudo make install hdencode
------------------------------------
测试,
下载HTK-samples-3.4.1.tar.gz
解压得到samples文件夹
进入samples\HTKDemo\
执行
mkdir hmms
mkdir hmms/{tmp,hmm.{0,1,2,3}} proto acc test
./runDemo ./configs/monPlainM1S1.dcf
如果出现
====================== HTK Results Analysis =======================Date: Thu Jun 18 22:43:11 2015Ref : labels/bcplabs/monRec : test/te1.rec: test/te2.rec: test/te3.rec
------------------------ Overall Results --------------------------
SENT: %Correct=0.00 [H=0, S=3, N=3]
WORD: %Corr=63.91, Acc=59.40 [H=85, D=35, S=13, I=6, N=133]
===================================================================
这是结果的最后几行,应该就说明安装成功啦
- Driller源码阅读笔记(二)
- componentDidMount,react
- module 与 component 的区别
- Azure App object和Service Principal
- 芯片的本质是什么?(4)物质与数字世界接口
- Android 6.0 Marshmallow介绍
- 前途迷茫不知.NET与JAVA那个好
- VC++书籍介绍
- TCPIP和TCP,UDP
- 机器学习几种距离比较:欧拉距离(Euclidean Distance)、曼哈顿距离(Manhattan Distance)和明可夫斯基距离(Minkowski Distance)
- 系统的联调
- IDEA打包jar包,以及exe应用程序。
- C语言中itoa和atoi函数的用法
- 网页弹出对话框详解
- html弹出div弹窗
- CLIST 数组的用法 CListCtrl m
- QSqlQuery内存问题分析及解决