HTK的数据准备工具主要是针对语言文件和语音标签数据文件的处理,前面介绍了处理语音标签数据文件的处理工具,如下:
- HLEd。根据发音词典,自动对标签文件进行标记。该工具还可以对标签文件进行编辑处理,其实主要是对标签文件进行编辑,按照发音词典进行扩展也是编辑的一种,另外可以对发音词典进行替换、删除、写入等编辑操作。参见:数据准备工具-HLEd
- HLStats。这个工具主要是对标签文件根据发音词典展开之后的标记文件和HMM模型列表进行统计。参见:数据准备工具-HLStats
上面的两个工具都是对标签文件进行处理,包括自动标记及统计等功能,当然,需要发音词典作为输入,其实也是根据发音词典而统计的单音列表。
本文讨论对音频数据文件的处理工具:HCopy。这个工具是将原始的音频数据文件(如WAV)转换成HTK格式的参数文件。
一,使用语法
HCopy [options] sa1 [+sa2+...] ta [sb1 + [+sb2+...] tb ...]
命令行解释:将输入的源文件sa1,sa2等合并起来,然后输出至目标文件ta中。sb1及sb2等源文件连接起来,然后输出至目标文件tb中,后面还可以再有这样的输入和输出格式。如
HCopy srcA.wav + srcB.wav targetAB.wav srcC.wav targetC.wav
这个命令会创建两个新的文件,如果有很文件需要处理,这肯定很麻烦,可以把所有需要转换的文件写入一个文本文件,然后把这个文本文件作为-S的参数。
不是所有的文件都可以自由转换的,这个工具支持的输入和输出转换格式如下图所示:
一般用的比较多的是从WAVEFORM转换至MFCC。
二,命令选项
命令的一些常用选项如下:
- -C configfile。指定工具命令的配置文件,这个文件可以指定源文件类型以及目标文件的类型,还可以源文件和目标文件的一些基本头属性。
- -s f 。从源文件开始复制至目标文件的时间,默认是0.0。这个的意思是说,从源文件的什么时间开始复制至目标文件,如源文件的前3秒钟,我们不需要。就可以用到这个选项了。如我们需要指定从0.1秒开始,就需要指定-s 1E6,因为是以100ns为单位的。
- -e f。和上面的选项对应,表示从源文件复制的结束时间,就是从开始复制到多少时间之后,就结束复制。
- -i mlf。输出标签标记文件,如果输入文件是HTK的标记文件的话。
- -l s。指定标签标记文件的输出目录,默认是当前目录。
- -F fmt,指定源文件数据格式。
- -G fmt,指定标签标记文件格式。
- -I mlf。加载标签标记文件。
三,实际例子
假如现在有sample01.wav sample02.wav等10个音频文件,我需要把这些文件全部转换成Mel倒谱系数MFCC特征文件,操作如下:
完成脚本文本,如下。script.scp
./wav/sample01.wav ./mfcc/sample01.mfcc
./wav/sample02.wav ./mfcc/sample02.mfcc
./wav/sample03.wav ./mfcc/sample03.mfcc
./wav/sample04.wav ./mfcc/sample04.mfcc
./wav/sample05.wav ./mfcc/sample05.mfcc
./wav/sample06.wav ./mfcc/sample06.mfcc
./wav/sample07.wav ./mfcc/sample07.mfcc
./wav/sample08.wav ./mfcc/sample08.mfcc
./wav/sample09.wav ./mfcc/sample09.mfcc
./wav/sample10.wav ./mfcc/sample10.mfcc
然后配置文件config
SOURCEKIND = WAVEFORM
SOURCEFORMAT = WAV
SOURCERATE = 1250
TARGETKIND = MFCC_E_D_A_Z
TARGETRATE = 160000.0
WINDOWSIZE = 320000.0
NUMCHANS = 24
NUMCEPS = 12
这个配置文件表示输入类型是WAVEFORM,源文件格式是WAV,1250表示采样频率是8KHZ。输出类型为MFCC。160000表示Frame period是16ms,320000表示一个时间帧的长度是32ms。12表示MFCC系数的个数。
然后执行命令,结果如下
[root@localhost data]# HCopy -A -D -T 1 -C ./config -S ./script.scp
HCopy -A -D -T 1 -C ./config -S ./script.scp
HTK Configuration Parameters[8]
Module/Tool Parameter Value
# NUMCEPS 12
# NUMCHANS 24
# WINDOWSIZE 320000.000000
# TARGETRATE 160000.000000
# TARGETKIND MFCC_E_D_A_Z
# SOURCERATE 1250
# SOURCEFORMAT WAV
# SOURCEKIND WAVEFORM
./wav/sample01.wav -> ./mfcc/sample01.mfcc
./wav/sample02.wav -> ./mfcc/sample02.mfcc
./wav/sample03.wav -> ./mfcc/sample03.mfcc
./wav/sample04.wav -> ./mfcc/sample04.mfcc
./wav/sample05.wav -> ./mfcc/sample05.mfcc
./wav/sample06.wav -> ./mfcc/sample06.mfcc
./wav/sample07.wav -> ./mfcc/sample07.mfcc
./wav/sample08.wav -> ./mfcc/sample08.mfcc
./wav/sample09.wav -> ./mfcc/sample09.mfcc
./wav/sample10.wav -> ./mfcc/sample10.mfcc
HTK Configuration Parameters[8]
Module/Tool Parameter Value
NUMCEPS 12
NUMCHANS 24
WINDOWSIZE 320000.000000
TARGETRATE 160000.000000
TARGETKIND MFCC_E_D_A_Z
SOURCERATE 1250
SOURCEFORMAT WAV
SOURCEKIND WAVEFORM
命令执行完成后,就会生成10个mfcc格式文件,完成数据源的复制,也是数据训练的准备。
分享到:
相关推荐
强制对齐HTK工具-3.4.1-windows,包括HTK-3.4.1.zip;HTK-samples-3.4.1.zip。
语音处理工具,HTK 的中文版,方便大家了解和认识HTK 更容易入门
隐马项目\HTK-samples-3.4.zip 这是一个以HMM为基础的语音训练模形源码从中可以了解HMM如何做参数撷取及如何辨识
实现htk的特征提取,得到mfcc等lpcc等语言特征数据
英国剑桥大学开发的新版本语音识别工具开发包HTK。
在用htk提取语音的mfcc时要用到的perl代码,生成文本文件,可重用性好。
本文介绍了如何在WIN7下安装HTK及利用HTK进行YES/NO识别的过程,及HTK 3.4安装包。
隐马尔科夫模型工具箱最新版本,可以广泛应用于识别等领域
是语音识别开发工具包HTK的详细阐述,里面有文档和例子程序。覆盖面很广。
HTK 3.4.1 windows下可执行文件
HTK开发工具包,是编译好的可执行程序,下载后可以直接使用
应用HTK建立的语音识别系统,PPT文档-Application of HTK speech recognition system established, PPT document
语音识别HTK工具,在vc6下利用c++调试通过,其中更改了与c不能兼容的部分
HTK3.4语音识别的实用例子
HTK 3.4.1 源代码,及在64位windows上编译出的可执行文件,已用官方samples测试过,samples的源代码也放在压缩包里了
强制对齐htk-3.4.1-linux/Unix,包括HTK-samples-3.4.1.tar;HTK-3.4.1.tar。
python库,解压后可用。 资源全名:htk-1.1.0-py2.py3-none-any.whl
由英国剑桥大学语音视觉和机器人小组开发的语音识别工具包
HTK-3.4.1,HTK-samples-3.4.1,htkbook.pdf