HTK工具搭建识别器的总体框架

生成对抗网络(GAN、DCGAN、ACGAN)-----学习笔记 生成对抗网络学习笔记 生成对抗网络有两个关键结构:生成模型、判别模型。 生成模型:输入是一个服从正态分布的N维向量,利用这个N维向量生成一张图片。 判别模型:对于生成模型输出的图像判别它是不是真的图像。 生成模型和判别模型的博弈关系在于:生成模型的目的是生成让判别模型无法判别真伪的图像,而判别模型的目的是判断输入图像的真伪。 结合代码来看生成对抗网络中,生成器和判别器的训练过程: 判别模型的训... 阅读详情

        老早之前就学习了HTK工具,并用于搭建连续语音识别器,但是好久没有用对于一些东西又忘记了,现在由于做实验需要用到HTK,又重新看了一遍,所以把一些大致的东西记录下来,以后可以直接看这个。感觉用HTK搭建识别器,学习一门脚本语言非常重要,如Perl,和Shell..........

Hinit:用于对HMM模型的参数进行初始化。

HRest: 用Baum-Welch算法对HMM参数进行估计,可以用许多训练样本构造HMM模型参数,通常和Hinit一起使用。

识别工具:

在HTK中没有哪个工具直接实现了Viterbi算法,但是HVite工具中实现了该算法,

HVite用于孤立词识别,HNET和HRec用于连续语音识别,如果该识别器有语法图,也可以作为一个特例用于孤立词语音识别。

连续语音识别:

对于连续语音识别,需要找出每个连续语音的子词,可以用Hinit和HREst来初始化子词模型(bootstrap operation)。主要用于训练的工具是HERest,主要用于嵌入式训练(Embeddedtraining).嵌入式训练和用Baum-Welch训练孤立词模型的过程相似,不同的是它所有的模型一起训练,而不是一个一个模型的训练。在这个过程中不需要训练语音的分界信息,但是需要训练语音的对应的符号标记。

在HTK中的连续语音识别,用token passing algorithm取代Viterbi算法进行识别。该算法在库模块HNET和HRec中实现了,可以通过识别工具HVite调用。它能提供multiple-tokenpassing recognition, single-best output, lattice output, N-best lists, supportfor cross-word context-dependency, lattice rescoring and forced alignment.

 

 

说话人自适应

用工具HERest 和 HVite能进行说话自适应,它需要提供一定的自适应数据。HERest提供线下的有监督的自适应。而HVite提供在线的自适应(用HVite识别该词,再利用产生的符号标记进行调整HMM参数)。HERest的有监督自适应具有更强的鲁棒性。

 

HTK工具简介:

 


HSHELL:用于输入/输出控制。HMEM库用于内存管理。HMath:数学计算库

HSigp:语音分析中用到的信号处理库。

HLabel用于标记文件。HLM:用于语言模型。HNet:用于词网络和网格

HDict:用于词典。HVQ :VQ算法。 HModel:用于HMM模型的定义。

 

所有的语音文件通过HWave进行处理,用HParm进行参数化。HWave和HLabel对多种语音文件格式提供支持。HAudio用于实时语音输入,HGraf提供图形界面接口。HUtil provides a number of utility routines formanipulating HMMs while HTrain and HFB contain support for the various HTKtraining tools. HAdapt provides support for the various HTK adaptation tools.Finally, HRec contains the main recognition processing functions.

 

 

工具使用方法:

命令行参数形式:

HFoo  -T  1  -f 34.3  -a  -s  myfile  file1 file2

该工具主要包含两个主要的参数,file1和file2.加上四个可选参数。可选参数通常用小写字母表示,后面跟一个具体的数值,-f表示一个实数,-T表示一个整数,用于控制HTK工具的输出信息,-s表示一个字符串,-a后面没有数值,表示对工具的某些特性的屏蔽。

配置参数:

HFoo -C config -f 34.3-a -s myfile file1 file2

多个配置文件:HFoo -Cconfig1 -C config2 -f 34.3 -a -s myfile file1 file2

 

 

 

 

HTK语音识别过程

数据准备,训练,测试,分析结果

 

数据准备工具:

HSLab:用于语音的录制。

HCopy:用于特征提取,将原语音文件Copy为参数文件。

HList:用于检查提取的特征参数。

Transcriptions(标注)也需要提取准备,label在训练语音中可以不需要,HMM训练是一个上下文相关的一个过程,它需要标注信息,HLEd是用于将标签转换为HTK固有的标签格式。HLED可以输出单个的MLF Master Label File文件。

HLStats:用于收集和显示Label文件信息。

HQuant:用于建立VQ码本,用于离散HMM模型。

 

