C#语音朗读文本 — TTS的实现
2011-02-26 15:28
489 查看
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 的实现代码:
非常easy吧
从.NET 4.0开始,增加了一个 dynamic 动态绑定的功能,使得C#可以像VB.NET那样,使用后期绑定的方式,使用COM对象了,从而使得直接COM调用,也非常的简单了。
.Net 4.0 的实现方式:
说明: 如果是XP系统,并且没有安装 TTS 5.1 语言包的话,上面的朗读,会忽略所有的中文的。
我这里,也把 TTS5.1的下载地址,一并发布出来:
SDK 5.1 下载, 这里
SDK 5.1 语言包,这里
SDK 5.1 语音文件,这里
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();
非常easy吧
从.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 语音文件,这里
相关文章推荐
- C#语音朗读文本 — TTS的实现
- C#语音朗读文本 — TTS的实现
- C#语音朗读文本 — TTS的实现
- C#语音朗读文本 — TTS的实现
- C#语音朗读文本 — TTS的实现
- C#语音朗读文本 — TTS的实现
- C# 利用 TTS 来朗读文本的实现方式:
- 【VC++技术杂谈004】使用微软TTS语音引擎实现文本朗读
- 【VC++技术杂谈004】使用微软TTS语音引擎实现文本朗读
- C# TTS 文本转语音中断实现方式
- 使用微软TTS语音引擎实现文本朗读
- 【转】VC用TTS实现文字语音朗读
- LABVIEW调用捷通TTS ActiveX控件实现中文文本转语音
- 使用文本语音开发包实现语音朗读功能
- VC用TTS实现文字语音朗读
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0
- 使用JAVA实现语音朗读一段文本
- 封装微软TTS实现web系统文本转语音
- iOS自带文本转语音技术(TTS)的实现即语音播报的实践
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0