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