模型训练工具:

HTK的训练过程:


   1.需要先定义HMM原型,HMM模型的定义,均值和方差可以任意给定,但是转移概率矩阵要给出,后面 面的训练过程对这个不敏感,主要用于确定HMM的结构。转移概率需要给出合理的值(可以设置所有的转移概率相等),但是这样不影响后面的训练过程。

   2. 模型参数初始化(HInit and HRest)If there issome speech data available for which the location of the sub-word (i.e. phone)boundaries have been marked, then this can be used asbootstrap data. In this case, the tools HInit and HRest provideisolated wordstyle training using the fully labelled bootstrap data. Eachof the required HMMs is generated individually(用HINIT工具中的分段K均值算法进行参数的初始化). On the second and successive cycles, the uniformsegmentation is replaced by Viterbi alignment. The initial parameter valuescomputed by HInit are then further  re-estimatedby HRest.

When no bootstrap data is available, a so-called flatstart can be used. In this case allof the phone models are initialized to be identical and have state means andvariances equal to the global speech mean and variance (用HCompV工具计算全局的均值和方差)。

3.通过第二步已经创建了初始的HMM模型,用HERest工具对所有的训练集进行嵌入式训练。HERest performs a single Baum-Welch re-estimation of the wholeset of HMM phone models simultaneously. For each training utterance, thecorresponding phone models are concatenated and then the forward-backwardalgorithm is used to accumulate the statistics of state occupation, means,variances, etc., for each HMM in the sequence. When all of the training datahas been processed, the accumulated statistics are used to compute re-estimates of the HMMparameters. HERest工具是HTK的核心训练工具,可以用于处理大型数据库。

 

HHED是HMM模型定义的编辑工具,可以通过参数绑定或者增加混合高斯函来克隆上下文有关的HMM模型,然后进行参数的重估。re-estimate the parameters of the modified set using HERestafter each stage.为了提高特定说话人的识别率,可以用HERest和HVite进行说话人的自适应。

 

       建立上下文相关的HMM系统最大的问题就是训练数据的不足,所以需要找一个平衡点。The more complex the model set, the more data is neededto make robust estimates of its parameters, and since data is usually limited,a balance must be struck between complexity and the available data. 在连续HMM模型中,通常通过参数绑定来解决训练数据的不足。HSmooth:用于HMM模型高斯分布的平滑。

识别工具:

HVite:可以利用语言模型和词网格进行语音识别。

HVite takes as input anetwork describing the allowable word sequences, a dictionary defining how eachword is pronounced and a set of HMMs. Recognition can then be performed on either a list ofstored speech files or on direct audio input.

词网络是一个有向图,代表语音识别系统的任务语法。词网络用标准的HTK文件格式保存。HTK提供两个工具来创建词网络。HBUild,HPARSE:将文法转换成词网络。

词网络就是语法规则,限定哪些语句是合法的。

有了词网络就可以生成符合词网络的句子了。用HGEN工具实现,输入为词网络,输出为一些词的句子。

HLRecsore:可以让HVIte和HDEcode生成词网格,用于更复杂的语言模型。

HDMAN:词典管理工具。

分析工具:

HRESULTS:HResults which uses dynamic programming to align the twotranscriptions and then count substitution, deletion and insertion errors. HResults canalso provide speaker-by-speaker breakdowns, confusion matrices and time-alignedtranscriptions.

For word spottingapplications, it can also compute Figure of Merit (FOM) scores and Receiver OperatingCurve (ROC) information.

 

 

I2S时序及音频驱动 I2S、音频驱动 阅读详情

相关推荐

第一届“龙信杯”电子数据取证竞赛Writeup

第一届“龙信杯”电子数据取证竞赛Writeup

toto的博客 1万+

HTK 是什麼工具

HTK 是 HMM ToolKit 的缩写,它是一个开源的语音识别工具包,主要用于语音识别系统的研究和开发。HTK 包含了用于训练和评估 HMM 模型的工具,还有用于语音识别系统的建模和评估的工具。它可以支持不同类型的语音数据,如语音识别、语音合成、语音增强等。 ...

weixin_42613017的博客 777

CentOS校园网Web Portal认证自动化实战

Web Portal认证是一种基于HTTP重定向与表单提交的强制网络准入机制,其原理是网关劫持未认证流量并跳转至登录页,验证通过后通过Cookie维持会话授权。该技术广泛应用于高校、机场、酒店等场景,核心价值在于细粒度访问控制与用户身份绑定。典型应用包括Linux命令行环境下的校园网接入、无GUI设备的自动联网、以及实验室集群的集中认证管理。本文聚焦CentOS系统,深入解析curl、cookie持久化、动态表单参数提取等关键技术环节,提供可调试、可复现、可工程化的完整认证流水线。

