Speech recognition 书写语音识别引擎

Speech recognition 书写语音识别引擎,speech-recognition,georgian,Speech Recognition,Georgian,所以,和其他许多人一样,我决定创建自己的语音识别引擎。事实证明,这一点都不容易,尤其是对于英语来说,要做到这一点相当困难,因为一个单词的书写方式和发音方式之间存在着巨大的差异。由于来自格鲁吉亚,我决定为格鲁吉亚语编写语音识别。在格鲁吉亚语中,单词的发音和你写的完全一样。就像抄本一样。这一事实会大大减轻我的任务吗?或者还有更难的。。。困难:D?所有来自格鲁吉亚的人听起来都完全一样吗?我想不是。。。语音识别中的许多主要问题与语言本身没有直接关系: 不同的人(女人、男人、孩子、老人等)有不同的声音

所以,和其他许多人一样,我决定创建自己的语音识别引擎。事实证明,这一点都不容易,尤其是对于英语来说,要做到这一点相当困难,因为一个单词的书写方式和发音方式之间存在着巨大的差异。由于来自格鲁吉亚,我决定为格鲁吉亚语编写语音识别。在格鲁吉亚语中,单词的发音和你写的完全一样。就像抄本一样。这一事实会大大减轻我的任务吗?或者还有更难的。。。困难:D?

所有来自格鲁吉亚的人听起来都完全一样吗?我想不是。。。语音识别中的许多主要问题与语言本身没有直接关系:

  • 不同的人(女人、男人、孩子、老人等)有不同的声音
  • 有时,同一个人听起来不一样,例如,当他感冒时
  • 不同背景噪声
  • 日常用语有时包含来自其他语言的单词(比如美国的德语单词Kindergarden/英语)
  • 有些人不是从这个国家自己学会这种语言的(他们通常听起来不一样)
  • 有些人说得快,有些人说得慢
  • 麦克风的质量
    等等
解决这些问题总是相当困难的。。。除此之外,你还要注意语言/发音。。。我不知道格鲁吉亚语,但你所描述的可能会使任务变得容易一些,但这仍然是一项艰巨的任务

编辑-根据评论:

使用好的库可能会缩短时间,甚至有助于提高质量。。。但并非每个图书馆都适合语音识别,尽管可能在其他一些与音频相关的问题上很出色

参考请参阅维基百科文章-它有一个很好的概述,包括一些链接和书籍参考,这是一个很好的起点


至于如何设计这样一个API,请参见语音识别是一个复杂的领域,有许多特定的算法、工具和方法。要创建自己的引擎,您可以从CMUSphinx开源语音识别工具包开始,该工具包将允许您:

  • 收集和处理支持格鲁吉亚语所需的数据
  • 为格鲁吉亚人创建模型
  • 用格鲁吉亚语实现语音识别引擎
  • 使用engine创建在桌面、服务器或IPhone上运行的语音识别应用程序(通过OpenEars)
CMUSphinx已经支持英语、德语、西班牙语、法语、荷兰语、俄语、普通话、冰岛语、意大利语和许多其他语言。添加一个新的非常简单。对于新手来说,通常需要一到两个月的集中工作来实施所需的流程

要开始,请访问主页:

然后阅读教程

如果你有任何问题,请在论坛上或这里向他们提问


而且,当你说格鲁吉亚语时,你只会拼写发音,这是一个非常常见的误解。世界上大多数语言都不是这样。为了验证这个假设,试着在音频编辑器中记录一些音频,并检查哪些声音是真正发音的。你会感到惊讶的。上面的教程详细介绍了这个问题。

@NikaGamkrelidze我怀疑如果你从两个不同的人那里听到同一个词,你可以区分这些人(比如你的母亲、你的父亲、某个朋友等等)?@NikaGamkrelidze从头开始为一个开发人员写这篇文章(即使是一个非常好的开发人员)这将很难,从我的观点来看,第一种语言的质量需要3-5年的时间,第二种语言需要更少的时间,因为你已经解决了几个基本方面。。。一年后,你可能会有一些粗糙的东西,并为语言的一小部分工作,处理背景噪音等的能力将相当有限。@NikaGamkrelidze不,这是一般性的。。。由于大多数主要问题都不是特定于语言的。。。3-5年的时间意味着更简单的语言(格鲁吉亚语?)可能需要2.5-3年,而更难的语言(如日语/汉语…)甚至可能7年…@NikaGamkrelidze您将不得不对库进行评估,因为并非每个实现都适合每种用法,即有些可能不利于语音识别,但对于其他与音频相关的内容来说却非常出色。。。如果语言简单,你可以使用一些好的库,也许你可以用2年的时间…@NikaGamkrelidze有关概述,请参阅-它还参考了rahter关于这个主题的好书。。。还可以阅读,看看这些东西的API是如何设计的……所以你的意思是我可以在几个月内添加完全未开发的语言,比如格鲁吉亚语和“让它工作起来”?!?!是的,为什么不呢。事实上,CMUSphinx在支持资源不足的语言方面已经取得了很大的进步。如果你有兴趣,请告诉我。尼卡,你创建了这个软件吗?请分享你所做的,如果有这样的软件,我们也很感兴趣。我认为最简单的方法是使用人工智能,使用多级perceptron或类似的东西(我指的是神经网络)并训练它。。。我认为,通过这个解决方案,您可以轻松解决Yahia在回答中提到的问题,GL;)