编写语音识别引擎

时间:2011-11-20 15:52:46

标签: speech-recognition georgian

所以,像许多其他人一样,我决定创建自己的语音识别引擎。事实证明,这根本不容易,相反,特别是英语语言难以实现,因为我说,一个词的方式之间存在着戏剧性的差异。写的,以及它的发音方式。来自格鲁吉亚,我决定为格鲁吉亚语写作语音识别。在格鲁吉亚语中,您可以按照写作方式发音。它就像一个转录。这个事实会明显减轻我的任务吗?或者甚至更难......困难:D?

2 个答案:

答案 0 :(得分:9)

语音识别是一个复杂的领域,有许多特定的算法,工具和方法。要创建自己的引擎,您可以从CMUSphinx开源语音识别工具包开始,它将允许您:

  • 收集和处理支持格鲁吉亚语所需的数据
  • 为格鲁吉亚语创建模型
  • 在格鲁吉亚语中实施语音识别引擎。
  • 使用引擎创建在桌面,服务器或iPhone上运行的语音识别应用程序(通过OpenEars)

CMUSphinx已经支持英语,德语,西班牙语,法语,荷兰语,俄语,普通话,冰岛语,意大利语和许多其他语言。添加一个新的非常简单。对于新人来说,通常需要一到两个月的集中工作来实施所需的流程。

要开始访问主页:

http://cmusphinx.sourceforge.net

并阅读教程

http://cmusphinx.sourceforge.net/wiki/tutorial

如果您有任何疑问,请在论坛或此处询问!

而且,当你说格鲁吉亚语时,你只是拼写声音是一个非常普遍的误解。对于世界上大多数语言来说,情况并非如此。要测试假设,请尝试在音频编辑器中录制一些音频,并检查哪些声音实际上是发音的。你会感到惊讶。上面的教程详细介绍了这个问题。

答案 1 :(得分:5)

来自佐治亚州的所有人听起来完全一样吗?我认为不是......语音识别中的许多重大问题与语言本身没有直接关系:

  • 不同的人(女人,男人,孩子,长辈等)有不同的声音
  • 有时同一个人听起来不同,例如当人感冒时
  • 不同的背景噪音
  • 日常讲话有时包含来自其他语言的文字(就像你在美国/英语中有德语单词Kindergarden)
  • 一些不是来自该国的人自己学习了这种语言(他们通常听起来不同)
  • 有些人讲得更快,有些人讲得更慢
  • 麦克风的质量
    等。

解决这些问题总是非常困难...除此之外你还有语言/代词要照顾......我不知道格鲁吉亚语,但你所描述的可能会使任务变得容易但它会仍然是一项艰巨的任务。

编辑 - 根据评论:

使用优秀的图书馆可能会缩短时间范围,甚至有助于提高质量......但并不是每个图书馆都有利于语音识别,尽管在其他一些与音频相关的问题上也很出色...

供参考,请参阅维基百科文章http://en.wikipedia.org/wiki/Speech_recognition - 它有一个很好的概述,包括一些链接和书籍参考,这是一个很好的起点......

至于如何设计此类API,请参阅示例http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-guide/Recognition.html