title: Changing the default voice of Android's Text To Speech
body: <p>I'm using the Android's <strong>Text To Speech</strong> default engine in my app, however the female's voice sounds like a woman over 40 and her voice is somewhat robotic.</p>
  
  <p>I saw other apps that seems to use Google's built in TTS, but it sounds a lot better i.e young woman with a more natural voice.</p>
  
  <p>That "natural" voice is also being used in the Android main <strong>Google Search</strong> e.g. when you press on the mic and ask a question (Siri style) like "who is the president of the US", the woman's voice will tell you the answer.</p>
  
  <p>How can this voice be achieved in the code?</p>
  
  <p>Basically this is what I do in my code:</p>
  
  <pre><code>    TextToSpeech tts = new TextToSpeech(this, this);
            .
            .
            .
      tts.setLanguage(Locale.US);
      tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
  </code></pre>