【发布时间】:2017-04-27 23:09:58
【问题描述】:
在制作与 Microsoft SAPI 5.3 兼容的 tts 引擎时,我遇到了一个奇怪的问题。我使用 HTS_engine 作为产生声音的底层引擎。在我的引擎收到来自 sapi 的合成请求并对其进行处理后,我检索了一个音频数据缓冲区。然后根据微软提供的示例,我通过 ISpTTSEngineSite::write() 将数据写入 SAPI 应用程序。然而,结果是如此糟糕,以至于它被简化为只是声音,不再是声音。当我使用音频缓冲区写入 wav 文件时,完全没问题。那么我在这里做错了什么?
fwrite(audio, sizeof(char), len, outfile); //completely fine
fclose(outfile);
hr = pOutputSite->Write(audio, len, &actual_len); //terrible sound
m_ullAudioOff += len;
我确实仔细阅读了guide 和示例代码,但无法弄清楚问题所在。
【问题讨论】:
标签: visual-studio text-to-speech sapi