使用Hi Galaxy或Ok Google等特定单词唤醒Android手机

时间:2013-09-29 17:30:16

标签: android speech-recognition wakeup

我想通过说“Hello George”来唤醒Android手机,但找不到任何有用的答案。 首先,Android应用程序是否需要在后台监听此功能的服务? 如果有人知道如何实现这个问题或者有任何线索,我将不胜感激。

最诚挚的问候 谢谢

2 个答案:

答案 0 :(得分:7)

您好我是Open Mic + http://OpenMic.RSenApps.com的开发者,它的功能与您想要的非常相似。事实是,这比听起来要复杂得多,我只是开始实现实际上有效的系统。所以我想主要的是你想走多远?你可以实现谷歌语音识别,但最终,它是非常错误的,从长远来看真的不起作用,或者你可以实现自己的语音识别,这正是我正在做的...

答案 1 :(得分:3)

CMUSphinx最近在Android平台上实施了持续监听。您可以在维基页面上找到该演示

您可以配置一个或多个要关注的关键字,默认关键字是"哦强大的计算机"。您还可以配置检测阈值。目前支持的语言是美国英语和其他语言(法语,西班牙语,俄语等)。您可以为您的语言训练自己的模型。

听力很简单,您可以创建识别器并添加关键字定位搜索:

recognizer = defaultSetup()
        .setAcousticModel(new File(modelsDir, "hmm/en-us-semi"))
        .setDictionary(new File(modelsDir, "lm/cmu07a.dic"))
        .setKeywordThreshold(1e-5f)
        .getRecognizer();

recognizer.addListener(this);
recognizer.addKeywordSearch(KWS_SEARCH_NAME, KEYPHRASE);
switchSearch(KWS_SEARCH_NAME);

并定义一个监听器:

@Override
public void onPartialResult(Hypothesis hypothesis) {
    String text = hypothesis.getHypstr();
    if (text.equals(KEYPHRASE))
      //  do something
}