我在我的Android应用程序中使用了Text to Speech - TTS。我已经粘贴了下面的代码。TTS工作正常,但是它所说的语音/文本不是很清楚。它说得很快,所以不能完全理解..我尝试设置Locale.US,并使用setPitch或setSpeechRate,但它不是真正令人信服。我觉得我的手机(三星S2)出了点问题。因此,我尝试从Google Play商店安装Google Translate 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应用程序那样清晰。
发布于 2013-04-02 05:07:21
您的代码看起来很好。所有的tts库都在整个系统中共享。三星有自己的tts库。其余的手机使用Pico TTS。最棒的是,你的应用是独立于库的,你可以下载任意数量的TTS库,这样当你请求TTS意图时,用户会弹出一个窗口,选择他们想要在你的应用中使用的TTS synth。
对我来说,Pico TTS运行得很好。速度/语速是正常的,我只是把音调(音调)调高了一点,以减少一点机器人的感觉。
tts.setPitch(1.1f);尝试使用Pico TTS并回答。
https://stackoverflow.com/questions/15718592
复制相似问题