I am working on an application that allows you to recognize a voice and translate it into text, that is, Speech to Text . Then the application compares the phrase and if it matches the phrase from the condition, the program performs a specific function. The problem is that the quality of recognition leaves much to be desired, is it possible to somehow improve it? Maybe my method is outdated and is now using more advanced methods? (Took from the book of 2013) Or use a different technology, given that the user uses a certain set of phrases (there are about 20)?
My method used for recognition is:
@Override public void onClick(View v) { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "You may speak!"); intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US"); startActivityForResult(intent, 1); }