最近在看图模型中著名的HMM算法,对应的一些理论公式也能看懂个大概,就是不太明白怎样在一个具体的机器学习问题(比如分类,回归)中使用HMM,特别是一些有关状态变量、观察变量和实际问题中变量的对应关系,因此目前急需一个实际例子来加深对HMM算法的仰慕,大家如有好的例子来具体学HMM算法的话,欢迎分享!众所周知,著名的HMM开源库为Hidden Markov Model Toolkit(以下简称HTK),而HTK在语音识别领域应用很成功,这2天花了些时间学习了HTK的使用,完成的是最简单孤立词的识别,即Yes、No的语音识别,网上这方面的教程纵多,见参考资料部分。

  当然了,进行实验的前提是正确安装HTK,安装过程可以结合HTK目录下(HTK解压后所在目录)的readme文件和文章windows下安装编译HTK语音识别工具包

我主要是参考文章语音识别工具箱之HTK安装与使用中的步骤来完成Yes/No语音识别的,大概的步骤和博主的差不多(这里不再重现该过程,因为这方面资料实在太多),下面主要讲下一些细微的需要注意的地方:

  1. 录音的原文件不能太少,不然在进行HMM初始化时很容易报错。我这里Yes和No都录的是25次。

  2. 在用HSLab.exe录音时,由于这个小软件实在是不太好用,有些bug。每次录完2个音,把它标注好,重命名(即手动命名,按照一定顺序,不要重名,下次录音前需把该软件给后重新打开,否则即使你是重新new了一个文件后录的音,在你标注音频文件后保存文件时该软件很有可能会把以前标注过的音频信息给重复过来,这样在后面的HInit 步骤会老出错。因此,在每次标注音频文件.lab时,一定要保证其标注的信息只对应一个音频文件.sig。注意标注时,htk时间后面的单位是10us,转换成秒时需要除以10^7.

  3. 在进行Hcompv步骤时,只需运行一次来得到vFloors文件(不需要对yes,no,sil分别运行)。

  4. 如果在HRest步骤出现与vFloors有关的错误,则可以在HRest命令中省去与vFloors相关的内容,这样一般不太会影响后面HMM的训练和识别。

  5. 在HParse步骤时,在建立gram.txt文件时,文件的最后要有一个空行,否则HParse步会一直失败。

  其它方面基本按照语音识别工具箱之HTK安装与使用就可以了。另外,还HTK (v.3.1): Basic Tutorial和htkbook也是非常好的参考资料。

  由实验可知,这里每个单词都定义为一个HMM模型,HMM模型中状态的个数是人为先验设定的,这里统一采用4个(状态数可以不相同),每个状态的实际含义大致是该单词发音的声母、韵母等(也不一定严格对应),多个状态的序列构成了一个单词。每个状态的输出(即观察变量)为GMM的参数向量,这些参数向量的长度和训练语音断的MFCC特征长度一致,这里都是39维。

  参考资料:

语音识别工具箱之HTK安装与使用

利用HTK工具包快速建立一个语音命令识别系统

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

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

windows下安装编译HTK语音识别工具包

HTK (v.3.1): Basic Tutorial.pdf

htkbook.pdf

http://htk.eng.cam.ac.uk/

 

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

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

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

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

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

  3. 亲自动手用HTK实现YES NO孤立词识别

    很久以前的发在研学论坛的帖子了,再重新整理了一下,希望对新手有用. 完整版链接:http://yun.baidu.com/s/1hapcE 第一步 创建语音文件 录音 命令:HSLab any_nam ...

  4. 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 前言: 找工作时( ...

  5. [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...

  6. 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考 ...

  7. 机器学习&数据挖掘笔记_15(关于凸优化的一些简单概念)

    没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs22 ...

  8. 机器学习&数据挖掘笔记_12(对Conjugate Gradient 优化的简单理解)

    数学优化方法在机器学习算法中至关重要,本篇博客主要来简单介绍下Conjugate Gradient(共轭梯度法,以下简称CG)算法,内容是参考的文献为:An Introduction to the C ...

  9. 机器学习&数据挖掘笔记_19(PGM练习三:马尔科夫网络在OCR上的简单应用)

    前言: 接着coursera课程:Probabilistic Graphical Models上的实验3,本次实验是利用马尔科夫网络(CRF模型)来完成单词的OCR识别,每个单词由多个字母组合,每个字 ...

随机推荐

  1. css各项水平居中

    当被设置元素为块状元素时用text-align:center就不起作用了,这也分两种情况,定宽块状元素和不定宽块状元素. 一.定宽块状元素:快状元素的宽度width为固定值,之后我们可以将左右marg ...

  2. 读bootstrap2.3.2有感1

    起步: 下载编译好的bootstrap2文件,百度新版jquery.js,并复制html模版(hello world)放置在同一目录,然后看了下官网上的范例网站,心里还是很激动啊~ <!DOCT ...

  3. IO-01. 表格输出(5)

    本题要求编写程序,按照规定格式输出表格. 输入格式: 本题目没有输入. 输出格式: 要求严格按照给出的格式输出下列表格: ------------------------------------ Pr ...

  4. 【C++自绘控件】如何用GDI+来显示图片

    在我们制作一个应用软件的时候往往需要在窗口或控件中添加背景图.而图片不仅有BMP格式的,还有JPEG.PNG.TIFF.GIF等其它的格式.那么如何用jpg格式的图片来当背景呢? 这里用到了GDI+, ...

  5. 拾遗——java多线程

    由于sleep()方法是Thread类的方法,因此它不能改变对象的机锁.所以当在一个Synchronized方法中调用sleep()时,线程虽然休眠了,但是对象的机锁没有被释放,其他线程仍然无法访问这 ...

  6. html+css+javascript实现简易轮播图片

    html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <lin ...

  7. BI先特技软件 Analyzer安装时的部分问题

    废话不多,先看第一个问题,我先运行了 Analyzer.3.0.2357b.64.exe 然后就是傻瓜式地下一步 好的,现在问题来了,当我运行安装完毕的Analyzer时,页面给了我这样的提示“ HT ...

  8. C++混合编程之idlcpp教程Python篇(7)

    上一篇在这 C++混合编程之idlcpp教程Python篇(6) 第一篇在这 C++混合编程之idlcpp教程(一) 与PythonTutorial4工程相似,工程PythonTutorial5中,同 ...

  9. FLEXNET License管理

    之前的程序License管理是我自己手撸的一个非常简单的东东,根据用户机器的MAC地址生成一个字串,程序执行的时候去比较这个字串.当时只是追求一个最简单的实现,像证书过期.功能点证书自然没有.这次新版 ...

  10. Xamarin跨平台移动开发解决方案

    Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单.Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows Phone和Mac App.Xam ...