1. 语音合成

与语音听写相反,语音合成(SpeechSynthesizer)是将文字信息转化为可听的声音信息,让机器像人一样开口说话。

语音合成中,主要参数包括:

  • 语言(LANGUAGE,中文、英文等)
  • 方言(ACCENT,中文的普通话,粤语等)
  • 发音人特征(性别,年龄,语气)
  • 语速(SPEED)
  • 音量(VOLUME)
  • 语调(PITCH)
  • 音频采样率(SAMPLE_RATE)
    在 MSC SDK 参数中的前三者(语言、方言和特征)基本由发音人决定——即不同的发音人,支持不一样的语言、方言和特征,参考附录-合成发音人列表

如果使用的是离线合成,MSC 模式下还必须设置合成资源的路径,需下载使用对应的离线合成SDK。

  1. mTts.setParameter( SpeechConstant.ENGINE_TYPE, engineType );
  2. mTts.setParameter( SpeechConstant.ENGINE_MODE, engineMode );
  3. if( SpeechConstant.TYPE_LOCAL.equals(engineType)
  4. &&SpeechConstant.MODE_MSC.equals(engineMode) ){
  5. // 需下载使用对应的离线合成SDK
  6. mTts.setParameter( ResourceUtil.TTS_RES_PATH, ttsResPath );
  7. }
  8. mTts.setParameter( SpeechConstant.VOICE_NAME, voiceName );
  9. final String strTextToSpeech = "科大讯飞,让世界聆听我们的声音";
  10. mTts.startSpeaking( strTextToSpeech, mSynListener );