HTK以及My_htk数据链接: https://pan.baidu.com/s/1Ajo7d-odrRiAwmCB_CQTzQ 提取码:hqnv
一:文件准备
- HTK 和 HTK–samples
下载 HTK 和 HTK–samples 两个压缩文件,保存至 F 盘根目录下。 下载地址:http://htk.eng.cam.ac.uk/download.shtml(注:HTK 官方 网站需要先注册,才能下载) - Visual Studio
安装 Visual Studio 软件, 我安装的是 VS2013
二: HTK 编译
1.创建 bin.win32 和运行 VS2013
进入到解压后的 HTK-3.4.1 文件夹下的 htk 文件夹中,在本目录下创 建一个名为 bin.win32 的文件夹,这个文件夹是用来存放 htk 生成的各个 exe 程序的。找到自己 VS 安装目录下 VC 的子目录下的 bin 文件夹,将该路径添加到 path 变量中。
在cmd中输入 :path=%path%;F:\VS2013\VC\BIN即可 ( 注意不要加入不必要的空格 ) , 添加完成后继续输入 path, 看看有没有添加成功 ( 末尾是否有刚添加的路径 ) , 如果添加成功 , 输入VCVARS32
2.进行编译
- 编译 HTKLib
进入到HTKLib目录 :cd HTKLib, 在命令行里输入nmake/f htk_htklib_nt.mkf all 进行编译 , 输入后 ,DOS窗口会出现如下情况 ( 截取其中部分 ):
- 编译 HTKTools
在命令行中输入 cd…, 表示返回上一层目录 , 再输入 cd HTKTools, 进入HTKTools目录 , 输入nmake/f htk_htktools_nt.mkf all 编译该目录下的文件 。
-
编译 HLMLib
输入cd…, 再输入cd HLMLib, 进入HLMLib目录 , 输入 :nmake/f htk_hlmlib_nt.mkf all 编译该目录下的文件 。 -
编译 HLMTools
输入cd…, 再输入cd HLMTools, 进入HLMTools目录 , 输入 :nmake/f htk_hlmtools_nt.mkf all 编译该目录下的文件 。
3.编译验证
这时候我们已经编译完所有 exe 程序,我们打开 bin. win32 文件夹看 一下,如果如下图所示,则证明已经编译成功。
4.工具路径加入到 path
为了能在DOS命令行中使用我们编译生成的工具 , 要将生成的工具路径加入到 path中。 在cmd中输入path=%path%;F:\htk\bin.win32回车 , 再输入path 查看添加后的结果如下 :
【 特别提醒 】: 最好在同一个DOS窗口实现所有步骤 , 否则可能不成功 。 如果下次需要特征提取 , 需要将path=%path%;F:\htk\bin.win32 回车添加进去 。
三: HTK 工具箱的使用(将 WAV 生成 MFCC 文件)
1. htk 文件准备
需要准备如下两个文件(再同一文件夹下新建两个 txt 文件,把文件内 容写进去后,保存,再修改文件名即可):
- hcopy.conf
其中:hcopy.conf 文件是配置文件, 将下列内容粘贴进去即可,有可以 根据要求修改参数:
SOURCEFORMAT = WAV
TARGETKIND = MFCC_0_D_A
TARGETRATE = 100000.0 ##10000 = 10000*100ns = 1ms
WINDOWSIZE = 250000.0
NUMCEPS = 12
PREEMCOEF = 0.97
NUMCHANS = 27 #定义美尔频谱的频道数量
CEPLIFTER = 22 #定义倒谱所用到的滤波器组内滤波器个数。
- hcopy.scp
第二个文件是输入输出文件:hcopy.scp (标明语音文件的地址和对应 输出 mfcc 文件的地址, 提前建好一个 mfcc 文件夹)。hcopy.scp 文件 内容如下:
- ubm
ubm 文件里面就是需要提取特征的.wav 文件
2.mfcc 特征提取
在 DOS 窗口利用 HCopy 文件进行 mfcc 特征提取
命令:HCopy -A -D -C hcopy.conf -S hcopy.scp
我图片演示的是第二次 HTK 的用法,如果是第一次就可以在同一个 DOS 窗口下输入该命令