2012-04-19 40 views
1

我是新来的android语音识别领域。android:语音识别有什么技术可用

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

  1. 是否有在这两个方法输出的任何区别,即通过意图启动/或使用SpeechRecogniser类)

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

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

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

回答

2

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

此外,有些词很容易让识别者理解,像“苹果”,但有些很难像“小茴香”出于各种原因。你必须聪明地配合谷歌的回报来实现可靠的东西。

2)我不确定你自己的数据库是什么意思。您的应用程序将有一个“数据库”,您正试图与用户所说的相匹配

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

检查我的一些示例代码在这里: ​​

+0

非常感谢答案。关于第二点,shazam拥有一个支持所有歌曲的数据库,并为每首歌曲提供所有可能的“指纹”。它的声音真的很大。关于第3点,我的看法是Siri的主要技术是AI。只有当AI被有效使用时,才有可能实现语音识别器 – png 2012-04-22 05:47:02

+0

更正:您不需要AI来使用语音识别。您需要AI来尝试实现与用户进行对话的应用程序。 – gregm 2012-04-23 13:42:07