Windows 语音编程
来源:互联网 发布:知乎 真实故事计划 编辑:程序博客网 时间:2024/05/02 13:52
微软语音组件官网
SAPI介绍(5.3和5.4)
SAPI简介
软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis)。这两个技术都需要语音引擎的支持。微软推出的应用编程接口API,虽然现在不是业界标准,但是应用比较广泛。SAPI全称 The Microsoft Speech API.相关的SR和SS引擎位于Speech SDK开发包中。这个语音引擎支持多种语言的识别和朗读,包括英文、中文、日文等。
SAPI包括以下组件对象(接口):
(1)Voice 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对象。
语音合成TTS(Text to Speech)
初始化语音接口
或者使用智能指针:
CLSID_SpVoice的定义位于SPAI.H中。
获取/设置输出频率
SAPI朗读文字的时候,可以采用多种频率方式输出声音,比如:8kHz 8Bit Mono、8kHz 8Bit Stereo、44kHz 16Bit Mono、44kHz 16Bit Stereo等。
下面是获取当前的配置的代码:
下面的代码则是设置当前朗读频率:
开始/暂停/恢复/结束
ISpVoice接口
开始:m_cpVoice->Speak
暂停:m_cpVoice->Pause
恢复:m_cpVoice->Resume
停止:m_cpVoice->Speak( NULL, SPF_PURGEBEFORESPEAK, 0); 、
如果编译器无法识别宏:SPF_PURGEBEFORESPEAK,则将其换成2即可,SPF_PURGEBEFORESPEAK是一枚举量,详见SPEAKFLAGS。
- Windows 语音编程初步
- Windows 语音编程初步
- Windows 语音编程初步
- Windows 语音识别编程
- Windows 语音编程初步
- Windows 语音编程
- Windows 语音编程初步
- Windows 语音编程初步
- Windows TTS语音编程
- Windows 语音编程初步
- 微软语音技术 Windows 语音编程初步
- 语音识别 Windows 语音识别编程
- .Net下Windows语音编程简介
- 编程:windows mobile 如何进行语音呼叫
- Windows语音初步编程初步(ZZ)
- Windows TTS语音引擎VC编程入门
- 语音编程
- WINDOWS语音编程初步--(转自iwaswzq)
- 11111111111
- 神奇的汇编(五)
- Linux下patch的制作和应用
- 数据库索引白话篇
- 用java写的进制转换的算法。
- Windows 语音编程
- 如何让U-boot实现Nand/Nor 双启动
- Java 中字符串及数字的格式化
- oracle*用代码创建表空间,用户并赋权限
- 让人心寒的各行业内幕
- Identifying Locking Issues
- oracle一些面试题收集
- (转)red5视频聊天源码
- Spring依赖注入的方式