weixin_30522983的博客 264

语音识别之HTK入门

语音识别之HTK入门 其实,无论语音识别还是HTK对我来说都不算是入门的事了。 但是现在重新再走一遍,目标还是很明确的——打牢基础。重新回顾收获肯定多多,就像我前段时间把《C++ primer plus》再看一遍一样。把之前理解不透的,知识盲点清理了一下,感觉顺畅了很多,以后还会再次看看这些经典的书籍。 入门的目标就是能够把《HTK BOOK》中的拨号系统实现,各个中间文件的格式搞明白,用到哪个工具,基本掌握它的实现原理。这次可能还会对关键代码在visual studio下调试一遍。如何在visual

程序的魅力 3194

OpenClaw 最强技能 self-improving-agent 详解:让 AI 从错误中自主学习

self-improving-agent 是 OpenClaw 生态中最受欢迎的技能插件,下载量突破 268k。它能让 AI 记住犯过的错误和解决方案,实现持续自我改进。本文深入讲解其工作原理、安装配置和实战案例。测试数据显示:部署流程时间从 15 分钟降到 2 分钟(87%↓),API 调试时间从 2 小时降到 20 分钟,数据库查询编写时间减少 90%。文章包含完整架构图、配置文件示例、3 个详细实战案例和性能测试数据,适合开发者、运维和数据分析师使用。

qq_38610923的博客 3634

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——原生“龙虾”OpenClaw快速部署、问题速查与避坑指南

至此,你已经完成了从选购服务器到配置AI大脑的全过程。无论是想在云上养一只7x24小时的“龙虾”,还是在本地体验AI Agent的魅力,上述指南都提供了明确的路径。下一步,就是接入飞书、钉钉或QQ,让你的OpenClaw真正开始“干活”赚钱了 [citation:6]。

冯·诺依曼 989

HTK学习笔记(一)

HTK学习笔记(一)一、HTK软件体系结构  HTK的软件体系结构 HTKTool各部分的功能:所有的语音输入和输出都是通过HWAVE或HPARMHAudio:用于从音频设备输入波形HWave:用于从文件中读取波形HSLab:波形显示工具,可以用于采集语音数据并且进行手动标注HSigP:用于语音处理的数据流输出,支持语音分析中使用到的信号处理操作HVQ:用于语音处理的数据流输出参数化编码由HPar...

Messi-Q Blog 1万+

电磁阀颤振工作原理

颤振 颤振,弹性结构在均匀气(或液)流中受到空气(或液体)动力、弹性力和惯性力(见达朗伯原理)的耦合作用而发生的大幅度振动,它是气动弹性力学中最重要的问题之一。 随着机电液一体化技术的发展,电液比例控制技术的应用越来越广泛。电液比例控制系统范围较广,在液压传动与控制过程中,系统能够接受模拟信号或数字信号,使输出的流量或压力连续成比例地变化,都属于此类。该控制系统的优点是充分利用了液压控制与电气控制的长处,即功率传递靠液压,信号处理靠电气的优化措施。 电液比例控制原理与要求 液压控制系统中两个最重要的被控参数

小幽余生不加糖 1万+

HTK的使用方法

一,HTK目录结构 htk是一个开源的软件,解压之后的目录如下: [root@localhost htk]# ls AUTHORS config.status env HTK HTKTools Makefile.in ChangeLog config.sub FAQ HTKBook install-sh READM...

系统 运维 1534

MobaXterm简介和使用(服务器连接工具)

MobaXterm 是一个功能强大的远程计算工具,集成了许多常用的远程计算功能,包括 SSH、X11、RDP、VNC、FTP、SFTP 等。

清平乐的技术专栏 1940

Android Framework 开发工程师职位深度解析与面试指南

摘要:博泰车联网科技(上海)股份有限公司招聘Android Framework开发工程师,负责车载系统的底层开发与优化。岗位要求5年以上经验,深入掌握Android Framework机制(WindowManager、PowerManager等模块),熟悉高通平台中间件架构及NDK/JNI开发,具备性能优化(启动时间、ANR处理)、OTA升级等能力。需熟练使用Android Studio、Git等工具,有车载开发经验者优先。工作内容包括Framework定制开发、问题排查及技术文档编写。

郑伟强dev的专栏 551

HTK简介

