想做一个能支持多种语言的语音合成小程序,
学着网上的方法创建了一个Windows窗体应用,在项目中添加了Microsoft Speech Object,绑定了按钮事件,成功地用系统自带的中英文TTS合成出了语音。
但现在不清楚怎么让其他语言如日语韩语也能合成语音。
我的想法是利用系统下载语言包然后在程序中调用,但在网上查询之后无功而返。
所以想请教下各位,怎么让程序实现这个功能,希望大家能不吝赐教,谢谢。

C#实现多语种语音合成TTS
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-showbo 2021-08-14 22:07关注
在系统中安装好语言包,设置SpVoicede.Voice语言就行了,windows10测试有效。有帮助麻烦点个采纳【本回答右上角】,谢谢~~
List<SpObjectToken> voices; private void Form1_Load(object sender, EventArgs e) { var voice = new SpVoice(); voices = voice.GetVoices().Cast<SpObjectToken>().ToList(); cbLans.DataSource = voices.Select(i => i.GetDescription()).ToList(); } private void button1_Click_1(object sender, EventArgs e) { var voice = new SpVoice(); voice.Rate = 0; voice.Volume = 100; voice.Voice = voices[cbLans.SelectedIndex]; voice.Speak(txtWord.Text); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报