2013-09-29 13 views
8

「Hello George」と言ってアンドロイド携帯電話を覚醒させたいが、役に立たない回答は見つからない。 まず、Androidアプリはこの機能のバックグラウンドでサービスとして聴く必要がありますか? この問題を実装する方法や手がかりを知っている人は誰でも気に入るはずです。Hello GalaxyやOkのような特定の言葉を使って目を覚ますアンドロイド携帯電話

よろしく こんにちは、私はあなたが望むものに非常によく似た何かをオープンマイク+ http://OpenMic.RSenApps.com、の開発者ですあなた

+2

「音声コマンドで目を覚ますには」の機能です特別なCPUを使用して、デバイスがスタンバイ状態のときにボイスコマンドをリスンするMoto Xは、バッテリの大量消費を防ぎます。この機能をうまく実行するには、独自のデバイスとカスタムROMを構築する必要があります。 –

答えて

7

ありがとうございます。真実はこれが聞こえるよりもはるかに複雑であり、私は実際に効率的なシステムを実装し始めるところです。だから私は主なものはどこまで行きたいのかと思います。あなたはGoogle音声認識を実装することができますが、最終的には非常にバグがあり、長期的には実際には機能しません。また、自分の音声認識を実装することもできます。

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 
} 
関連する問題