跳转到内容

ZynAddSubFX/PADsynth/实现

来自维基教科书,开放世界中的开放书籍

展示简单实现的公共领域 C/C++ 代码

[编辑 | 编辑源代码]

我编写了一些基本算法和扩展算法的 C/C++ 实现。"c_basic" 目录包含基本算法,"c_extended" 包含扩展算法,而 "c_simple_choir" 是使用基本算法实现简单合唱的效果。这些实现易于理解,并未针对速度进行优化。您可以在 Linux 上运行 ./compile.sh 脚本进行测试。建议安装 snd,以便能够将结果以 wav 文件的形式播放。当然,您也可以将结果导入您的乐器,因为这些波形是完美循环的(将第一个循环点设置为 0,第二个循环点设置为 wav 文件的结尾)。我将源代码置于公共领域,但它依赖于 FFTW3_library,因此,如果您想要在您的产品中使用它,您必须使用自己的 IFFT 例程来避免 FFTW 库的许可问题。

实现算法的公共领域 C++ 类(可直接使用)

[编辑 | 编辑源代码]

为了便于在您的项目或产品中使用此算法,我制作了一个可直接使用的 C++ 类。您只需要提供一个 IFFT 例程即可。请阅读头文件以获取详细信息。

C/C++ 实现的源代码可以在 此处 获取。

您也可以在这里查看 C++ 类:CPP 实现

华夏公益教科书