• 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 下载, 这里

    SDK 5.1 语言包,这里

    SDK 5.1 语音文件,这里

  • 相关阅读:
    电脑端与iPad 端如何共享ChemDraw结构
    用几何画板绘制带根号坐标点的方法
    几何画板使用方法
    如何在ChemDraw中缩短双键长度
    如何在ChemDraw中打出符号π
    怎么用几何画板制作图形平移和旋转
    怎么用几何画板制作三维波纹
    如何在ChemDraw中输入℃温度符号
    怎么用ChemDraw加反应条件
    MathType中输入不了汉字如何处理
  • 原文地址:https://www.cnblogs.com/candyzhmm/p/5692923.html
Copyright © 2020-2023  润新知