[size=medium] SAPI 应用程序接口程序戏剧性的减少了语音识别和语音合成应用中的程序代码,使得语音技术在广泛和蓬勃发展的实际应用中更容易使用。
SAPI使得应用程序和语音引擎之间高度紧密的结合。SAPI可以实时处理各种语音引擎在底层工作中的细节。
SAPI的两种基本类型是文本合成语音(TTS)引擎和语音识别(SR)引擎。TTS可以将文本中的字符或文档合成为语音并“说”出来。而SR则可以把人说话的语音转换为易读的字符或文档。
应用程序可以通过ISpVoice COM接口控制使用TTS。应用程序一旦建立了ISpVoice 对象,它只需调用ISpVoice::Speak来从文本数据生成语音。另外IspVoice接口同样提供了多种方式来改变程序所发出的声音、音调和其他属性,例如ISpVoice::SetRate改变语音速度,ISpVoice::SetVolume改变语音音量,ISpVoice::SetVoice改变当前程序所发出的声音。更有趣的是SAPI还可以控制通过对插入的文本的结合来实时改变合成语音的声音类型、音调、重音、发音速度和音量。
IspVoice::Speak方法可以同步地(在发音完毕时返回程序)或异步地(在发音时同时返回程序,发音成为后台处理)。当处于异步工作时,可以使用ISpVoice::GetStatus来获得发音状态及文本位置。同样,当处于异步工作时,新的文本发音也可以通过立即终止当前的发音来创建,这个过程是决定于新文本所包含的结束信息由程序自动处理的。
除了IspVoice接口之外,SAPI同样提供更多的高级TTS应用——通过手动控制COM接口。语音识别应用程序接口:
类似于IspVoice是主要的语音合成程序接口,ISpRecoContext就是主要的语音识别程序接口。同IspVoice一样&#x
SAPI使得应用程序和语音引擎之间高度紧密的结合。SAPI可以实时处理各种语音引擎在底层工作中的细节。
SAPI的两种基本类型是文本合成语音(TTS)引擎和语音识别(SR)引擎。TTS可以将文本中的字符或文档合成为语音并“说”出来。而SR则可以把人说话的语音转换为易读的字符或文档。
应用程序可以通过ISpVoice COM接口控制使用TTS。应用程序一旦建立了ISpVoice 对象,它只需调用ISpVoice::Speak来从文本数据生成语音。另外IspVoice接口同样提供了多种方式来改变程序所发出的声音、音调和其他属性,例如ISpVoice::SetRate改变语音速度,ISpVoice::SetVolume改变语音音量,ISpVoice::SetVoice改变当前程序所发出的声音。更有趣的是SAPI还可以控制通过对插入的文本的结合来实时改变合成语音的声音类型、音调、重音、发音速度和音量。
IspVoice::Speak方法可以同步地(在发音完毕时返回程序)或异步地(在发音时同时返回程序,发音成为后台处理)。当处于异步工作时,可以使用ISpVoice::GetStatus来获得发音状态及文本位置。同样,当处于异步工作时,新的文本发音也可以通过立即终止当前的发音来创建,这个过程是决定于新文本所包含的结束信息由程序自动处理的。
除了IspVoice接口之外,SAPI同样提供更多的高级TTS应用——通过手动控制COM接口。语音识别应用程序接口:
类似于IspVoice是主要的语音合成程序接口,ISpRecoContext就是主要的语音识别程序接口。同IspVoice一样&#x