Visual Studio 2019编译HTKlib

我们知道,HTK声学模型部分由HTKLib和HTKTools组成。

在HTKLib里定义了很多公用函数,比如wave信号处理相关的函数、字典构建函数、HMM算法viterbi、forward-backward算法等,还有内存管理、数学计算等等。

HTKTools是利用这些公用函数完成某个具体的任务,比如HDMan实现任务词典构建,就是从几个大词典中,构建当前任务相关的发音字典。HLEd实现标注文件处理,输入发音字典、标注文本,构建phone级别的MLF文件,即对标注文件进行发音序列扩展,构建当前任务的phone集合,它与要训练的模型集合是一一对应的。这些工具最终编译成为独立的exe文件,可以单独运行,而HTKLib是开发这些工具的依赖包。

现在,利用htk的源码,编译一个HTKlib库,然后开发工具的时候就可以include对应头文件,生成可执行文件时,需要链接这些库(里面是一堆目标文件——object file)。

首先,看一下下载下来的HTK3.4.1源码的目录。

红圈标记的两个目录,分别是HTKLib和HTKTools,这是咱们重点关注的。

继续看下它们里面有哪些内容:

 HTKTools:

 这里面的每一个.c文件都将编译成一个exe可执行程序,可以实现独立的功能。上图中圈出来的.c文件对应的工具将分别用来构建子图(lattice)、重估HMM参数和初始化HMM参数。它们各自都有多个参数,提供各种功能选项。

HTKLib:

lib库里含有多种函数,如HFB.c是关于前向-后续算法、HMem.c定义了内存管理的函数、HShell.c定义了参数处理的函数等等。

现在就是要对HTKLib目录的源码进行编译,生成一个DLL或lib库,在编译HTKTools里面每个.c文件(工具)时使用。

第一步:把HTKLib里的.c和.h文件分开,分别放进源文件夹和头文件夹里。

第二步:新建项目。其中解决方案名称可以是HTK或者HTK_compile,项目名称写HTKlib。

第三步:在HTKlib项目中,添加现有项,选择头文件和源文件。

参考Visual Studio 2019调试HTK代码博文。

不同点就是生成文件的类型是“静态库”。

 最终编译生成文件HTKlib.lib库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值