0

我正在使用它的 C++ API 为 Festival TTS 设计一个前端

在我的程序中一切正常,但我有一个问题,我给出了一个下拉菜单

当用户从下拉菜单中选择一种语言时,用户可以选择其他语言

节日 tts 在控制台上显示一条消息:

SIOD:存储空间不足

此消息仅显示提供给节日 TTS 的文本是否大于 5 或​​ 6 行。

我认为这个消息是因为当我要调用一种新语言时 SIOD 的堆不是空闲的。

所以请告诉我这个问题的解决方案。

谢谢

4

1 回答 1

1

这篇文章(来自节日邮件列表,2007 年)建议您可能只需将堆增加到可以包含所有可能选择的语言的大小。

我不知道他们最终是如何解决这个问题的(对话线程似乎在这封电子邮件之后结束),是否释放内存或是否保留所有使用过的声音......我的猜测是后者。

或者,如果你可以杀死节日(我不知道你的程序结构)并在选择新声音时从头开始重新初始化它,那可能避免不得不设置一个非常大的堆......?

于 2010-06-16T07:38:03.687 回答