2015-12-10 5 views
36

Ich verwende android.speech.SpeechRecognizer in DICTATION_MODE, um Befehle für eine lange Zeit zu erkennen. In diesem Modus verzögert sich der Aufruf der Callback-Methode onPartialResults viel mehr als im normalen Modus. Weiß jemand, warum dies geschieht und wie man diese Verzögerung vermeidet?Verzögerung bei der Verwendung von android.speech.SpeechRecognizer in DICTATION_MODE

Dies ist die Konfiguration, die ich für die SpeechRecognizer verwenden:

Intent recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 

recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
recognizerIntent.putExtra("calling_package", mainActivity.getApplicationContext().getPackageName()); 
recognizerIntent.putExtra("android.speech.extra.DICTATION_MODE", true); 
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true); 
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 100); 
+1

Ich würde vorschlagen, dass Sie sich die Flags ** RecognizerIntent ** ansehen und mit ihnen herumspielen und zusätzliche Werte in Ihr Intent-Objekt eingeben. 'EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS' <- vor allem dieses ' EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS' 'EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS' Dieses problematisch sein kann, da es anders basierend Verhalten auf der Android-Version und das Modell Ihres Geräts. Werfen Sie auch einen Blick auf diese: https://code.google.com/p/android/issues/detail?id=76130 Ich wollte es als Antwort posten, entschied aber, dass Kommentar besser wäre. – scana

+0

Ja, ich habe diese Optionen auch ohne Erfolg ausprobiert. Irgendwelche anderen Vorschläge? – acimutal

+0

Sie sind dem eingebauten Spracherkenner ausgeliefert. Es wartet wahrscheinlich darauf, mehr Kontext zu sammeln, um genauere Diktate zu erstellen. Wenn Sie damit unzufrieden sind, können Sie nichts anderes tun, als eine andere Spracherkennungs-Engine zu verwenden. –

Antwort

0

Reaktionszeit hängt von vielen Faktoren ab, wie zum Beispiel:

  • Gerät characteriscics
  • OS Version
  • Internet-Geschwindigkeit

Und gemeinsam ist es länger, weil dieser Modus das Raten des Kontextes impliziert und versucht, die Bedeutung herauszufinden, die sich mit jedem neuen Wort ändert.

Verwandte Themen