1

我是android中“语音识别”领域的新手。

我的应用程序要求具有“语音识别”功能。所以我正在做我的功课。我发现 1. android SDK 对此有支持,它使用了“谷歌语音识别”所以从我理解的天气我们通过意图调用识别器或者我们使用类 SpeechRecogniser ,实际识别是在谷歌云服务器上完成的. 我尝试了使用这两种方法的示例应用程序,并且两种情况下的匹配率都非常低\(首先我的发现正确吗?我尝试的大多数单词/句子都没有得到正确的匹配)。

  1. 这两种方法的输出是否会有任何差异,即按意图启动/或使用 SpeechRecogniser 类)

  2. 是否所有应用程序都依赖于这种谷歌技术,其中语音作为声音字节发送并在云服务器上识别。我看到 Shazam 使用了不同的技术,但他们有自己的数据库。是否使用了任何其他此类技术

  3. 我看到很多“siri for android”。关于这些应用程序如何实际工作的任何说明?

非常感谢您的时间和帮助。

4

2 回答 2

2

1) 使用RecognizerIntent或时,您将获得相同的结果SpeechRecognizer。主要区别在于用户交互。RecognizerIntent强制用户通过标准语音识别程序。有了它,SpeechRecognizer您就可以控制应用程序如何收集语音以及何时处理它。其优点RecognizerIntent是易于编程和用户熟悉。有了SpeechRecognizer您可以实现高级功能,例如在后台收听语音。您还可以获得更好的错误报告。

此外,有些词对于识别器来说很容易理解,比如“apple”,但有些词却很难像“cumin”,因为各种原因。您必须巧妙地匹配谷歌返回的内容以实现可靠的东西。

2)我不确定他们自己的数据库是什么意思。您的应用程序将有一个“数据库”,您试图将其与用户所说的内容进行匹配

3) 可能是自然语言处理、用户建模、模拟人类对话的技术的混合。或者它们只是一大堆手工编码的规则,让它们看起来很聪明。我的猜测是要尝试使某些事情可信,需要做很多工作。

在此处查看我的一些示例代码: https ://github.com/gmilette/Say-the-Magic-Word-

于 2012-04-19T23:11:46.087 回答
1

是的....你在正确的轨道上。这是一篇关于语音识别的好文章。我认为您还可以在此链接上找到一些信息,这您来说很有趣!

于 2012-04-19T09:44:54.740 回答