C++ —— 调用微软语音接口(SAPI),实现文字转语音播放

Posted 信必诺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ —— 调用微软语音接口(SAPI),实现文字转语音播放相关的知识,希望对你有一定的参考价值。

SAPI介绍

     SAPI(The Microsoft Speech API) ———— 微软语音接口

     SAPI中的语音技术包括两部分内容:语音识别、语音合成。均需语音引擎的支持。
     SAPI包含以下组件对象:
          1)、Vocie Commands API.对应用程序进行控制,一般用于语音识别系统中。
          2)、Voice Dictation API.听写输入,即语音识别接口。
          3)、Voice Text API.完成文字到语音转换,即语音合成。
          4)、Voice Telephone API.语音识别和语音合成综合运用到电话系统上,利用此接口可建立一个电话应答系统,甚至通过电话控制计算机。
          5)、Audio Objects API.封装了计算机发音系统。

     SAPI 是架构在COM基础上的,微软还提供了ActiveX控件,所以不仅可用于一般的windows程序,还可用于网页、VBA甚至excel图表中。如果对COM感到陌生,还可使用微软的C++ WRAPPERS,它用C++封装了语音SDK COM对象。

环境配置
头文件
	#include <sapi.h>
	#include <sphelper.h>

库文件(直接加入使用)
	#pragma comment(lib,”sapi.lib”)

用例(文字转换语音),亲测可用

   另外补充:

// 上图仅演示了如果播放(Speak),这里提供暂停、继续、停止:

暂停
	Pause

继续
	Resume

停止
	将Speak参数的文字写入空字符串

笔者

笔者 - jxd

以上是关于C++ —— 调用微软语音接口(SAPI),实现文字转语音播放的主要内容,如果未能解决你的问题,请参考以下文章

VC++基于微软语音引擎开发语音识别总结

微软语音引擎 TTS 最基本使用

微软语音技术 Windows 语音编程初步

C++ sapi:用户输入,编辑语音输出

技术文:微信小程序如何实现语音搜索

使用其他语音时的文本到语音 SAPI5 AccessViolationException