本文介绍三音素训练部分。

上篇文章已经提到了如何对三音素聚类,构建决策树,接下来进行对三音素中各个GMM进行训练。三音素训练部分和单音素大致相同,都是运用EM算法进行参数的更新,具体部分可以看单音素训练部分。同样也是用gmm-align-compiled,gmm-acc-stats-ali,gmm-est这三个进行参数更新,重新对齐等。本文因此主要介绍与单音素训练不同的初始化部分。

1. gmm-init-model

Usage: gmm-init-model [options] <tree-in> <tree-stats-in> <topo-file> <model-out> [<old-tree> <old-model>]

输入:决策树,决策树统计量,topo文件
输出:三音素的模型

读取决策树的统计量计算mean,mean_invvar,gconst等建立声学模型am-gmm,运用该函数InitAmGmm()。用tree和topo初始化TransitionModel trans_model。将transition model和am-gmm 共同输入到1.mdl中作为初始化的三音素模型, 并用GetOccs()将每个pdf的occupancy输出为1.occ

2. gmm-mixup

Usage:  gmm-mixup [options] <model-in> <state-occs-in> <model-out>

输入:三音素模型,每个pdf所占的分量
输出:新的模型

这一步用MergeByCount()或者SplitByCount(), 分裂或者合并单高斯直到和指定的高斯数目一样,最后输出新的模型。其中用到的算法和单音素训练中gmm-est里提到的一样,这里不再详述。

3. convert-ali

Usage:  convert-ali  [options] <old-model> <new-model> <new-tree> <old-alignments-rspecifier> <new-alignments-wspecifier>

输入:训练好的单音素模型,三音素模型,tree,单音素的对齐序列
输出:三音素的对齐序列

之前由单音素GMM我们得到训练数据的对齐文件,但是单音素GMM中的模型和三音素GMM中模型不同,两者的每个数据成员都不一样,所以要把用单音素表示的对齐转换成三音素表示的对齐。

根据每个单音素对齐序列中transition-id 我们可以直到表示单音素模型中哪个phone的哪个状态,因为虽然变成三音素了,中心位置phone和第几个状态没有变,根据决策树直接换成三音素模型中transition-id,输出新的对齐序列即可。

最后由convert-ali得到三音素莫心的对齐后,后面的GMM参数更新就和单音素GMM一样,采用EM算法。

完。

kaldi学习笔记-三音素训练2相关推荐

  1. kaldi 学习笔记-三音素训练1(Decision Tree)

    开始介绍kaldi三音素训练大致流程.本文主要介绍决策树(Decision Tree)部分. 1. acc-tree-stats Usage: acc-tree-stats [options] < ...

  2. kaldi 学习笔记-单音素训练

    本人初入语音识别一个月, 最近开始学习kaldi源码.本文介绍kaldi语音识别对单音素训练的大致流程.欢迎指正纠错,谢谢. 0. 预备知识 单音素的训练在一个名为train-mono.sh的shel ...

  3. 从0开始学习kaldi决策树绑定+三音素

    从0开始的Kaldi决策树绑定+三音素 这个博客主要介绍了三音素GMM的原理以及Kaldi对其的实现,由于没有分篇幅所以全篇较长 三音素GMM 在单音素GMM中,我们对每一个音素建立一个HMM模型,并 ...

  4. [转载]kaldi学习笔记:run.sh(egs/timit/s5)详细分析:从数据准备到特征提取

    from:http://blog.csdn.net/xingxingdeyuanwang6/article/details/47401875 首先看一下前三行: . ./cmd.sh [ -f pat ...

  5. Kaldi学习笔记:01(kaldi/egs/sitw/v1)run.sh解析

    kaldi学习笔记-01-sitw 简介 脚本修改 run.sh 简介 研究生阶段入坑了说话人识别方向,最近在学习如何使用Kaldi提取i-vector进行说话人识别,在这里记录一下学习的笔记. 这次 ...

  6. 语音识别(ASR)-- Kaldi 学习笔记

    语音识别(ASR)-- Kaldi学习笔记 语音识别简介 GMM-HMM基本原理 DNN-HMM(基于神经网络) Kaldi Kaldi架构简介 Kaldi在Windows下的安装 工具准备 编译Op ...

  7. HALCON 21.11:深度学习笔记---有监督训练(6)

    HALCON 21.11:深度学习笔记---有监督训练(6) HALCON 21.11.0.0中,实现了深度学习方法.不同的DL方法有不同的结果.相应地,它们也使用不同的衡量标准来确定网络的" ...

  8. CV学习笔记-BP神经网络训练实例(含详细计算过程与公式推导)

    BP神经网络训练实例 1. BP神经网络 关于BP神经网络在我的上一篇博客<CV学习笔记-推理和训练>中已有介绍,在此不做赘述.本篇中涉及的一些关于BP神经网络的概念与基础知识均在< ...

  9. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

最新文章

  1. 分享一个C#使用AT指令控制语音猫的例子
  2. GitHub教程学习笔记3---分支管理
  3. WHERE WILL BUSINESS PHD GO?
  4. sed命令 学习笔记
  5. 荣耀30系列预热视频曝光:前置开孔双摄 侧面看够薄
  6. [react-router] hashHistory 和 browserHistory 的区别
  7. 【微信公众号控制硬件14 】 分享安信可微信公众号定位NB-IoT模组的源码和实现过程,可实现远程查看模组定位位置。(附带源码)
  8. 查看MD04结果的程序 Production Planning - Extract data from MRP Table
  9. 微信联盟链接不到服务器怎么,LOL微信登不上去怎么办?微信登不上解决方法推荐...
  10. mysql不停库全量备份,mysql全量备份数据
  11. 凉凉!Tumblr 或被 300 万贱卖
  12. OrCAD多页原理图器件按页编号的设置
  13. 冰冻三尺,非一日之寒。数据解析——xpath(1)
  14. python文件名可以用中文吗_python对中文路径/文件名的重命名
  15. 基于天问block编译环境下ASRPRO语音芯片程序编写教程(二)语音识别,GPIO输入输出,PWM输出篇
  16. matlab中绘制三维散点图scatter3函数的使用方法(附matlab代码)
  17. 艾瑞报告| 中国 IoT 物联网行业研究
  18. PATA1138_偷鸡大法
  19. 一个月捞偏门可挣20万?来看看!
  20. Github 开源:使用升讯威 Mapper( Sheng.Mapper)与 AutoMapper 互补,大幅提高开发效率!...

热门文章

  1. ReadFile WriteFile DO_DIRECT_IO 中的IRP操作
  2. 【ArcGIS微课1000例】0038:注记(Annotation)的使用方法
  3. 黑苹果OC配置工具:OpenCore Configurator for Mac(2.48.0.0中文)
  4. CDH启动出现cloudera-scm-server一直挂掉
  5. spring——事务动态代理造成属性为null
  6. 迁移学习和模型的微调
  7. NVIDIA Jetson TK1 rosrun rviz segmentation fault的解决方法
  8. java里人带狗散步,不想带狗狗出门散步,告诉你5个遛狗的好处,不仅仅只有狗狗受益...
  9. hbuilderx 数据库_HBuilderX入门教程
  10. 连肝7个晚上,总结了计算机网络的知识点!(共66条)