编写语音识别引擎

nic*_*cks 7 speech-recognition georgian

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

Nik*_*rev 9

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

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

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

要开始访问主页:

http://cmusphinx.sourceforge.net

并阅读教程

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

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

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


Yah*_*hia 5

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

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

解决这些问题总是非常困难...最重要的是你有语言/发音来照顾...我不知道格鲁吉亚,但你所描述的可能会使任务更容易但它仍然是一个艰巨的任务.

编辑 - 根据评论:

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

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

至于如何设计这样的API,请参阅http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-guide/Recognition.html

  • @NikaGamkrelidze总体概述见http://en.wikipedia.org/wiki/Speech_recognition-它也引用了关于这个主题的rahter好书...也阅读http://java.sun.com/products/java -media/speech/forDevelopers/jsapi-guide/Recognition.html看看这些东西的API是如何设计的...... (3认同)
  • @NikaGamkrelidze我怀疑如果你从两个不同的人那里听到同一个词,你可以区分这些人(比如你的母亲和你的父亲,还有一些朋友等)? (2认同)
  • @NikaGamkrelidze从头开始写一个开发人员(即使是一个非常好的开发人员)也很难,从我的POV开始需要3到5年才能获得第一语言的优质,第二个将花费更少,因为你已经有几个基础方面解决了...一年之后你可能会有一些粗糙的东西,只为一小部分语言工作,处理背景噪音等的能力将会相当有限. (2认同)
  • @NikaGamkrelidze你将不得不评估这个库,因为并不是每个实现都适用于所有用法,即有些可能对语音识别有害,但对于其他一些音频相关的东西也很难...也许你可以把它降到2年,如果语言很简单,你使用一些好的库...... (2认同)