语音识别中声学模型是重中之重,常用到的声学模型是GMM-HMM,本文记录下声学模型训练的细节。

下图是识别某个孤立字的GMM-HMM示意图。HMM部分是文字所占的音素以及其转移概率。语音帧通过已经训练好的GMM得属于某个音素的概率,如0.016。

问题是这样的一个模型怎么训练呢?

问题一、一段语音是怎么切割音素的,如’我‘的拼音是wo,我们按声韵母分开是:w o?

         如果要训练w和o的分界点在哪我们不知道,所以HMM模型的训练就是问题。

这里使用EM算法,开始随机对语音分帧,例如平均分割语音,使用EM算法和前向后向算法(具体内容还需再熟悉)。

E 步是求出每一帧位于哪个音素,M 步是对于每个音素,找到它对应的所有帧,从这些帧的特征中估计音素模型的参数。

对齐之后就可以对每个状态进行GMM训练,之后循环E步M步。其中E步只要判断相邻音素的那一帧属于左边音素还是右边音素就可以了。

问题二、孤立词识别中的GMM-HMM和连续词识别中的GMM-HMM有什么不一样?

         孤立词识别中每个词都有自己的GMM-HMM,也就是说虽然有的词包括有相同的音素,但是数据不共享。

大词汇量的训练中,是对音素建立GMM-HMM模型,所以数据共享。

声学模型GMM-HMM训练相关推荐

  1. 传统语音识别(GMM+HMM)

    语音信号的采集: 语音信号计算机中是采用PCM编码按时间序列保存的一连串数据.计算机中最原始语音文件是wav,可以通过各种录音软件录制,录制是包括三个参数 fs:采样率 8000Hz 115200Hz ...

  2. 语音识别传统方法(GMM+HMM+NGRAM)概述

    春节后到现在近两个月了,没有更新博客,主要是因为工作的关注点正从传统语音(语音通信)转向智能语音(语音识别).部门起了个新项目,要用到语音识别(准备基于Kaldi来做).我们之前做的传统音频已基本成熟 ...

  3. HMM 训练 鲍姆-韦尔奇算法(Baum-Welch)

    是什么? 整个观测序列,t时刻状态为i的概率.

  4. kaldi基于GMM的单音素模型 训练部分

    目录 1. gmm-init-mono 模型初始化 2. compile-train-graghs 训练图初始化 3. align-equal-compiled 特征文件均匀分割 4. gmm-acc ...

  5. [转]语音识别中区分性训练(Discriminative Training)和最大似然估计(ML)的区别...

    转:http://blog.sina.com.cn/s/blog_66f725ba0101bw8i.html 关于语音识别的声学模型训练方法已经是比较成熟的方法,一般企业或者研究机构会采用HTK工具包 ...

  6. Kaldi 单音素模型训练流程与总结

    文章目录 脚本 原理 总体的流程介绍: 流程 1.初始化单音素模型 1.1gmm-init-mono.cc 1.2compile-train-graphs.cc 2.训练单音素模型 2.1align- ...

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

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

  8. Kaldi单音素GMM学习笔记

    建议在csdn资源页中免费下载该学习笔记的PDF版进行阅读:)点击进入下载页面 Kaldi单音素GMM学习笔记 目录 Kaldi单音素GMM学习笔记 原理 脚本 程序 gmm-init-mono co ...

  9. 腾讯 AI Lab副主任俞栋:过去两年基于深度学习的声学模型进展

    来源:腾讯AI Lab 概要:过去几年里,自动语音识别(ASR)已经取得了重大的进步 .这些进步让 ASR 系统越过了许多真实场景应用所需的门槛,催生出了 Google Now.微软小娜和亚马逊 Al ...

  10. HMM(隐马尔可夫)笔记

    (模板匹配)DTW主要作用: 把两段不同长度的语音在时间轴上进行了对齐. DTW不足: DTW本质上是一种模板匹配技术,只能进行简单的匹配,而且其参数简单,无法对语音信号的多样性建模,只适用于特定人的 ...

最新文章

  1. Vue中动态设置页面title
  2. Baseline needs more love
  3. 操作系统--处理机调度
  4. FFmpeg 音视频同步
  5. Java变量名的命名方式
  6. mysql myisam 分表_mysql myisam简单分表设计
  7. https://www.cnblogs.com/jingmoxukong/p/7755643.html
  8. matlab如何判断矩阵中元素都大于0_在MATLAB中找到矩阵中零元素的数量
  9. 一、1.1 Kaggle中kernel技巧
  10. Flink Weekly | 每周社区动态更新
  11. directX9SDK中提取的9个DLL文件
  12. 诺基亚接连巨亏:死守塞班难学摩托罗拉
  13. 前端商城项目实战-(前端篇)
  14. 阿阿斯顿发沙发是地方撒旦法
  15. 中班科学计算机,中班科学活动《蜗牛吃什么》
  16. 常见的计算机查询语言,利用SQL语句查询SCCM常用报表
  17. WPT、WPCN、SWIPT的区别与联系
  18. BO6.5和DIXI的安装和部署
  19. 错误代码1500什么意思_错误代码1500是什么意思啊
  20. HTTP常见状态码 以及解决方法

热门文章

  1. 怎么用真机测试android,andriod studio如何使用真机测试 andriod studio真机测试教程
  2. Hi3519V101运行MPP业务
  3. wordpress显示文章浏览量并且动态更新浏览量
  4. 送书 | 教你爬取电影天堂数据
  5. ioi 赛制_杨骏昭IOI2019参赛总结
  6. java倒叙遍历list
  7. fastadmin 配置阿里云邮箱SMTP 邮箱服务器(邮箱发件服务器)
  8. C语言—内存的管理和释放
  9. 2021-06-31 rockchip rv1126编译说明
  10. 微信 css area,微信小程序--手写一个地区选择器(多级联动)