HTK(HMM Tools Kit)是一个剑桥大学开发的专门用于建立和处理HMM的实验工具包[1],主要应用于语音识别领域,也可以应用于语音合成、字符识别和DNA排序等领域。HTK经过剑桥大学、Entropic公司及Microsoft公司的不断增强和改进,使其在语音识别领域处于世界领先水平,另外,HTK还是一套源代码开放的工具箱,其基于ANSI C的模块化设计方式可以方便地嵌入到用户系统中。

yuanya的专栏 5076

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

使用HTK语音工具包进行孤立词识别基础教程

1.前言 本教程主要介绍使用HTK工具包进行孤立词语音识别系统的搭建,主要参考书籍:HTK BOOK 2.孤立词识别系统 在本系统中我们将要实现三个词的识别系统,词汇集为:{brightness,channel,color} 2.1.搭建步骤  A:创建语料库,brightness,channel,color各录制5次。 B:声学分析,把wavform的声音文件转换为mfcc格

James Zhang's Blog 4669

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HTK 第二章 HTK工具包概述

基于HMM识别的基本原理以及一些HTK工具已经在前面的章节中讲述。本章开始讲述HTK工具的软件体系结构。接下来将会介绍所有HTK工具并结合基于HMM识别器的创建与测试进行说明。为了顾及HTK老用户,HTK最新版本的修改之处会被列出。接下来的章节将依据一个简单连续语音识别系统的构建实例来讲解HTK工具包的使用。

chinabing的专栏 3984

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

A Digit Recognizer——基于HTK实现数字串识别系统

这篇博文,可以说是之前学习笔记的实践,准备完成一个基于HTK实现数字串识别系统 下面就让我们开始吧!由于很多部分的讲解在之前的博文中已经给出,所以这篇文章我们着重记录实验过程。 整个系统分为四大部分,共有11步组成: (一)数据准备 Step 1: The Task Grammar Step 2: The Dictionary Step 3: Recording the Data

James Zhang's Blog 3116

基于HTK的语音拨号系统

为什么80%的码农都做不了架构师?>>> ...

weixin_34355715的博客 410

应用HTK搭建语音拨号系统4: 识别器评估

选自:http://maotong.blog.hexun.com/6261890_d.html 苏统华 哈尔滨工业大学人工智能研究室 2006年10月30日 声明:版权所有,转载请注明作者和来源 该系统能够识别连续说出的数字串和若干组姓名。建模是针对子词(sub-word, eg. 音素),具有一定的可扩充性。当加入一个新名字时,只需修改发音词典和任务语法即可。模型...

aig8440的博客 137

HTK下实现数字的语音识别(1)链接

本实验是利用HTK来搭建了一个数字语音识别系统,主要参考了苏统华的《应用HTK搭建语音拨号系统》,但是因为还是在实验中遇到了一些问题,所以希望能够把出现的问题拿出来,与大家分享。      整个系统分为四大部分,共有11步组成:      (一)数据准备         step1 : the Task Grammar         step2 : the Diction

jiliu_yongjin的专栏 609

用HTK搭建语音识别器实录(TIDigits数据库)

TIDIGITS数据库包含11个孤立数字,分别为one,two,three,four ,five,six,seven,eight,nine,oh,zero. 1.数据准备 1.1.1 建立任务语法 它的任务语法如下: $digit= ( one | two | three | four | five |six | seven | eight | nine | zero |

qqh19910525的博客 1510

基于HTK语音工具包进行孤立词识别的使用教程

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34129696的博客 211

机器学习&数据挖掘笔记_13(用htk完成简单的孤立词识别)

最近在看图模型中著名的HMM算法,对应的一些理论公式也能看懂个大概,就是不太明白怎样在一个具体的机器学习问题(比如分类,回归)中使用HMM,特别是一些有关状态变量、观察变量和实际问题中变量的对应关系,因此目前急需一个实际例子来加深对HMM算法的仰慕,大家如有好的例子来具体学HMM算法的话,欢迎分享!众所周知,著名的HMM开源库为Hidden Markov Model Toolkit(以下简称HTK

king16304的博客 1178

HTKBOOK翻译——第一章 隐马尔科夫模型工具箱的基础

原文链接: 第一章 隐马尔科夫模型工具箱的基础 HTK是一个用于建立隐马尔科夫模型的工具箱。隐马尔科夫模型可以被用于建立任何时间序列的模型且HTK的核心是通用的,但是,HTK主要为建立基于隐马尔科夫模型的语音处理工具而设计的,尤其是语音识别,因此,HTK里的许多基础架构支持专注于这项任务。正如上图所示,涉及两个主要处理阶段。第一,HTK训练工具被用于估计一组使用训练发音和它们相

joey_su的专栏 3309
上一篇: C语言背景知识
下一篇: 用HTK搭建语音识别器实录(TIDigits数据库)
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值