TTS音 - Android?

时间:2013-03-30 12:37:58

标签: android text-to-speech

我在我的Android应用程序中使用了文本到语音 - TTS ..我已经粘贴了下面的代码.. TTS工作正常,但它说的语音/文字不是很清楚..它真的说话快,所以它是不完全可以理解的..我尝试设置Locale.US,并使用setPitch或setSpeechRate,但它并不真正令人信服。我觉得手机有问题(三星S2)..所以尝试从谷歌Play商店安装谷歌翻译TTS应用程序..在那个应用程序中,声音非常清晰。

我的应用程序将由儿童使用..所以要确保声音非常清晰。 过去几天我一直在试图解决这个问题..如果你能给我一些关于我做错的地方或者如何改进的话会很好吗?

@Override
public void onInit(int status) {

    if (status == TextToSpeech.SUCCESS) {

        int result = tts.setLanguage(Locale.getDefault());

        //tts.setSpeechRate((float) 0.8);
        //tts.setPitch(1.0f);

        if (result == TextToSpeech.LANG_MISSING_DATA
                || result == TextToSpeech.LANG_NOT_SUPPORTED) {
            Log.e("TTS", "This Language is not supported");
        } else {
            speakOut(0);
        }

    } else {
        Intent installIntent = new Intent();
        installIntent.setAction(
            TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
        startActivity(installIntent);
    }
}
private void speakOut(int position) {
    tts.speak("Some text goes here", TextToSpeech.QUEUE_FLUSH, null);
}

注意:我在setPitch和setSpeechRate中尝试将值设置为0.5f,0.8f等,但仍然没有GoogleTranslate App中的所有语音都清晰。

1 个答案:

答案 0 :(得分:2)

您的代码看起来很好。 所有tts库都在整个系统中共享。三星自带了tts库。其余手机使用Pico TTS。最棒的是,您的应用程序独立于库,您可以根据需要下载任意数量的TTS库,这样当您请求TTS意图时,用户将会提示弹出窗口选择他们想要的TTS合成器中的哪一个你的应用。

对我来说,Pico TTS工作正常。速度/语速是正常的,我只是把音调(音调)稍微提高了一点点去机器人的感觉。

tts.setPitch(1.1f);

尝试使用Pico TTS并回复。