我希望能通过说出例如“你好,乔治”来唤醒安卓手机,但是没有找到有用的答案。
首先,这个功能需要安卓应用作为后台服务进行监听吗?
如果有人知道如何实现这个问题或者有任何线索,我会非常感激。
最好的问候
谢谢
你好,我是Open Mic+的开发者,网址是http://OpenMic.RSenApps.com,它能够实现与你想要的功能非常相似的操作。但事实上,这比听起来要复杂得多,我才刚刚开始实现真正高效的系统。所以,主要问题是你想走多远?你可以使用Google语音识别,但最终它会出现很多错误,并且长期来看并不可靠,或者你可以实现自己的语音识别,这正是我正在进行的过程...
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
}