• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#文字转语音DEMO

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近突发奇想 想玩玩  文字转语音的东东   谷歌了一下 发现微软有一个TTS 的SDK   查了查相关资料  发现 还真不错  然后就开始玩玩Microsoft Speech SDK的 DEMO了    

现在网上最新版好像是Microsoft Speech SDK Version 5.1    先下载下来

下载地址是  http://www.52z.com/soft/22068.html

要先安装第一个SDK 然后安装语言包    只有安装了语言包   语言包是用来支持中文翻读的

然后开始我们的C#文字转语音小程序  

1、打开VS  新建一个窗体项目

2、添加引用:在COM选项卡里面的Microsoft Speech  object  library引用 

并在代码区添加引用

using SpeechLib; 
using System.Threading;//这个引用是用来保存语音文件用的线程类

 3、添加一个文本框 两个按钮 

4、在一个按钮下输入如下代码

 SpeechVoiceSpeakFlags flag = SpeechVoiceSpeakFlags.SVSFlagsAsync;
            SpVoice voice = new SpVoice();
            voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(3);
            //Item(0)单词男声Sam
            //Item(1)单词男声Mike
            //Item(2)单词女声Mary
            //Item(3)中文发音,如果是英文,就依单词字母一个一个发音
            voice.Speak(textBox1.Text, flag);

代码解释  :其中最重要的是SPVoice类   他是这个DEMO的核心 ;然后就是Item(3)选项  下面注释已经很清楚了 说明是什么意思。后面还有一个SPEAK方法  不用我说也知道是什么意思吧 !当然关于SpVoice对象还有很多方法  查了一下Microsoft Speech的API   还有pause\ Resume     SetVoice\GetVoice    SetRate|SetRate  SetVolume\GetVolume   这些方法根据他的意思就知道 是关于暂停 继续   设置声音   设置读取速度  声音大小的   更多的对象 方法  请参考他的API 

5、在另一个按钮输入如下代码 

  SpeechVoiceSpeakFlags flag = SpeechVoiceSpeakFlags.SVSFlagsAsync;
            SpVoice voice = new SpVoice();
            voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(3);

 


            SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;

            SpFileStream SpFileStream = new SpFileStream();
            SpFileStream.Open(@"C:\test.wav", SpFileMode, false);
            voice.AudioOutputStream = SpFileStream;//设定voice的输出为Stream
            voice.Speak(textBox1.Text.Trim(), flag);
            voice.WaitUntilDone(Timeout.Infinite);//Using System.Threading;

            SpFileStream.Close();

其实这段代码跟前一个代码差不多 只不过是通过流把声音保存为语音文件而已   

简单吧   现在就可以好好玩玩你的这个DEMO了    你还可以添加很多功能的 可以做成SDK里面的几个例子一样的程序  !

Ps 感觉微软的这个声音好不柔和  我在网上见到几个 比较好的在线文字转声音系统 不错  分享给大家

http://ecl.iflytek.com/ListenToThis/


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#画图闪烁问题发布时间:2022-07-14
下一篇:
c#操作Access[上]发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap