zy3557896079 2021-08-14 17:04 采纳率: 100%
浏览 76
已结题

C#实现多语种语音合成TTS

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

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-08-14 22:07
    关注

    在系统中安装好语言包,设置SpVoicede.Voice语言就行了,windows10测试有效。有帮助麻烦点个采纳【本回答右上角】,谢谢~~

    img

    img

            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);
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月14日

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记