【问题标题】:Extending currently written Klatt C program to interface with script using numpy使用 numpy 扩展当前编写的 Klatt C 程序以与脚本交互
【发布时间】:2013-04-03 05:13:10
【问题描述】:

目前我正在使用 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 数组。有关如何执行此操作或最佳方法的任何建议。

【问题讨论】:

    标签: python numpy python-c-api speech-synthesis


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多