博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#语音朗读文本 — TTS的实现
阅读量:6601 次
发布时间:2019-06-24

本文共 964 字,大约阅读时间需要 3 分钟。

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,  

SDK 5.1 语言包,SpeechSDK51LangPack.exe,

SDK 5.1 语音文件,SpeechSDK51MSM.exe,

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

你可能感兴趣的文章
Confluence 6 如何让我的小组成员知道那些内容是重要的
查看>>
找到一个适合的分布式文件系统之各种分布式文件系统优缺点对比
查看>>
httpd基本配置
查看>>
索引失效的几个原因
查看>>
关于多线程中使用while做循环而不使用if的解释
查看>>
欢迎你,企业基础架构CCIE,RS CCIEv5.0的升级版新时代迎合自动化运维的网工顶级认证...
查看>>
js typoeof用法
查看>>
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
基础 JavaScript 实例
查看>>
自定义pageControl
查看>>
repquota命令--Linux命令应用大词典729个命令解读
查看>>
我的友情链接
查看>>
设置vs解决方案跟随右边cpp
查看>>
Linux Administration
查看>>
如何使版面富有节奏感
查看>>
rabbitmq 管理及常用命令
查看>>
iphone导航控制器的开发与使用
查看>>
debian python library re-install
查看>>
如何用转义来给JS添加的input元素设置单引号
查看>>