OpenEars 2.04

  • Fix for excessive memory usage during recognition
  • Fix for very rare crash with OpenEars and RapidEars during stopListening or events which call stopListening
  • Addition of OEPocketsphinxController Audio Session initialization toggles to disable bluetooth and to disable session mixing. I need feedback from users of these features on whether they work for you in your specific use cases yet.
  • OELanguageModelGenerator and plugins which generate language models (Rejecto and RuleORama) are now unconcerned with the case of the input. That means that if you want to recognize the sentence “The Sand Snakes are with me” you don’t need to capitalize all of the words it in order to get the best accuracy, and the individual words therein will also be output with the case you used at input when receiving a hypothesis.
  • Generally, OELanguageModelGenerator and plugins which generate language models (Rejecto and RuleORama) has a much more flexible and internally-consistent methodology for handling both supported and unsupported punctuation for language models and grammars, making it more potentially accurate and also robust with arbitrary input. Words with hyphens, words with apostrophes, and words with acceptable punctuation attached (for instance a period connected to a word which is being attempted to be recognized at the end of a sentence) will be treated identically by all related classes and will not remove any supported punctuation. Unsupported punctuation (for instance, symbols like { or > ) will be removed so that they do not affect the lookup process for words. This should help with accuracy in the cases in which accuracy was either being impinged by words which weren’t capitalized only finding a single pronunciation where there were actually more than one, and it will help with accuracy in the cases when accuracy was being impinged by a difference between the language model and the dictionary (this was quite rare but came up occasionally). Lastly, it should make your app display more aesthetically pleasing to your endusers since you won’t be talking to them in all caps if you are actually dealing with words in sentences rather than command-and-control words.
  • OELanguageModelGenerator and plugins which generate language models (Rejecto and RuleORama) will be faster to generate language models from large amounts of input. This doesn’t mean that OpenEars should now be used to do large vocabulary recognition, but if you are creating a language model that is on the larger side you will see faster generation times now.
  • There are more tests added for these OELanguageModelGenerator features.