2009-08-02 2 views
1

Wie ich den Spracherkenner richtig parametriere, damit er die Wörter, die der Benutzer wahrscheinlich sagen wird, leichter erkennen kann?Wie parametriere ich Android Spracherkennung? android.speech.action.RECOGNIZE_SPEECH tut nichts

Soweit ich sagen kann es keinen Weg.

Ich glaube, diese Website falsch ist: http://www.4feets.com/2009/04/speech-recognition-in-android-sdk-15/

Laut der Website, dieser Code: Arraylist < String> potentialResults = new Arraylist < String>();
potentialResults.add ("gelb");
potentialResults.add ("grün");
potentialResults.add ("blau");
potentialResults.add ("rot");

Gibt dem Erkenner einen Hinweis, dass Sie diese Wörter sagen könnten. Es scheint jedoch absolut nichts zu tun. Es widerspricht auch der Google-Dokumentation, die besagt:

"Eine ArrayList der potenziellen Ergebnisse beim Ausführen von ACTION_RECOGNIZE_SPEECH. Nur vorhanden, wenn RESULT_OK zurückgegeben wird." Dies weist darauf hin, dass das Array ein Rückgabewert KEINE Eingabe ist.

diesen Versuch zu testen, und fügt hinzu: Arraylist < String> potentialResults = new Arraylist < String>();
potentialResults.add ("Kreuzkümmel"); und versuchen, den Spracherkenner zu erkennen. Du wirst es sehr schwer finden.

Hat jemand Einblick in die richtige Steuerung der Spracherkennung?

+0

Können Sie bitte Ihren Code mit uns teilen; Der Code, den du erfunden hast? Ich könnte von Ihren Erkenntnissen profitieren und viele andere werden auch davon profitieren. – user1046106

Antwort

4

Wenn Sie mit "Kontrolle" meinen "eine Liste möglicher Ergebnisse liefern", vermute ich, dass Sie nicht.

Ich glaube, Sie sind richtig vis a vis der verlinkten Blogpost falsch ist. Allerdings, AFAIK, die einzige Kontrolle, die Sie über die Rede haben, ist zu zeigen, ob es LANGUAGE_MODEL_FREE_FORM oder LANGUAGE_MODEL_WEB_SEARCH ist.

sind die Ausgaben, wie Sie angeben, mit den möglichen Übereinstimmungen für die gesprochene Prosa. Sie können die Ergebnisse in einer API sample verwendet sehen.

+0

Ich hatte Angst, dass Sie das sagen würden. Hoffentlich werden sie die API in der nächsten Version von Android verbessern. Diese API in Version 3 ist schwer zu verwenden. – gregm

+0

@CommonsWare Könnten Sie bitte einen Blick darauf werfen? Http://Stackoverflow.com/questions/33095771/android-recognizerintent-speech-recognition-returns-result-client-error – Dhina

1

Was ich damit zu tun hatte, war eine Datenbank mit Möglichkeiten zu erstellen. Ich nehme dann die Ergebnisse und substring sie zu 2 oder 3 Zeichen und frage die DB nach den Bedingungen ab. Wenn jemand rot sagte, dann würde ich die Datenbank nach LIKE 're%' durchsuchen und das ist eigentlich ziemlich genau für das, was ich brauche.