I would like to be able to use Android's Speech-To-Text engine to recognize a variety of unusual words in sentences.
To give an example, the word "electroencephalograph" comes out of STT as "electronics supply graph". When I use Soundex or Metaphone to compare what is spoken to a hard-coded value, the value seem to never match or randomly match. If I use a threshold (Math.abs(str1.compareTo(str2)) <= 1, for example), then the matching becomes very loose and almost anything will match.
In essence, what I would like to do is similar to looking up quotes from a quote-database by reciting the quote. The problem seems to be more in the limited wordset used by Google's Speech-To-Text engine.
Any ideas?
You could try CMUSphinx with or without grammar-based speech recognition.
Look at the Inimesed app. This is an open-source Android app which does JSGF-based speech recognition using CMUSphinx. In this case the grammar is compiled on the basis of the user's address book. You could simply throw out this part and have a fixed grammar that contains all your phrases.
If the problem is more that you have free-form sentences which contain occasional unusual words then grammar-based speech recognition might not work. In this case recognize with the n-gram language model but include all the unusual words in the dictionary.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With