java - 文本转语音 (android - java) 输出与 Google TTS 输出不同

标签 java android

目前我正在开发一个涉及文本转语音的应用程序。我面临的问题是语音输出与 google 的 TTS 引擎输出不同。我没有收到我设置的语言(例如:德语),而是收到带有德语口音的英语输出。所以我有点困惑发生了什么,我尝试了多种解决方案,但它仍然没有按我的预期工作。下面是我的源代码。

            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

            String languageLocale = preferences.getString("langTest",null);
            String languageDisplayName = preferences.getString("language",null);
            float speed = preferences.getFloat("speed",0);
            float pitch = preferences.getFloat("pitch",0);

            Locale[] locales = Locale.getAvailableLocales();

            for(Locale locale : locales){
                if(locale.getDisplayLanguage().equals(language)){
                    textToSpeech.setLanguage(language);
                    Log.d("Check Locale", " getDisLang: " + locale.getDisplayLanguage() + " // getLang: " + locale.getLanguage() + " // language: " + language);
                    textToSpeech.setSpeechRate(speed);
                    textToSpeech.setPitch(pitch);
                    break;
                }
            }

最佳答案

您传递给 TTS 服务的文本是德语吗?如果它是英语,那么是的,我希望它是英语,就像德国人可能发音的那样。

TTS 仅将文本翻译为语音。它不会将一种语言翻译成另一种语言。要做到后者,您可以尝试 Google 的翻译服务。请记住,自动翻译服务产生可接受结果的可能性远低于 TTS 服务。显然,真正的语言到语言的翻译比“一组单词到一组声音”服务更难完善。

关于java - 文本转语音 (android - java) 输出与 Google TTS 输出不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40875639/

相关文章:

java - Android 上的 USB HID

java - Maven 安卓插件 :No Android SDK path could be found

按下 "Go"按钮时的 Android webview 键盘 Action

c++ - 在 android 中运行 C++ 可执行文件时静态初始化问题?

java - 清洁图像以帮助在 Android 上进行 tesseract

java - Java 是否具有与 C# 的元组等效的变量类型?

java - 寻找适用于 Windows 的(免费)Java 代码编辑器 (IDE)

java - JDBC、MySQL : getting bits into a BIT(M! =1) 列

java - 将 POJO 转换为 SOLR 查询

android - 无法在android xml中设置 TextView 的文本颜色