简体   繁体   English

了解Windows Speech API

[英]Understanding Windows Speech API

I want to send a SSML for TTS synthesis. 我想发送用于TTS合成的SSML。

I try to make the call on the TTS Client application: 我尝试在TTS客户端应用程序上拨打电话:

CComPtr<ISpVoice> pVoice;
pVoice->Speak(ssml, SPF_ASYNC | SPF_PARSE_SSML, NULL);

This is the correct way for synthesis a SSML? 这是合成SSML的正确方法吗?

I'm implementing the SAPI Voice too. 我也在实现SAPI语音。

I implement the following interfaces: ISpTTSEngine , ISpObjectWithToken . 我实现了以下接口: ISpTTSEngineISpObjectWithToken But when I send with the flag SPF_PARSE_SSML set, the ISpObjectWithToken::SetObjectToken is called, but the ISpTTSEngine::Speak isn't show! 但是,当我发送带有标志SPF_PARSE_SSML设置时,将ISpObjectWithToken::SetObjectToken ,但不会显示ISpTTSEngine::Speak

My implementation is similar to this tutorial: http://www.codeproject.com/Articles/6190/Creating-Microsoft-SAPI-Compliant-Application-s 我的实现类似于本教程: http : //www.codeproject.com/Articles/6190/Creating-Microsoft-SAPI-Compliant-Application-s

There was two problems. 有两个问题。

SAPI doesn't accepts SSML. SAPI不接受SSML。 It's support SSML tags. 它支持SSML标签。 I cannot send a full SSML. 我无法发送完整的SSML。

Using SPF_PARSE_SSML doesn't means that the Speak action will be done. 使用SPF_PARSE_SSML并不意味着将执行Speak操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM