2016-11-29 10 views
0

現在、私はテキストから音声までを含むアプリケーションを開発しています。私は音声出力がGoogleのTTSエンジン出力と同じではないという問題に直面しています。私が設定した言語(例:ドイツ語)を取得する代わりに、私はドイツ語のアクセントで英語の出力を受け取ります。だから私はちょっと混乱しているし、何をやっているのですか?私は複数の解決策を試しましたが、意図したとおりにはまだ動作しません。以下は私のソースコードです。Google TTS出力と同じではないテキスト音声変換(android-java)出力

  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; 
       } 
      } 

答えて

1

TTSサービスに渡すテキストはドイツ語ですか?それが英語であれば、はい、私はそれがドイツ語の発音かもしれないので、英語であると思います。

TTSはテキストのみを音声に変換します。ある言語を別の言語に翻訳しません。後者を行うには、Googleの翻訳サービスを試してみてください。自動翻訳サービスは、TTSサービスよりも受け入れられる結果を生み出す可能性がはるかに低いことに留意してください。どうやら、実際の言語から言語への翻訳は、「一連の単語から一連の音声」サービスより完璧なものになることは明らかです。

+0

はい、私はテキストのために英語を使用しています。私はここで翻訳サービスについて少し読んでいましたが、デバイスがインターネット/データ接続を持っていないときにもサービスが可能であることを知る必要があります。私はそれに飛び込むか、私のアプリケーションができることを再考するかを決めることができるように知りたいです。 –

関連する問題