# 语音合成
与语音听写相反,语音合成(**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 );
~~~