9

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

最好的问候谢谢

4

2 回答 2

8

嗨,我是 Open Mic+ http://OpenMic.RSenApps.com的开发人员,它的功能与您想要的非常相似。事实是这比听起来要复杂得多,而且我才刚刚开始实施真正有效的系统。所以我想主要是你想走多远?你可以实现谷歌语音识别,但最后,它非常有问题,从长远来看真的不起作用,或者你可以实现自己的语音识别,这就是我正在做的事情......

于 2013-09-29T17:49:04.360 回答
3

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

您可以配置一个或多个关键字来收听,默认关键字是“oh mighty computer”。您还可以配置检测阈值。目前支持的语言是美国英语和少数其他语言(法语、西班牙语、俄语等)。您可以为您的语言训练自己的模型。

聆听很简单,您创建一个识别器并添加关键字定位搜索:

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
} 
于 2014-05-08T19:57:12.273 回答