# 語音合成
與語音聽寫相反,語音合成(**SpeechSynthesizer**)是將文字信息轉化為可聽的聲音信息,讓機器像人一樣開口說話。
語音合成中,主要參數包括合成的
* 語言(LANGUAGE,中文、英文等)
* 方言(ACCENT,中文的普通話,粵語等)
* 發音人特征(性別,年齡,語氣)
* 語速(SPEED)
* 音量(VOLUME)
* 語調(PITCH)
* 音頻采樣率(SAMPLE_RATE)
在 MSC SDK 參數中的前三者(語言、方言和特征)基本由發音人決定——即不同的發音人,支持不一樣的語言、方言和特征,參考附錄中的發音人列表。
如果使用的是離線合成,MSC 模式下還必須設置合成資源的路徑,需下載使用對應的離線合成SDK。
~~~
mTts.setParameter( SpeechConstant.ENGINE_TYPE, engineType );
mTts.setParameter( SpeechConstant.ENGINE_MODE, engineMode );
if( SpeechConstant.TYPE_LOCAL.equals(engineType)
&&SpeechConstant.MODE_MSC.equals(engineMode) ){
// 需下載使用對應的離線合成SDK
mTts.setParameter( ResourceUtil.TTS_RES_PATH, ttsResPath );
}
mTts.setParameter( SpeechConstant.VOICE_NAME, voiceName );
final String strTextToSpeech = "科大訊飛,讓世界聆聽我們的聲音";
mTts.startSpeaking( strTextToSpeech, mSynListener );
~~~