亲自动手用HTK实现YES NO孤立词识别
很久以前的发在研学论坛的帖子了,再重新整理了一下,希望对新手有用。
完整版链接:http://yun.baidu.com/s/1hapcE
第一步 创建语音文件 录音
命令:HSLab any_name.sig
第二步:声学分析
抽取yes和no的mfcc特征参数。保存在data/train/lab与data/train/sig下。
命令:HCopy.exe -A -D -C analysis.conf -S targetlist.txt
第三步:HMM原型定义
建立文件yes.hmm、no.hmm、sil.hmm保存在model/下。
第四步:HMM训练
1.初始化:(建立文件夹yn/train/init)
命令: HInite.exe -A –D –T 1 –H model/yes.hmm –S trainlist.txt –M mode/proto yes
2.训练
命令: HRest.exe -A -D -T 1 -H model/proto/yes.hmm -S trainlist.txt -M model/proto yes
第五步:任务定义
1. 建立语法规则和字典
建立语法规则文件gram.txt(在yn文件夹下),内容为:
/*
* Task grammar
*/
$WORD = YES | NO;
( { SIL } [ $WORD ] { SIL } )
建立字典文件dict.txt(在yn文件夹下),内容为:
YES [yes] yes
NO [no] no
SIL [sil] sil
2. 建立任务网络
命令:HParse gram.txt net.slf
HSGen -s net.slf dict.txt
第六步:识别
1. 建立文件hmmlist.txt(在yn文件夹下)文件,内容为:
yes
no
sil
注意每一列最后留一个空格。
2. 创建待识别信号并抽取mfcc参数(文件为yes01.mfcc)
3. 命令:Hvite.exe -H model/proto/yes.hmm -H model/proto/ no.hmm -H model/proto/sil.hmm -i reco.mlf -w net.slf dict.txt hmmlist.txt yes.mfcc
(是model/proto/no.hmm 中间没有空格)
识别结果自动存放在文件reco.mlf
#!MLF!#
"yes01.rec"
0 34300000 yes -17771.425781
第七步:识别自己写的一个perl脚本,做了一个简单的统计

.
亲自动手用HTK实现YES NO孤立词识别的更多相关文章
- 机器学习&数据挖掘笔记_13(用htk完成简单的孤立词识别)
最近在看图模型中著名的HMM算法,对应的一些理论公式也能看懂个大概,就是不太明白怎样在一个具体的机器学习问题(比如分类,回归)中使用HMM,特别是一些有关状态变量.观察变量和实际问题中变量的对应关系, ...
- 基于HTK语音工具包进行孤立词识别的使用教程
选自:http://my.oschina.net/jamesju/blog/116151 1前言 最近一直在研究HTK语音识别工具包,前几天完成了工具包的安装编译和测试,这几天又按耐不住好奇,决定自己 ...
- 如何用kaldi做孤立词识别-初版
---------------------------------------------------------------------------------------------------- ...
- yesno孤立词识别kaldi脚本
path.sh主要设定路径等 export KALDI_ROOT=`pwd`/../../.. [ -f $KALDI_ROOT/tools/env.sh ] && . $KALDI_ ...
- 如何用kaldi做孤立词识别三
这次wer由15%下降到0%了,后面跑更多的模型 LOG (apply-cmvn[5.2.124~1396-70748]:main():apply-cmvn.cc:162) Applied cepst ...
- 如何用kaldi做孤立词识别二
基本模型没有变化,主要是调参,配置: %WER 65% 下降到了 15% 后面再继续优化... Graph compilation finish!steps/decode.sh -- ...
- Qt5.7 实现Https 认证全过程解析(亲自动手版)
#### NetworkRequestManager.h #include <QSsl>#include <QSslKey>#include <QSslSocket> ...
- 亲自动手实现Python+pygame中国象棋游戏
功能1:实现游戏整体界面显示 一.创建基本的结构 代码如下: import time import pygame def main(): # 初始化pygame pygame.init() # 创建用 ...
- 机器学习&数据挖掘笔记_14(GMM-HMM语音识别简单理解)
为了对GMM-HMM在语音识别上的应用有个宏观认识,花了些时间读了下HTK(用htk完成简单的孤立词识别)的部分源码,对该算法总算有了点大概认识,达到了预期我想要的.不得不说,网络上关于语音识别的通俗 ...
随机推荐
- MONO加载DLL调试命令
http://www.mono-project.com/docs/advanced/pinvoke/dllnotfoundexception/ http://www.mono-project.com/ ...
- 利用Ramdisk为Firefox 加速
用Firefox的人可能会羡慕Chrome的速度,但是又不舍得丢弃Firefox.Firefox的加速,可能通过一系列的方法,例如用fasterfox扩 展.但利用虚拟内存盘 Ramdisk ,将将内 ...
- ecshop团购显示“库存不足”
产生原因:是因为产品设置了多属性 解决办法:打开group_buy.php 第 267行找到 empty($product_info) ? $product_info = array(, ) : '' ...
- ASP.NET技巧:教你制做Web实时进度条
网上已经有很多Web进度条的例子,但是很多都是估算时间,不能正真反应任务的真实进度.我自己结合多线程和ShowModalDialog制做了 一个实时进度条,原理很简单:使用线程开始长时间的任务,定义一 ...
- IP欺骗原理与过程分析
IP欺骗攻击法 原创:r00t <r00t@unsecret.org> QQ: 22664566 http://www.unsecret.org --------------------- ...
- JavaScript正则表达式方法总结
str.match(reg) 1.reg没有全局标志g,match将只执行一次匹配.匹配成功返回一个数组,arr = [$0,$1,$2,...,index,str],匹配失败返回null. arr中 ...
- java正则表达式 --简单认识
学习目标 正则表达式的作用正则表达式的模式匹配Pattern类和Matcher类的使用掌握String对正则的支持具体内容一.认识正则(为什么要有正则) 方便的对数据进行匹配 执行复杂的字符串验证.拆 ...
- html 动态显示元素文本
jquery easy ui:http://www.runoob.com/jeasyui/jeasyui-dd-shopping.html <html> <head> < ...
- 如何在本地配置php分析工具xhprof
测试环境: linuxMint + nginx1.4.6+mysql5.5+php5.5 什么是xhprof? XHProf是一个分层PHP性能分析工具.它报告函数级别的请求次数和各种指标,包括阻塞时 ...
- SQLite初试...
string dataPath = "../../UserData.dbx"; //System.IO.Directory.GetCurrentDirectory() + &quo ...