zoukankan      html  css  js  c++  java
  • C# 文字转语音DEMO

    发现微软有一个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里面的几个例子一样的程序  !
  • 相关阅读:
    录制caf 转 mp3
    关于百度地图iOS中 paopaoView 警告的处理方法
    iphone JB开发小记(四)theos、iosOpenDev的调试
    USB 漏洞影响超100万来自不同供应商的路由器
    进程 线程 纤程 中断
    synchronized、ReentrantLock、volatile
    TimeUnit用法
    2021年vivo互联网技术最受欢迎文章TOP25
    前端质量提升利器马可代码覆盖率平台
    zyh@163.net
  • 原文地址:https://www.cnblogs.com/xchit/p/2179974.html
Copyright © 2011-2022 走看看