Reply To: (RapidEars) rapidEarsDidDetectLiveSpeechAsWordArray fired more then once

Home Forums OpenEars plugins (RapidEars) rapidEarsDidDetectLiveSpeechAsWordArray fired more then once Reply To: (RapidEars) rapidEarsDidDetectLiveSpeechAsWordArray fired more then once

#1015664
Halle Winkler
Politepix

Understood, but I’ve also recommended a couple of other approaches — you could keep using partials but use the higher-quality algorithm which will return fewer times (but be more accurate) by setting:

[self.pocketsphinxController setFasterPartials:FALSE];
[self.pocketsphinxController setFasterFinals:FALSE];

Those will still return partials, so that isn’t the OpenEars-style approach.

Or you could just ignore partials that don’t match the utterance you are trying to detect, and short circuit your listening at the time that you receive a partial that matches the utterance you are trying to detect. There’s no requirement to display every partial to the user or run a method based on every one; you can also just check in the callback to see if it is the matching hypothesis and only react to the first one that is.

My other suggestion was to compare an incoming hypothesis to the previous one and only display/invoke new methods when it no longer matches the hypothesis that came before, i.e. throwing out any repeated hypotheses for logical purposes.

So there are a few ways that you can get the results you are looking for — it’s really a question of what is the best approach for your application goals.