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

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

ID:8958656

大小:20.54 KB

页数:9页

时间:2018-04-13

vc基于微软语音引擎开发语音识别总结_第1页
vc基于微软语音引擎开发语音识别总结_第2页
vc基于微软语音引擎开发语音识别总结_第3页
vc基于微软语音引擎开发语音识别总结_第4页
vc基于微软语音引擎开发语音识别总结_第5页
资源描述:

《vc基于微软语音引擎开发语音识别总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、关于SAPI的简介API概述SAPIAPI在一个应用程序和语音引擎之间提供一个高级别的接口。SAPI实现了所有必需的对各种语音引擎的实时的控制和管理等低级别的细节。SAPI引擎的两个基本类型是文本语音转换系统(TTS)和语音识别系统。TTS系统使用合成语音合成文本字符串和文件到声音音频流。语音识别技术转换人类的声音语音流到可读的文本字符串或者文件。  文本语音转换API应用程序能通过IspVoice的对象组建模型(COM)接口控制文本语音转换。一旦一个应用程序有一个已建立的IspVoice对象(见Text-to-Speech指南),这个应用程序就只需要调用ISpVoice::Speak就可

2、以从文本数据得到发音。另外,ISpVoice接口也提供一些方法来改变声音和合成属性,如语速ISpVoice::SetRate,输出音量ISpVoice::SetVolume,改变当前讲话的声音ISpVoice::SetVoice等。特定的SAPI控制器也可以嵌入输入文本使用来实时的改变语音合成器的属性,如声音,音调,强调字,语速和音量。这些合成标记在sapi.xsd中,使用标准的XML格式,这是一个简单但很强大定制TTS语音的方法,不依赖于特定的引擎和当前使用的声音。ISpVoice::Speak方法能够用于同步的(当完全的完成朗读后才返回)或异步的(立即返回,朗读在后台处理)操作。当同步

3、朗读(SPF_ASYNC)时,实时的状态信息如朗读状态和当前文本位置可以通过ISpVoice::GetStatus得到。当异步朗读时,可以打断当前的朗读输出以朗读一个新文本或者把新文本自动附加在当前朗读输出的文本的末尾。除了ISpVoice接口之外SAPI也为高级TTS应用程序提供许多有用的COM接口。 事件SAPI用标准的回调机制(Window消息,回调函数orWin32事件)来发送事件来和应用程序通信。对于TTS,事件大多用于同步地输出语音。应用程序能够与它们发生的实时行为例如单词边界,音素,口型或者应用程序定制的书签等同步。应用程序能够用ISpNotifySource,ISpNoti

4、fySink,ISpNotifyTranslator,ISpEventSink,ISpEventSource,和ISpNotifyCallback初始化和处理这些实时事件。 字典应用程序通过使用ISpContainerLexicon,ISpLexicon和IspPhoneConverter提供的方法能为语音合成引擎提供定制的单词发音。 资源查找和选择SAPI语音数据如声音文件及发音字典可以被下列COM接口控制:ISpDataKey,ISpRegDataKey,ISpObjectTokenInit,ISpObjectTokenCategory,ISpObjectToken,IEnumSpOb

5、jectTokens,ISpObjectWithToken,ISpResourceManager和IspTask。 音频最后,有一个接口能把声音输出到一些指定目标如电话和自定硬件(ISpAudio,ISpMMSysAudio,ISpStream,ISpStreamFormat,ISpStreamFormatConverter)。语音识别API就像ISpVoice是语音合成的主接口,IspRecoContext是语音识别的主接口。像ISpVoice一样,它是一个IspEventSource接口,这意味着它是语音程序接收被请求的语音识别事件通知的媒介。一个应用程序必须从两个不同类型的语音识别引

6、擎(ISpRecognizer)中选择一种。一种是可以与其它语音识别程序共享识别器的语音识别引擎,这在大多数识别程序中被推荐使用。为了为IspRecognizer建立一个共享的ISpRecoContext接口,一个应用程序只需要用CLSID_SpSharedRecoContext调用COM的CoCreateInstance方法。这种方案中,SAPI将建立一个音频输入流,把它设置为SAPI默认的音频输入流。对于大型服务器程序,它可能在单独在一个系统上运行,性能是关键,一个InProc语音识别引擎更适合。为了为InProcISpRecognizer建立一个IspRecoContext,程序必须

7、首先用CLSID_SpInprocRecoInstance调用CoCreateInstance来建立属于它自己的InProcIspRecognizer。然后程序必须调用ISpRecognizer::SetInput(见alsoISpObjectToken)来建立一个音频输入流。最后程序可以调用ISpRecognizer::CreateRecoContext来得到一个IspRecoContext。下一步是建立程序感兴趣的事

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。