在自定义Android应用程序中运行语音识别功能

时间:2016-11-11 10:03:08

标签: java android voice-recognition google-now google-voice

我有兴趣制作一个使用声音命令启动功能的Android应用程序(例如:而不是单击按钮,使用语音命令)。我的想法是使用语音识别将结果存储在变量中,如果结果对应于关键字集,则启动该函数。

我的问题是两个:

  • 如何使用语音命令在app语音识别中启动?
  • 如何将语音识别结果用于我的目的? 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

您可以使用Android SpeechRecognizer

此服务允许访问语音识别器。不要直接实例化这个类,而是调用createSpeechRecognizer(Context) 这是实现内置语音识别的最简单方法。 这种方式将返回多个答案。

例如,你说“蝙蝠”。语音识别将带来答案 “bat”,“bad”,“brat”......但是,您可以选择第一个索引中的最佳答案。

SpeechRecognizer Document

另一项新功能“Google Voice Action” 此功能允许Google即时调用并将数据传递到您的应用。

您也可以从github的示例代码开始,例如

Speech-Recognition-Tutorial---LightBulb-Example

SpeechRecognitionView

答案 1 :(得分:0)

关于第一个问题,我会考虑在第一部分使用PocketSphinx for Android。我能够将它用于连续,离线唤醒字识别。然后,对于用户提供的实际命令,我切换到基于云的解决方案(在我的情况下是IBM的Watson)。

有关PocketSphinx的详细信息,请参阅https://cmusphinx.github.io/wiki/tutorialandroid/

对于第二个问题,这取决于您使用的解决方案。我见过的大多数解决方案都会将文字返回给您,还有可靠评级和可能的替代方案。