【问题标题】:Sapi sound output issueSapi声音输出问题
【发布时间】: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


    【解决方案1】:

    好的,我找到了问题所在。 SAPI 支持很多声音格式,但我的引擎只提供 44khz 单声道 16 位声音。因此,当 sapi 尝试将我的数据转换为默认的 11khz 单声道 16 位时,声音会失真。我只需要把它转换成正确的格式就可以解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 2011-07-10
      • 2012-08-24
      相关资源
      最近更新 更多