语音识别基础篇(一) - CMU Sphinx简介
如需转载请标明出处:http://blog.****.net/itas109
QQ技术交流群:129518033
1.软件部分
CMU Sphinx是一个领先的语音识别工具包,具有用于构建语音应用程序的各种工具。 CMU Sphinx包含许多用于不同任务和应用程序的开发包。 有时候,选择什么是令人困惑的。 下面来介绍一下每个开发包的用途:
- Pocketsphinx — lightweight recognizer library written in C (C语言开发的轻量级语音识别引擎)
- Sphinxtrain — acoustic model training tools (声学模型训练工具)
- Sphinxbase — support library required by Pocketsphinx and Sphinxtrain (Pocketsphinx和Sphinxtrain的基础类库 )
- Sphinx4 — adjustable, modifiable recognizer written in Java (Java语言开发的可调节、可修改的语音识别引擎)
在线生成语言模型和词典的工具 http://www.speech.cs.cmu.edu/tools/lmtool-new.html
2017年11月18日最新的软件版本为5prealpha
最新的源代码http://github.com/cmusphinx
支持的操作系统:Windows、Linux、MAC
支持的开发语言:C/C++、Java、Python
2.模型部分
模型包括声学模型(acoustic model)、语言模型(language model)、拼音字典(phonetic dictionary)声学模型包含每个句子的声学特性。 存在与上下文无关的模型,其包含属性(每个音素的最可能的特征向量)和依赖于上下文的(从具有上下文的语音建立的)属性。
语言模型用于限制单词搜索。它定义了哪些单词可以遵循以前识别的单词(记住,匹配是一个顺序过程),并通过剥离不可能的单词来帮助显着限制匹配过程。最常用的语言模型是n-gram语言模型 - 它们包含单词序列的统计数据和有限状态语言模型 - 它们通过有限状态自动化(有时具有权重)来定义语音序列。为了达到很高的准确率,您的语言模型必须在搜索空间限制方面非常成功。这意味着它应该很好地预测下一个单词。语言模型通常会限制考虑到它所包含的单词的词汇。这是名称识别的一个问题。为了解决这个问题,一个语言模型可以包含像子词甚至音素这样的小块。请注意,这种情况下的搜索空间限制通常较差,相应的识别精度低于基于单词的语言模型。
语音词典包含从单词到音素的映射。 这个映射不是很有效。 例如,只有两到三个发音变体被记录在其中。 但是,大多数情况下它是足够实用的。 词典不是将单词映射到电话的唯一方法。 您也可以使用一些机器学习算法学到的复杂功能。
模型下载地址:Download models
其中Mandarin为中文普通话,下载下来之后我们可以看到
声学模型:zh_broadcastnews_16k_ptm256_8000.tar.bz2
语言模型:zh_broadcastnews_64000_utf8.DMP
拼音字典:zh_broadcastnews_utf8.dic
zh_broadcastnews_ptm256_8000目录结构
├── feat.params //HMM模型的特征参数
├── mdef //模型定义文件(为每个即将进行训练的HMM的每一状态定义一个独特的数字标识)
├── means //混合高斯模型的均值
├── mixture_weights //混合权重
├── noisedict //噪声也就是非语音字典
├── sendump //用来从声学模型中获取mixture_weights文件的?
├── transition_matrices //HMM模型的状态转移矩阵
└── variances //混合高斯模型的方差
其他的中文声学模型还有tdt_sc_8k,该模型可以在pocketsphinx-0.8-win32中找到。
Reference
https://en.wikipedia.org/wiki/CMU_Sphinx
http://www.speech.cs.cmu.edu/sphinx
https://cmusphinx.github.io
https://cmusphinx.github.io/wiki/
https://cmusphinx.github.io/wiki/tutorial/
https://cmusphinx.github.io/wiki/download/
https://cmusphinx.github.io/wiki/faq/
http://blog.****.net/zouxy09/article/details/7942784
觉得文章对你有帮助,可以用微信扫描二维码捐赠给博主,谢谢!
如需转载请标明出处:http://blog.****.net/itas109
QQ技术交流群:12951803