“(二)杂项准备"之后,我们就已经训练了一个hmm模型了——“hmm0”。

接下来,我们将以“hmm0”作为基础,一路训练到“hmm7"。

1、从“hmm0"训练到"hmm3":

执行以下3条命令:

以hmm0为基础,生成hmm1
HERest -C ./config/config_color -I ./labels/phones_color.mlf -t 250.0 150.0 1000.0 -S ./config/train.scp -H ./hmm0/macros -H ./hmm0/hmmdefs -M ./hmm1/ ./lists/monoOffSP
以hmm1为基础,生成hmm2
HERest -C ./config/config_color -I ./labels/phones_color.mlf -t 250.0 150.0 1000.0 -S ./config/train.scp -H ./hmm1/macros -H ./hmm1/hmmdefs -M ./hmm2/ ./lists/monoOffSP
以hmm2为基础,生成hmm3
HERest -C ./config/config_color -I ./labels/phones_color.mlf -t 250.0 150.0 1000.0 -S ./config/train.scp -H ./hmm2/macros -H ./hmm2/hmmdefs -M ./hmm3/ ./lists/monoOffSP

以上命令完成之后,在hmm1、hmm2、hmm3目录下都会生成macros和hmmdefs

2、“特殊处理”hmm4,并生成hmm5:

(1)获得hmm4目录下hmmdefs文件:

perl ./scripts/fixSil hmm3/hmmdefs hmm4/hmmdefs

(2)复制hmm3目录下macros至hmm4目录下:

cp hmm3/macros ./hmm4/macros

(3)手动编辑sil.hed文件,并置于config目录下,sil.hed内容如下

AT   0.2 {sil.transP}
AT 0.2 {sil.transP}
AT 0.3 {sp.transP}
TI silst {sil.state[],sp.state[]}

(4)生成hmm5:

HHEd -H ./hmm4/macros -H ./hmm4/hmmdefs -M hmm5/ config/sil.hed ./lists/monophones

此时,hmm5目录下会生成hmmdefs和macros

(5)去除mkphones_color.led最后一行,保存文件mkphones_color_HLEd.led至config目录下

HLEd -l '*' -d ./dict/dict_color -i ./labels/phones_color.mlf ./config/mkphones_color_HLEd.led ./labels/trainwords.mlf

3、从“hmm5“训练到"hmm7“:

以hmm5为基础,生成hmm6
HERest -C ./config/config_color -I ./labels/phones_color.mlf -t 250.0 150.0 1000.0 -S ./config/train.scp -H ./hmm5/macros -H ./hmm5/hmmdefs -M ./hmm6/ ./lists/monophones

以hmm6为基础,生成hmm7
HERest -C ./config/config_color -I ./labels/phones_color.mlf -t 250.0 150.0 1000.0 -S ./config/train.scp -H ./hmm6/macros -H ./hmm6/hmmdefs -M ./hmm7/ ./lists/monophones

注:以上命令执行过后可能会有类似:“WARNING [-2331]  UpdateModels: sp[8] copied: only 0 egs”这样的WANGING,可以暂且忽略。

训练到“hmm7”,hmm模型就已经能达到不错的识别效果了,理论上来说,训练得越多,识别就会越精确。

若要训练hmm8、hmm9等等,只要参照以上的“HERest“命令即可。

不过,我打算就到此为止了。

让我们看看成果吧!

HTK Book涉及内容:

Chapter 3: 3.2.2 Step 7 - Fixing the Silence Models

(三)训练HMM模块的更多相关文章

  1. 应用HTK搭建语音拨号系统3:创建绑定状态的三音素HMM模型

    选自:http://maotong.blog.hexun.com/6261873_d.html 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声明:版权所有,转载请注明作者和来源 该系 ...

  2. 孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块

    孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块 (完整学习过程屏幕记录视频地址在文末) 由于本身tesseract模块针对普通的验证码图片的识别率并不高 ...

  3. opencv 手写选择题阅卷 (三)训练分类器

    opencv 手写选择题阅卷 (三)训练分类器 1,分类器选择:SVM 本来一开始用的KNN分类器,但这个分类器目前没有实现保存训练数据的功能,所以选择了SVN分类器; 2,样本图像的预处理和特征提取 ...

  4. 【Quick 3.3】资源脚本加密及热更新(三)热更新模块

    [Quick 3.3]资源脚本加密及热更新(三)热更新模块 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 lua相对于c++开发的优点之一是代码可以在运行的时候才加载,基于此我们 ...

  5. 单片机实验: 三轴磁场模块 GY-271

    最近买了一块三轴磁场模块进行实验 名称:HMC5883L模块(三轴磁场模块) 型号:GY-271 使用芯片:HMC5883L 供电电源:3-5v 通信方式:IIC通信协议 测量范围:±1.3-8 高斯 ...

  6. 一个普通的 Zepto 源码分析(三) - event 模块

    一个普通的 Zepto 源码分析(三) - event 模块 普通的路人,普通地瞧.分析时使用的是目前最新 1.2.0 版本. Zepto 可以由许多模块组成,默认包含的模块有 zepto 核心模块, ...

  7. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验三:按键模块② — 点击与长点击

    实验三:按键模块② - 点击与长点击 实验二我们学过按键功能模块的基础内容,其中我们知道按键功能模块有如下操作: l 电平变化检测: l 过滤抖动: l 产生有效按键. 实验三我们也会z执行同样的事情 ...

  8. [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设

    [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...

  9. JavaWeb_(SSH论坛)_三、用户模块

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 User表 id ...

随机推荐

  1. CJOJ 1071 【Uva】硬币问题(动态规划)

    CJOJ 1071 [Uva]硬币问题(动态规划) Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为 ...

  2. 在Jekyll博客添加评论系统:gitment篇

    最近在Github Pages上使用Jekyll搭建了个人博客( jacobpan3g.github.io/cn ), 当需要添加评论系统时,找了一下国内的几个第三方评论系统,如"多说&qu ...

  3. Echarts报错[MODULE_MISS]"echarts/config" is not exists!

    项目用到Echarts插件,时下比较流行的是模块化包引入,但是很悲催的是楼主用的是标签式引入,所以从官网copy来的代码总是报一个 [MODULE_MISS]"echarts/config的 ...

  4. JS - 讨论 - 编码习惯 - JavaScript代码到底要不要写分号?

    如题:烦请大家在评论区给出原创意见!多谢!

  5. CSS3浏览器兼容

    不同的浏览器需要不同的前缀 -webkit chrome和safari -moz firefox -ms ie -o opera 一个炫酷标题效果: HTML: <!DOCTYPE HTML&g ...

  6. JMeterPluginsCMD Command Line Tool

    There is small command-line utility for generating graphs out of JTL files. It behave just like righ ...

  7. synchronized Lock用法

    在介绍Lock与synchronized时,先介绍下Lock: public interface Lock { void lock(); void lockInterruptibly() throws ...

  8. MyBatis+mysql 简单分页

    注意:limit不能跟动态内容 <select id="fenYe" parameterType="int" resultType="com.x ...

  9. Hibernate一对多实例

    本文向大家介绍Hibernate实例一对多的情况,可能好多人还不了解Hibernate实例一对多,没有关系,下面通过一个实例来帮助您理解Hibernate实例一对多,希望本文能教会你更多东西. 先看由 ...

  10. CocoaPods私有库管理

    简介: 前一篇文章已经介绍过如果安装使用CocoaPods,下面将要介绍如果通过CocoaPods和git来维护我们私有的库. 个人或公司在开发过程中,会积累很多可以复用的代码包,有些我们不想开源,又 ...