在前一篇博文中,提到微软的语音平台,就是通常所说的TTS,在向微的SDK中,是用类SpeechSynthesizer来实现的。

先来看最简单的使用方法:

SpeechSynthesizer speech = newSpeechSynthesizer();

speech.SetOutputToDefaultAudioDevice();

speech.Volume = 50;

speech.Rate = 0;

speech.Speak("这是语音播放内容!");

其中SetOutputToDefaultAudioDevice方法是必选方法,告诉语音是在当前默认播放设备上播放,另外还有几中方法,即输出到流或文件中,Volume是播放时的音量,取值在0到100之间,Rate是快慢,取值在-10到10之间,最后的一行的Speak方法就是开始朗读内容。看来来没有多大难度,但现在遇到一个问题,就是当朗读时,程序UI卡掉了,直到朗读完毕,这样的用户体验肯定不行,怎么办呢?一种方式是自定义多线程,另一个就是调用SpeechSynthesizer的异步Speak方法,即SpeakAsync。

如果在一段文字中,朗读的时候想有一些变化,该怎么办呢?可以用PromptBuilder来实现,这是一个集合类,要以存放多个文本信息,并能给这些文本信息加上相应的表达属性,来达到每句话在表达上不同,比如下面代码:

speech = newSpeechSynthesizer();

speech.SetOutputToDefaultAudioDevice();

speech.Volume = 100;

speech.Rate = 0;

PromptBuilder pb = newPromptBuilder();

pb.AppendText("第一句话,", PromptRate.Fast);

pb.AppendText("第二句话,", PromptRate.Slow);

speech.SpeakAsync(pb);

在朗读两句话的时候,语速是不同的。

关于微软语音平台,请参考http://msdn.microsoft.com/en-us/library/dd266409(v=office.14).aspx

Microsoft Speech Platform相关推荐

  1. Microsoft Speech Platform案例

    上篇博文说了一些Microsoft Speech Platform的知识点,这篇博文用一个例子来实践一下. 例子是实现一段文字的朗读,朗读到那一句文字,文字就变红色.就这么简单. 先看窗体布局. 实现 ...

  2. Microsoft Speech Platform 运行库和语音包

    Microsoft Speech Platform 运行库和语音包 运行库下载 huihui语音包 运行库下载 32位:https://download.microsoft.com/download/ ...

  3. Microsoft Speech SDK 编程入门

    作者:eping email:eping@eping.net TTS(Text-To-Speech,文本语音转换)顾名思义,将文本转找成语音进行输出.目前TTS技术已相对比较成熟,TTS引擎也比较多, ...

  4. Microsoft Speech SDK 5.1

    下载   Microsoft   Speech   SDK   5.1   (内有文档及   VB6   例程)     最重要的是由于有了简体中文包,就可以说中文了:         http:// ...

  5. speech开源框架_微软SAPI(The Microsoft Speech API):让你的软件能说会道

    "没声音,再好的戏也出不来."这虽然是一句广告,但是也说出了一个道理,我们所开发的软件,特别是一些多媒体软件,要是能够发出声音,能说会道,将为我们的软件增添不少光彩.同时,我们面临 ...

  6. Visual studio 2019使用Microsoft Speech SDK 5.1语音识别

    目录 下载安装Speech SDK 配置visual studio 2019项目环境 测试能否运行 解决运行报错 修改Speech SDK文件的保存问题 下载安装Speech SDK 由于官网相关包已 ...

  7. 使用微软的语音识别引擎Microsoft Speech API进行语音控制

    以下代码来自:http://mmcheng.net/zh/imagespirit/ 本人仅作提取: SREngine语音识别引擎封装类: #pragma once/****************** ...

  8. C++实现TTS文字语音朗读Microsoft Speech SDK

    转自http://www.zhimax.com/article/vc/ttsvoice.html 一. TTS概述 随着语音技术的发展,微软也推出了相应的语音开发工具,即Microsoft Speec ...

  9. 什么是 Microsoft Power Platform?

    What is Microsoft Power Platform? - Learn | Microsoft Docs Microsoft Power Platform 由四个主要产品组成: Power ...

最新文章

  1. Memcached 缓存系统的-介绍、安装以及应用
  2. 在pymongo中使用distinct
  3. 前置机上如何地址转换_canvas原生层级较高,遮盖自定义tabbar,转换为图片解决...
  4. 如何实现js调用java函数
  5. C# C/S WPF 远程操作服务器上面的文件
  6. 2招按摩轻松解除黑眼圈 - 健康程序员,至尚生活!
  7. diff命令两个服务器文件,linux 比较两个文件夹不同 (diff命令, md5列表)
  8. (49)Verilog HDL SPI接收设计
  9. 鸿蒙系统为什么腾讯,鸿蒙系统发布,为什么有人说其为安卓换壳?
  10. 计算机设备硬件维护税收编码,自动化设备的税收编码是多少
  11. Cron在线表达式生成器常用表达式
  12. boobooke ORACLE MYSQL C JAVA视频学习资料
  13. 金融领域的数字化转型和科技创新有哪些应用?
  14. gst-rtsp-server 开源包的说明
  15. JavaScript arguments详解
  16. Activiti表结构
  17. 2021暗月web渗透测试攻防全栈红队视频教程网络安全程师ctf学习
  18. Spring JMS CLIENT_ACKNOWLEDGE
  19. 硬件混合渲染器 (HWC)
  20. 目标跟踪评估绘图(3):ubuntu18.04在MATLAB2016b下的vot-toolkit配置,绘制VOT数据集的EAO评估图,与其他算法进行比较

热门文章

  1. 5G PDCCH介绍
  2. Dos 中实现else if 功能
  3. python 制作wordcloud词云
  4. pycharm acejumpchar插件
  5. 【基础】哥德巴赫猜想
  6. JS对JSON的操作总结
  7. UVa 489 Hangman Judge
  8. 2016/8/18 Linux常用命令 :目录、文件处理命令
  9. 浏览器老是自动跳出广告垃圾网页
  10. java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)