0

目前我正在使用 Klatt 创建元音,它是用 C http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/speech/systems/klatt/编写和编译的。我通过调用输出 .wav 文件的终端命令,使用 Python 程序自动创建元音。然后 Python 程序从磁盘中读取该波形文件。我正在考虑用 Python 编写 Klatt 代码,或者是否可以轻松扩展 Klatt 代码,以便将 .wav 文件返回到我也可以访问的 numpy 数组。有关如何执行此操作或最佳方法的任何建议。

4

1 回答 1

0

我正在尝试找到 LPC 声码器的代码示例,以及 LPC 解码器,它通过使用 LPC 系数和激励信号来合成语音。理论上一切都很好,但很难找到示例源代码。Klatt 的工作机制非常相似,如果不相同的话。如果有人知道有关 LPC 合成的有用信息,请提供帮助。

Python 中 LPC 解码器的良好实现可能会完全替代 Klatt 来满足您的目的。但是,如果将其编译为共享库对象或 DLL 或使用管道来捕获输出,则可以绑定到它。

对于共享/动态库,您可以使用 ctypes 模块进行绑定。要运行它并阅读它的标准输出,我建议使用 subproccess 模块。但是你也可以使用 os.popen 来做到这一点。然后,您可以捕获输出并将其存储到一个 numpy 数组中,然后随心所欲地处理它。

但是用 Python 重写 Klatt 并不是一个坏主意。如果你不这样做,我可能会这样做。

于 2013-04-05T01:10:16.977 回答