This sample project use RecognizerIntent to make Speec To Text (STT) for Six Langaues (En,Ar,Fr,De,Es,Ru), you could read more about RecognizerIntent from here:
https://developer.android.com/reference/android/speech/RecognizerIntent.html
You could use Google TextToSpeech to convert the result to voice or type your text, you could read more about TextToSpeech from here:
https://developer.android.com/reference/android/speech/tts/TextToSpeech.html
If you need more powerfull solution for SpeechToText, you might use Google Cloud Speech API:
https://cloud.google.com/speech/
From my expericne with RecognizerIntent, it give an accurate result in Online Mode if your voice is clear.
-
The result is not accurate.
-
Can't recognize all languases.