HTK语音识别中的决策树

2023-11-14

1.为什么需要决策树


我们在使用HTK进行语音识别模型训练的过程中,首先进行的是单音素、单个高斯的模型训练。抛开单个高斯不说,单音素模型本身有很大缺点:没有考虑到本音素前后音素的发音对本音素的影响。比如,同样是一个音素iy,如果它前面的音素分别是h和p,那么iy这个音素在这两种情况下的发音会有所不同,那么模型参数也就会受到其影响,此时,如果用同一个模型来描述音素iy,那么就会不合理。


为了解决这个问题,采用三音素(triphones)模型,典型的三音素模型如下 [t-iy+n],这表示iy音素前一个音素是t,后一个因素是n,模型[t-iy+n] 用来表示这种情况下的音素iy模型,那么此时,这个三音素模型和 [t-iy+ng] 不再表示同一个模型了,虽然他们都是表示音素 iy的模型,但是因为中心音素(此处为iy)的上下文音素不同了,所以此时它们其实是两个不同的模型。


如此以来,模型的数量会剧增。单因素模型时,假如我们只有40个音素需要建模,每个音素有3个HMM状态。但是在三因素模型中,最坏的情况是需要给40×40×40 个模型进行建模,当然这其中有很多是不可能或者不会在训练数据中出现的。但是相对于单音素模型来说,这个数目已经增加了很多倍,这就导致了一个问题:训练数据不足!那么如何解决因为模型数量增加而导致训练数据不足的问题呢?HTK使用了模型状态绑定的方法。所谓的模型状态绑定,就是让一些具有某些相似特征的模型的一些状态来共享一组模型参数,这样就能够有效的减少模型参数的数量从而解决训练数据不足的问题。
2.如何使用决策树进行模型的状态绑定


在进行状态绑定时,我们首先要做的就是使用决策树进行聚类。具有相同类别的模型,他们的某一个状态可以共享一组参数。例如:对于音素iy,如果它的前一个音素分别是m和n,由于m和n发音比较像,所以模型[m-iy+*]和[n-iy+*]的第一个状态的参数就应该比较相似,那么我们就把这两个模型的第一个状态的参数进行绑定,也就是说这两个模型的第一个状态参数是相同的。那么到底如何确定那些模型的哪些状态可以共用一组参数也就是可以进行绑定参数?这就用到了决策树进行聚类,具有相同类别的状态就可以共用一组参数。


在这里,一定要注意,我们在建立决策树时,是对每个音素的每个状态都建立一个决策树,而不是只对某一个音素来建立。这里,我们以音素ih的首状态为例,详细说明决策树的建立过程。
HTK语音识别中的决策树

HTK语音识别中的决策树
在上图中的每一个类中,A、B……E,每一个类中的第一个状态都被绑定在一起,如此进行,把所有的音素的所有状态都进行决策树的建立,就能完成参数的绑定。


3.决策树中的问题集
在上图中,我们看到一些问题集,类似与“左边是清音吗?”等等,这些问题集都是根据声学和语音学特征提出来的。


