2012-03-22 154 views

回答

1

這取決於底層的TTS引擎。有些是可配置的,有不同的聲音(男,女等),有些只有一個聲音。無論如何,您無法從您的應用中控制此功能,用戶必須從「設置」應用更改TTS引擎設置。您只能指示他們安裝特定的引擎,並設置您的應用程序以使用它。

3

您無法使Android TextToSpeech聽起來像男性。如果您將TextToSpeech.setPitch()值更改爲某個較低的值,例如0.1,則聽起來會很糟糕。

你唯一的選擇是嘗試另一個文本到語音引擎,或者與女性聽起來的聲音共存。

+1

谷歌有一個新的標誌,但Android只有一個女性的聲音,令人難以置信。 – Josh 2015-09-04 08:55:14

1

有可能將聲音改變爲男性。設置在onCreate()tts.setEngineByname("com.google.android.tts")並使google tts服務在文本到語音設置中的默認設置以及在Google tts服務中安裝男性語音。

像這樣你可以使用任何第三方的android tts服務並檢查設備。或者要求安裝。

4

現在可以使用男性/女性的聲音並動態地從應用程序UI進行更改。定義TTS像這樣(加谷歌TTS引擎在構造函數):

tts = new TextToSpeech(context, this, "com.google.android.tts"); 

CONTEX =活動/應用

此= TextToSpeech.OnInitListener

tts.getVoices()列表中,選擇您想要的聲音通過它的名字是這樣的:

for (Voice tmpVoice : tts.getVoices()) { 
     if (tmpVoice.getName().equals(_voiceName)) { 
      return tmpVoice; 
      break; 
     } 
} 

NB:U nee d通過從tts.getVoices()獲取硬編碼的voice_name來設置_voiceName。例如:英語男性這將是: 「EN-US-X-SFG#male_1本地」

0

無論哪種方式,你可以設置你的Android文本到語音轉換到谷歌TTS服務:

  1. tts = new TextToSpeech(context, this, "com.google.android.tts")
  2. 安裝新的男性(英語)語音並將其默認設置爲android。

希望它有幫助。