很久以前的发在研学论坛的帖子了,再重新整理了一下,希望对新手有用。

完整版链接: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孤立词识别的更多相关文章

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

    最近在看图模型中著名的HMM算法,对应的一些理论公式也能看懂个大概,就是不太明白怎样在一个具体的机器学习问题(比如分类,回归)中使用HMM,特别是一些有关状态变量.观察变量和实际问题中变量的对应关系, ...

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

    选自:http://my.oschina.net/jamesju/blog/116151 1前言 最近一直在研究HTK语音识别工具包,前几天完成了工具包的安装编译和测试,这几天又按耐不住好奇,决定自己 ...

  3. 如何用kaldi做孤立词识别-初版

    ---------------------------------------------------------------------------------------------------- ...

  4. yesno孤立词识别kaldi脚本

    path.sh主要设定路径等 export KALDI_ROOT=`pwd`/../../.. [ -f $KALDI_ROOT/tools/env.sh ] && . $KALDI_ ...

  5. 如何用kaldi做孤立词识别三

    这次wer由15%下降到0%了,后面跑更多的模型 LOG (apply-cmvn[5.2.124~1396-70748]:main():apply-cmvn.cc:162) Applied cepst ...

  6. 如何用kaldi做孤立词识别二

    基本模型没有变化,主要是调参,配置: %WER     65%  下降到了     15% 后面再继续优化... Graph compilation finish!steps/decode.sh -- ...

  7. Qt5.7 实现Https 认证全过程解析(亲自动手版)

    #### NetworkRequestManager.h #include <QSsl>#include <QSslKey>#include <QSslSocket> ...

  8. 亲自动手实现Python+pygame中国象棋游戏

    功能1:实现游戏整体界面显示 一.创建基本的结构 代码如下: import time import pygame def main(): # 初始化pygame pygame.init() # 创建用 ...

  9. 机器学习&数据挖掘笔记_14(GMM-HMM语音识别简单理解)

    为了对GMM-HMM在语音识别上的应用有个宏观认识,花了些时间读了下HTK(用htk完成简单的孤立词识别)的部分源码,对该算法总算有了点大概认识,达到了预期我想要的.不得不说,网络上关于语音识别的通俗 ...

随机推荐

  1. 在64位系统上不能安装Matlab notebook的解决方案

    在64位系统上不能安装Matlab notebook的解决方案 过程分解 第一步:安装好matlab(附:Matalab R2015a界面) 第二步:在matlab中执行命令 >>note ...

  2. Auto generating Entity classes with xsd.exe for XML Serialization and De-Serialization

    More info here: http://blogs.msdn.com/b/yojoshi/archive/2011/05/14/xml-serialization-and-deserializa ...

  3. nuget包管理器控制台下的powershell脚本介绍

    http://personball.com/powershell/2016/07/15/powershell-tips 定制自己的powershell,减少重复工作 安装一系列自己的常用nuget包 ...

  4. Yii2 使用八 使用scenarios

    在model里定义 public function scenarios() { return [ 'add' => ['title', 'content'], ]; } 在rules里定义 [[ ...

  5. PHP7的安装

    PHP7和HHVM比较PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM.HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂 ...

  6. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  7. 【8-17】HTML测试

    Source : http://www.w3school.com.cn/html HTML 测验 结果:9/20 您的回答: 1.HTML 指的是? 您的回答:超文本标记语言(Hyper Text M ...

  8. UI第三节—— UITextField详解

    戏言:UITextField对于需要登陆注册的界面的作用还是相当明显,但是对于键盘过的遮挡问题,可是重点哦!这里就涉及到通知(NSNotificationCenter)的内容. //注册事件 [[NS ...

  9. eclipse插件安装失败的列表如何清除-一个困扰很久的问题

    平时在安装eclipse插件的时候由于网络不稳定或者下载下来的包不兼容等原因安装失败的情况很多, 但是当插件安装一次以后,就会在安装的url中留下历史记录,并且每次切换到安装插件的界面中时,后台都要检 ...

  10. Spark之scala

    一.什么是scala scala 是基于JVMde 编程语言.JAVA是运行在jvm上的编程语言,java 源代码通过jvm被编译成class 文件,然后在os上运行class 文件.scala是运行 ...