C#语音朗读文本 — TTS的实现

原文:C#语音朗读文本 — TTS的实现

TTS, Text To Speech的缩写,是使用语音朗读文本的技术。目前,在国内应用较多的是排队叫号系统

Windows 平台的TTS,通常使用的是微软自带的 Speech API。

Windows XP 自带的是 Speech API 5.1,默认是只支持英文的。如果要朗读中文,需要安装LangPack,里面支持简体中文,不过,是个男生的发音。

从Vista开始,默认自带的 Microsoft Speech API 5.3,效果好了很多,可惜不支持XP,郁闷

下面,说一下 C# 利用 TTS 来朗读文本的实现方式:

从 .NET 3.0开始,.NET Framework里,提供了托管的Speech API 调用方法,这样,就非常流畅了。而不必拘泥于繁琐的非托管COM调用了。

.Net 3.0 的实现代码:

using System.Speech.Synthesis;

SpeechSynthesizer synth = new SpeechSynthesizer();

synth.Speak("Hello, world! 你好么?");

synth.Dispose();

 从.NET 4.0开始,增加了一个 dynamic 动态绑定的功能,使得C#可以像VB.NET那样,使用后期绑定的方式,使用COM对象了,从而使得直接COM调用,也非常的简单了。

.Net 4.0 的实现方式:

Type type = Type.GetTypeFromProgID("SAPI.SpVoice");

dynamic spVoice = Activator.CreateInstance(type);

spVoice.Speak("你好,欢迎使用 CSharp 4.0!");

说明: 如果是XP系统,并且没有安装 TTS 5.1 语言包的话,上面的朗读,会忽略所有的中文的。

我这里,也把 TTS5.1的下载地址,一并发布出来:

SDK 5.1 下载,SpeechSDK51.exe, 这里 

http://download.microsoft.com/download/B/4/3/B4314928-7B71-4336-9DE7-6FA4CF00B7B3/SpeechSDK51.exe

SDK 5.1 语言包,SpeechSDK51LangPack.exe,这里

http://download.microsoft.com/download/B/4/3/B4314928-7B71-4336-9DE7-6FA4CF00B7B3/SpeechSDK51LangPack.exe

SDK 5.1 语音文件,SpeechSDK51MSM.exe,这里

http://download.microsoft.com/download/B/4/3/B4314928-7B71-4336-9DE7-6FA4CF00B7B3/SpeechSDK51MSM.exe

转自:http://www.cnblogs.com/sntetwt/p/3533475.html

时间: 2024-11-11 18:41:38

C#语音朗读文本 — TTS的实现的相关文章

TTS 语音朗读

问题描述 遇见一个很头痛的问题,C#写的TTS语音朗读的webservice服务,就是在服务器上把文本转换成语音文件发送到客户端朗读,本机运行没有问题,windows2003部署也没问题,到2008上面,第一次请求正常,第二次请求时只生成一个1k的语音文件,直到你清空了应用程序池后,第一次请求正常,第二次.....,依次循环.谁遇见过这个问题,首先IIS的设置上,32bit程序运行.本地服务这两两个经常遇到的问题已经设置,依旧不起作用 解决方案 解决方案二:没人回复,难道放假了都,自己顶一下解决

实现语音朗读功能

不知道大家有没有发现,在System.Speech.Synthesis命名空间下有一个SpeechSynthesizer类,它可 以指定的文本内容进行语音朗读,而且,这个类用起来也严重简单,简单到什么程度? 试试看. 首先,新建一个项目,随便你建什么项目,反正能测试即可. 然后,添加对System.Speech程序 集的引用,这个不用我教你了,你再菜,只要用VS都不可能不懂这个. 引入 System.Speech.Synthesis命名空间,最后,看好了,几行代码搞定. private void

Excel语音朗读表格数据 轻松完成数据检查

工作中常常需要仔细校对各种复杂的Excel表格数据,如果全部靠眼睛校对,很容易出差错.如果Excel表格可以把表格数据念出来,不仅减轻了工作量,还不容易出错. 在Excel2003中,我们可以通过"视图"-"工具栏",选中"文本到语音"复选框来使用朗读单元格功能.由于这个功能在安装Excel时不是默认的,所以在第一次使用时会提示插入Office安装光盘来安装这个功能. 使用的时候打开"文本到语音"工具栏,数据文件中用鼠标选择要

C#如何完成语音朗读功能?

问题描述 用C#完成,比如说选中几个字,然后用语音朗读出来?有API调用??请大神求解谢谢!! 解决方案 解决方案二:不想复制黏贴了,你去这里看看吧,有一篇文章能帮助你的.http://www.yesky.com/263/1663263.shtml解决方案三:privatevoidbutton1_Click(objectsender,RoutedEventArgse){SpeechSynthesizerspeech=newSpeechSynthesizer();speech.Volume=100

语音朗读入门

利用微软自带的TTS,能够做到一个简单的语音朗读功能 using System.Speech.Synthesis; //用于语音朗读 using System.Speech.Recognition;//用于识别语音 namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             while (true)            

wireshark抓包能分辨数据包是视频、语音、文本、图片之类么

问题描述 wireshark抓包能分辨数据包是视频.语音.文本.图片之类么 求帮忙,..................................................................... 解决方案 理论上是可以的,不同的协议有各自的特征数据. 解决方案二: 只能通过协议来分析,比如http包,那么可以查看http header中的content-type 解决方案三: wireshark抓到的包,可以看到ip.port.通信协议.通信内容,如果是使用特定的协议

iphone6怎么关闭语音朗读?苹果6关闭语音朗读方法

1)首先,开启了Voiceover(语音朗读)功能后,无论你按哪里都会有出现一个黑色框框的.大家如果看到下图一样,有框框跟随,证明你已经开启了Voiceover功能.然后大家点击[设置]按钮,连按2次.然后在[设置]界面找到[通用]栏,同样连按2次.(如下图所示) 注:在开启Voiceover功能后,大家需要选择哪个按键都需要连按2次才能进入.   2)在[通用]界面里选择[辅助功能],然后选择[Voiceover]进入.(如下图所示)   3)最后在[Voiceover]界面里,连按2次开关按

java语音实现技术TTS资料

要做语音,查了一些资料. Java Speech API :http://java.sun.com/products/java-media/speech/ Java Speech API 允许开发人员将语音技术整合到 Java applet 和应用程序的用户界面中.这种 API 规定一个跨平台的接口来支持命令-控制识别器.听写系统和语音合成器. 这个综合 API 被分成几个规范: Java Speech API 规范(Java Speech API Specification,JSAPI) Ja

C#中实现语音朗读(短信 & 语音短信)sms

一个项目中,客户要求实现给集团公司员工发送短信如,拜年短信等.另,支持给领导发送语音短信 .实现方法如下. 1.群发短信有几种方式: 1.1 短信猫:一个普通的工控机,插入SIM卡,可以通过接口的方式发送短信,点对点发送,到达 率快准确,但是呼出的号码是普通的手机号码.缺点:移动对SIM卡的限制是每小时200条,发送太多会 锁卡.目前短信猫有8端口的,即1小时最多能发送1600条.每条短信的价格为0.1元. 技术实现: 一般配合短信猫有SDK组件,才共享数据库作为接口.定义4个表:待发送表,发送