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

本文共 915 字,大约阅读时间需要 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 下载,

SDK 5.1 语言包,

SDK 5.1 语音文件,

转载于:https://www.cnblogs.com/candyzhmm/p/5692923.html

你可能感兴趣的文章
5. TCP客户/服务器程序示例
查看>>
MacOS下Python的多版本管理(pyenv)
查看>>
转载:.net中Cookie的用法
查看>>
ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十一) 代码重构使用反射工厂解耦...
查看>>
SIT&UAT
查看>>
可变类型变量(列表、字典等)定为函数默认值时的陷阱
查看>>
颓の第17周
查看>>
bzoj1233[USACO2009 Open]Tower of Hay干草金字塔
查看>>
class10_Frame 框架
查看>>
curl -w,–write-out参数详解
查看>>
ssm+easyUI datagrid 不能显示后台controller层返回的json数据
查看>>
JAVA算术运算符
查看>>
JAVA循环结构
查看>>
mybatis10--自连接多对一查询
查看>>
整流电路
查看>>
[微博]微博信息检索的一般流程
查看>>
PHP常用函数
查看>>
树莓派:开机使用
查看>>
(转)面试大总结之一:Java搞定面试中的链表题目
查看>>
(转)win下修改jdk环境变量后,java版本不变 java -version
查看>>