由卡内基梅隆大学制作的用于语音识别的开源工具箱。
CMU Sphinx-4:
Sphinx-4是完全用Java语言写的先进的语音识别系统。它是通过卡内基梅隆大学Sphinx组,Sun微系统实验室、三菱电器研究实验室、惠普等联合完成的,同时美国加州大学圣克鲁斯分校和麻省理工学院也对其有贡献。
Capabilities:
1.
实时模式以及批处理模式下的语音识别,能够识别离散和连续的语音。
2.
通用可插拔的前端结构。包括实现预加重、汉明窗、FFT、Mel频率滤波器、离散余弦变换、倒谱均值归一化、倒谱的特征值提取,增量倒谱,双增量倒谱特征。
3.
通用可插拔的语言模型结构。包括可插拔语言模型支持单元组、二元组、三元组、Java Speech API语法格式以及ARPA-格式FST文法的ASCII和二进制版本。
4.
通用的声学模型结构。包括可插拔的支持Sphinx-3声学模型。
5.
通用的搜索管理。包括可插拔的支持广度优先和字修剪搜索。
6.
一些对于处理后的识别结果,包括获得的可信度分数,生成的格子以及嵌入到JSGF标签中的ECMAScript
7.
独立的工具。包括用于显示波形图和频谱图,从音频中产生特征。
Performance:
Sphinx-4是一个复杂的系统,能够执行许多不同类型的识别任务。因此,很难用Sphinx-4对于一些简单数字的识别精度和速度来衡量性能。取而代之,通常会做一些在Sphinx-4上的回归测试来决定如何在多种多样的任务下执行。这些任务和最后的结果如下(每个任务的难度依次递增):
·孤立数字(TI46):用事先录制好的测试数据来运行Sphinx-4,收集在一时间识别一个字的性能。 这个词汇表仅仅是从0-9的孤立话语,只包含一个数字以及一个单一的话语。
·连续数字(TIDIGITS):扩展单个字来识别同一时间的更多的字(如,连续话语)。词汇仅仅是从0到9的数字话语,用一个单一的话语包含的数字序列。
·小词汇集(AN4):扩展词汇到大约100个词,从说话词汇的输入数据范围来讲,就如同一个字母一个字母的把单词拼出来。
·中等词汇集(RM1):扩展词汇到大约1000次。
·中等词汇集(WSJ5K):扩展词汇到大约5000次。
·中等词汇集(WSJ20K):扩展词汇到大约20000次。
·大词汇集(HUB4):扩展词汇集到大约64000次。
下面的图表是Sphinx 3.3与Sphinx 4的性能对比:
其中HUB4测试的性能是不完全的。
key:
· WER - word error rate (%) (lower is better)
· RT - Real Time - Ratio of processing time to audio time - (lower is better )
· S3.3 RT - Results for a single or dual CPU configuration
· S4 RT(1) - Results on a single - CPU configuration
· S4 RT(2) - Results for a dual - CPU configuration
Downloading Sphinx-4:
Sphinx- 4 有两个可用的包:
· Sphinx4-{version}-bin.zip:提供jar包文件,文档和实例。
· Sphinx4-{version}-src.zip:提供源、文档、实例,单元测试和回归测试。
Demos:
简单例子:
Hello World Demo: 识别简单的短语
Hello N-Gram Demo: 运用N元语言模型来进行识别
语音文件转录的例子:
Transcriber Demo: 一个简单的例子来展示如何转录有多个离散词语的连续语音文件
Confidence Demo: 展示如何获得结果的可信度
Lattice Demo: 展示如何从识别结果中提取点阵
Class-Based Language model Demo: 展示一个基于分类的语言模型
Aligner Tags Demo: 对齐音频文件来转录并且获得字的时间。可用于隐藏式字幕。
一些先进的对话系统例子:
ZipCity Demo: 一个Java应用,通过识别字串儿来定位城市的位置
JSGF Demo: 展示程序如何在复杂的JSGF语法中交换
Dialog Demo: 展示程序如何在复杂的JSGF语法和听写语法中交换
Action Tags Demo: 展示如何使用动作标签来后处理从JSGF中得到的RuleParse对象
Sphinx-4 Frequently Asked Questions:
General:
Who created Sphinx-4?
I have a question about Sphinx-4. How can I get it answered?
How can I contact the Sphinx-4 team?
Which Sphinx-4 distribution should I use?
Sphinx-4:
I want to add speech recognition to my application. Where do I start?
How can I decode/transcribe .wav files?
How can I get the N-Best list?
How can I detect and ignore out-of-grammar utterances?
How can I change my language models or grammars at runtime?
How can I perform word-spotting?
Java:
How well does Sphinx-4 perform compared to other speech recognizers?
Isn't the Java Platform too slow to be used for speech recognition?
Does Sphinx-4 support the Java Speech API (JSAPI)?
Where can I learn more about the Java Speech Grammar Format (JSGF)?
Can I use Sphinx-4 in a J2ME device such as a phone or a PDA?
Why can't I use Java versions prior to 1.4?
I am having microphone troubles under linux. What can I do?
Acoustic & Language Models:
How can I train my own acoustic models?
How do I use models trained by SphinxTrain in Sphinx-4?
How can I create my own language models?
Pocket
Sphinx
语音识别
系统的编译、安装和使用
zouxy09@qq.com
Sphinx
是由美国卡内基梅隆大学开发的大词汇量、非特定人、连续英语
语音识别
系统。
Sphinx
从开发之初就得到了
CMU
、DARPA等多个部门的资助和支持,后来逐步发展为
开源项目
。目前
CMU
Sphinx
小组开发的下列译码器:
Sphinx
-2采用半连续隐含马尔可夫模型(SC
一、背景简介
JSpeech Grammer Format(JSGF), 是平台无关的用于
语音识别
的语法格式。语法用于确定
语音识别
器应该听什么并且描述用户可能想说什么。举个例子,JSGF描述了出去旅游场景,那么这个时候语义理解就只能理解这种场景,如果你一
工具特点:支持多个语音任务,支持多个ASR端到端系统,当前最活跃的语音开源社区,是第三代端到端ASR系统的典型代表。
链接:https://github.com/espnet/espnet
(2)kaldi
推荐指数:★★★★☆
start数量:11k
工具特点:基于C++开发,工具丰富,2012-2018年最活跃的开源社区,是第二代神经网络ASR系统的典型代表。
链接:https://githu.
1、排序字段没有找到
sphinx
sort-by attribute 'time' not found
作为
sphinx
的配置文件里面的 sql_attr_uint 属性的值没有设置 ,就会报错。
在配置文件里面找到sql_attr_uint 设置相应的字段名称
sql_attr_uint = time
这样在实际排序的时候才会真正用到
在
sphinx
的文档中,有说明: SetFieldWeights (设置字段权重) 原型: function SetFieldWeights ( $weights ) 按字段名称设置字段的权值。参数必须是一个hash(关联数组),该hash将代表字段名字的字符串映射到一个整型的权值上。 字段权重影响匹配项的评级。第 5.4 节 “权值计算” 解释了词组相似度如何影响评级
CMU
Sphinx
(简称
Sphinx
)是美国卡内基梅隆大学开发的一系列
语音识别
系统的总称。在2000年,卡内基梅隆的
Sphinx
小组致力于开源几个
语音识别
器组件,包括
Sphinx
2和后来的
Sphinx
3(2001年)。 语音解码器带有声学模型和示例应用程序。可用资源包...