因此,像许多其他人一样,我决定创建自己的语音识别引擎。事实证明,这根本不是一件容易的事,相反,尤其是对于英语来说,要做到这一点相当困难,因为我想说,一个单词的书写方式和它的发音方式之间存在着巨大的差异。来自格鲁吉亚,我决定为格鲁吉亚语言编写语音识别。在格鲁吉亚语中,您可以完全按照您的书写方式发音。这就像一个转录。这个事实会大大减轻我的任务吗?或者还有更困难的......困难:D?
2 回答
语音识别是一个复杂的领域,具有许多特定的算法、工具和方法。要创建自己的引擎,您可以从 CMUSphinx 开源语音识别工具包开始,它允许您:
- 收集和处理支持格鲁吉亚语所需的数据
- 为格鲁吉亚语创建模型
- 用格鲁吉亚语实现语音识别引擎。
- 使用引擎创建在桌面、服务器或 iPhone 上运行的语音识别应用程序(通过 OpenEars)
CMUSphinx 已经支持英语、德语、西班牙语、法语、荷兰语、俄语、普通话、冰岛语、意大利语和许多其他语言。添加一个新的非常简单。对于新人来说,通常需要一两个月的集中工作来实施所需的流程。
要开始访问主页:
http://cmusphinx.sourceforge.net
并阅读教程
http://cmusphinx.sourceforge.net/wiki/tutorial
如果您有任何问题,请在论坛或此处向他们提问!
而且,当您说格鲁吉亚语时,您只是拼写声音,这是一个非常普遍的误解。世界上大多数语言都不是这样。为了验证假设,请尝试在音频编辑器中录制一些音频,并检查哪些声音是实际发音的。你会感到惊讶。上面的教程详细介绍了这个问题。
来自格鲁吉亚的所有人听起来都一样吗?我认为不是......语音识别中的许多主要问题与语言本身没有直接关系:
- 不同的人(女人、男人、孩子、老人等)有不同的声音
- 有时同一个人听起来不同,例如当这个人感冒时
- 不同的背景噪音
- 日常讲话有时包含其他语言的单词(例如您在美国/英语中有德语单词 Kindergarden)
- 一些不是来自这个国家的人本身学习了这种语言(他们通常听起来不同)
- 有些人说得快,有些人说得慢
- 麦克风的质量
等。
解决这些问题总是很困难...除此之外,您还需要处理语言/发音...我不懂格鲁吉亚语,但您所描述的可能会使任务变得更容易,但它仍然是一个艰巨的任务。
编辑 - 根据评论:
使用好的库可能会降低时间框架,甚至有助于提高质量......但并非每个库都适合语音识别,尽管在其他一些与音频相关的问题上可能很出色......
有关参考,请参阅维基百科文章http://en.wikipedia.org/wiki/Speech_recognition - 它有一个很好的概述,包括一些链接和书籍参考,这是一个很好的起点......
至于如何设计这样的 API,请参见http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-guide/Recognition.html