语音识别
实验:建立五个词的识别系统(步骤以及结果显示)
by tracylling on 四.14, 2010, under 语音识别
(PS:只作为尝试,不保证正确)
系统简介:
HTK是隐马尔可夫模型工具箱,由剑桥大学工程系研发而成。该工具箱的目的是搭建使用隐马尔可夫模型。
搭建步骤:
a) 训练库创建:词汇集中的每个元素进行多次录制,且对相应词汇做好标签;
b) 声学分析:将波形数据文件转换为一系列系数向量;
c) 模型定义:为总词汇集中的每个元素定义一个HMM原型;
d) 模型训练:使用训练数据对每个HMM模型进行初始化、训练;
e) 任务定义:识别系统的语法(什么可被识别)的定义;
f) 未知输入信号识别;
g) 评估:识别系统的性能可通过测试数据进行评估。
工作环境构建:
创建如下目录结构:
a) data/:存储训练和测试数据(语音信号、标签等等) ,包括2个子目录,data/train/和 data/test/,用来区分识别系统的训练数据和评估数据;
b) analysis/:存储声学分析步骤的文件;
c) training/:存储初始化和训练步骤的相关文件;
d) model/:存储识别系统的模型(HMMs)的相关文件;
e) def/:存储任务定义的相关文件;
f) test/:存储测试相关文件。
后期要建立的几个文件:analysis.conf targetlist.txt hmmlist.txt trainlist.txt
过程:
1、 建立训练资料
a. 录制音频
HSLab name.sig
b. 标记信号
在HSLab中标记信号位置
HMM模型的各种语言实现(转)
by tracylling on 四.12, 2010, under 语音识别
C语言版:
1、 HTK(Hidden Markov Model Toolkit):
HTK是英国剑桥大学开发的一套基于C语言的隐马尔科夫模型工具箱,主要应用于语音识别、语音合成的研究,也被用在其他领域,如字符识别和DNA排序等。HTK是重量级的HMM版本。
HTK主页:http://htk.eng.cam.ac.uk/
2、 GHMM Library:
The General Hidden Markov Model library (GHMM) is a freely available LGPL-ed C library implementing efficient data structures and algorithms for basic and extended HMMs.
GHMM主页:http://www.ghmm.org/
3、 UMDHMM(Hidden Markov Model Toolkit):
Hidden Markov Model (HMM) Software: Implementation of Forward-Backward, Viterbi, and Baum-Welch algorithms.
这款属于轻量级的HMM版本。
UMDHMM主页:http://www.kanungo.com/software/software.html
Java版:
4、 Jahmm Java Library (general-purpose Java library):
Jahmm (pronounced “jam”), is a Java implementation of Hidden Markov Model (HMM) related algorithms. It’s been designed to be easy to use (e.g. simple things are simple to program) and general purpose.
Jahmm主页:http://code.google.com/p/jahmm/
Malab版:
5、 Hidden Markov Model (HMM) Toolbox for Matlab:
This toolbox supports inference and learning for HMMs with discrete outputs (dhmm’s), Gaussian outputs (ghmm’s), or mixtures of Gaussians output (mhmm’s).
Matlab-HMM主页:http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html
Common Lisp版:
6、CL-HMM Library (HMM Library for Common Lisp):
Simple Hidden Markov Model library for ANSI Common Lisp. Main structures and basic algorithms implemented. Performance speed comparable to C code. It’s licensed under LGPL.
CL-HMM主页:http://www.ashrentum.net/jmcejuela/programs/cl-hmm/
Haskell版:
7、The hmm package (A Haskell library for working with Hidden Markov Models):
A simple library for working with Hidden Markov Models. Should be usable even by people who are not familiar with HMMs. Includes implementations of Viterbi’s algorithm and the forward algorithm.
Haskell-HMM主页:http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hmm
注:Haskell是一种纯函数式编程语言,它的命名源自美国数学家Haskell Brooks Curry,他在数学逻辑方面上的工作使得函数式编程语言有了广泛的基础。
HMM模型参考资料总结
by tracylling on 二.22, 2010, under 语音识别
根据自己参考几个版本的资料,进行一下总结。
1、 《人机自然交互》(张有为 等著),第一次接触HMM,看得不详细,似懂非懂的,但可以说它是中文版中比较好的参考资料,准备抽空再看一遍。
2、 HTK book,chapter1 The Fundamentals of HTK,讲HMM的基础知识 ,chapter7~10,讲HTK中的HMM,如果不好好看前面几章基本就不怎么看得懂了。
3、 http://jedlik.phy.bme.hu/~gerjanos/HMM/hoved.html ,这两天看的这个版本的,前面基本能消化了,后面的连续的模型公式实在头大。这个版本的资料写的很详细,推荐。
4、 http://www.comp.leeds.ac.uk/roger/HiddenMarkovModels/html_dev/main.html ,上面那个唯一的缺陷是例子很少,这个版本有很多例子,解释的也很详细,适合初学者。
5、 Wikipedia
Hidden Markov model
http://en.wikipedia.org/wiki/Hidden_Markov_model
http://en.wikipedia.org/wiki/Forward-backward_algorithm
Viterbi algorithm
http://en.wikipedia.org/wiki/Viterbi_algorithm
Baum–Welch algorithm
http://en.wikipedia.org/wiki/Baum-Welch_algorithm
继续加油看咯~干嘛列这么复杂的公式哩!?