打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#语音朗读文本

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 的实现代码:

1
2
3
4
5
6
7
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 的实现方式:

1
2
3
4
5
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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
.Net平台下开发中文语音应用程序 - caoyue777 - 博客园
微软TTS5.1语音引擎(中文)实现文本阅读
.NET 语音转文字 文字转语音
微软TTS语音引擎实现文本朗读
基于Speech?SDK开发中英文混合朗读程序【潍坊学院】
delphi文本语音(微软TTS)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服