I\'m using the Android\'s Text To Speech default engine in my app, however the female\'s voice sounds like a woman over 40 and her voice is somewhat robotic.
You cannot change this within the TextToSpeech
. You can download other applications that replace it however, with the current system you can only set the language and set the pitch. If you are just wanting something different you can get a British accent by setting it to English UK. Ivona is one of the biggest alternatives to googles text to speech voice.
Here is my code to use KEY_FEATURE_NETWORK_SYNTHESIS
param:
HashMap<String, String> onlineSpeech = new HashMap<>();
onlineSpeech.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true");
tts.speak(speech, TextToSpeech.QUEUE_FLUSH, onlineSpeech);
I've eventually managed to find a solution. I just needed to use the KEY_FEATURE_NETWORK_SYNTHESIS param which is available on jellybean. The default offline mode has the awful robotic sound