http://blog.sina.com.cn/s/blog_6df8f2620102v0gb.html 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTK语音识别中的决策树 的相关文章

  • 【C#】.Net 腾讯云一句话识别 【实例】

    腾讯云一句话识别实例 using System using System Threading Tasks using TencentCloud Common using TencentCloud Common Profile using T
  • 深度学习和语音系列教程 5-100:求共振峰

    文章目录 1 基音频率 1 1 基音频率的查看 2 共振峰的获取 2 1 倒谱法求共振峰 2 2 测试结果 2 3 共振峰位置坐标 2 4 多种情况下的共振峰测试 1 基音频率 1 1 基音频率的查看 基音频率就是发浊音时 气流通过声门使声
  • 2021-09-15 C++ 继承和多态(虚函数,纯虚函数,虚继承)

    C 继承和多态 虚函数 纯虚函数 虚继承 一 继承 继承的概念 为了代码的复用 保留基类的原始结构 并添加派生类的新成员 继承的本质 代码复用 我们用下图解释下 那么我们这里就可以提出几个问题了 进程的方式有哪些呢 这里有三种继承方式 pu
  • Voice Control for ChatGPT 轻松实现使用语音与ChatGPT进行对话。

    缘由 日常生活中 我们与亲人朋友沟通交流一般都是喜欢语音的形式来完成的 毕竟相对于文字来说语音就不会显的那么的苍白无力 同时最大的好处就是能解放我们的双手吧 能更快实现两者间的对话 沟通便更高效了 Voice Control for Cha
  • AI语音合成软件免费的有哪些?常用的语音合成软件

    近年来 短视频作为一种新兴的互联网内容传播形式 逐渐获得各大平台和粉丝的青睐 其时长简短并适合在移动状态和休闲状态下观看的特点 将产品受众面拓展到整体网民的88 3 上至老年人 下至小孩子 都多多少少可以自己创作一些短视频作品以供娱乐 那么
  • Audacity如何改变音频节奏?Audacity调整音频节奏方法

    很多人在录完音频后都会试听效果 经常会发现音频的节奏要么太快 要么太慢 可是自己又不愿意花时间 花人力 物力再去录制音频 为了解决这问题 我们可以用Audacity改变音频的节奏 加快或者减慢某个音频片段或者整个音频的节奏 只是很多人不懂怎
  • cogmen: contextualized gnn based multimodal emotion recognition(2022)

    cogmen 基于语境gnn的多模式情感识别 摘要 情感是人类互动的固有部分 因此 开发理解和识别人类情感的人工智能系统势在必行 在涉及不同人群的对话中 一个人的情绪受到另一个说话者的话语以及他们自己在话语中的情绪状态的影响 在本文中 我们
  • 前端实现语音播放

    0 Web Speech API Web Speech API 使您能够将语音数据合并到 Web 应用程序中 Web Speech API 有两个部分 SpeechSynthesis 语音合成 文本到语音 TTS 和 SpeechRecog
  • ECM麦克风电路元器件计算

    ECM麦克风电路元器件设计 一 计算Micbias 偏置电阻R R 偏置电压 micbias电压 静态电流 1 偏置电阻计算案例 供电2V ECM麦克风电流500uA 偏置电阻取值 设置合适的偏置电阻 麦克风实现最大输出 需麦克风两端电压是
  • Java文字转语音

    注意 只能在windows上使用 import com jacob activeX ActiveXComponent import com jacob com Dispatch import com jacob com Variant 文字
  • 微软晓晓朗读录音工具windows-文字转语音

    微软Edge的 大声朗读 功能大家都用过吧 这个功能非常好用 但是美中不足的是它不能保存语音文件 所以就有大神提取了edge的功能和接口作了这个软件 使用很简单 直接输入文字 然后点击 朗读 软件就会识别文字 然后自动播放语音 在下方的设置
  • 路由协议—基于深度路由协议DBR: Depth-Based Routing for Underwater Sensor Networks

    初稿 标题 0 标题 1 标题 2 3 基于深度路由协议Depth Based Routing Protocol 在这一章节中 我们详细介绍了DBR路由协议 3 1 网络架构 如前所述 DBR是可以有效利用多接收器的水下传感器网络架构 图1
  • 一文了解语音合成技术(TTS)

    TTS是Text To Speech的缩写 即 从文本到语音 它将计算机自己产生的 或外部输入的文字信息转变为可以听得懂的 流利的汉语口语 或者其他语言语音 输出的技术 隶属于语音合成 SpeechSynthesis 语音 在人类的发展过程
  • 一个将XM音频导入小宇宙的工具

    这个喜马拉雅语音导出工具 能够帮助你导出喜马拉雅中的音频节目 下载后的音频文件 可以复制到小宇宙设备文件夹里面 这样我们就可以用小宇宙播放我们导入的音频文件啦 windows电脑版 https jscs lanzouw com imVZ40
  • C# 语音识别

    在 NET4 0中 我可以借助System Speech组件让电脑来识别我们的声音 以上 当我说 你好 显示 Darren 我说 age 显示 永远21 如何做呢 首先要开启电脑的语音识别功能 右键电脑右下方的扬声器 选择 录音设备 点击默
  • 腾讯智影+IDM进行数字人制作(无限使用)

    腾讯智影 IDM进行数字人制作 无限使用 首先确保您电脑上有windows自带的Edge浏览器 安装IDM下载工具 IDM 安装到浏览器扩展 下载IDM使用工具 链接 https pan baidu com s 1iARibnICpbnOR
  • 利用百度AI 合成语音2

    文字合成语音 coding UTF 8 from aip import AipSpeech from playsound import playsound 你的 APPID AK SK APP ID 20232679 API KEY bZc
  • 基于MATLAB GUI的LSB语音信号数字水印

    基于MATLAB GUI的LSB语音信号数字水印 数字水印是一种在数字媒体中嵌入信息的技术 它可以用于版权保护 身份验证以及数据完整性验证等应用 在本文中 我们将介绍如何使用MATLAB GUI和最低有效位 Least Significan
  • Montreal Forced Aligner (MFA)安装教程&失败原因集合

    写在前面 本文章只考虑2 x版本以后的安装时遇到的问题 推荐大家看官方的安装教程 里面设计不同系统 不同场景的安装方式 官网安装教程地址 https montreal forced aligner readthedocs io en lat
  • CAS乐观锁使用AtomicStampedReference版本号控制手动实现原子计数

    原子计数可以直接使用AtomicInteger 下面采用AtomicStampedReference的版本号控制原子操作解决ABA问题 最终结果一定最大的是200000 1A gt 2B gt 3A public class AtomicR

随机推荐