18

我正在尝试编写一个软件合成器,以重现由 Moog 和 DX7 等经典合成器发出的声音。有谁知道这样的代码资源?谢谢。

4

12 回答 12

13

那里有很多 C/C++ 库,大多数不再更新。C# 的内容不多,但我见过几个。我还没有真正使用它们中的任何一个,所以我不能给出任何建议。

我会从Harmony Central开始,看看你是否在那里找到任何有用的东西。

或者,在 sourceforge.net 上搜索模拟合成有很多结果。

于 2008-10-30T15:51:02.900 回答
7

斯坦福大学的CCRMA可以成为音频软件的良好资源。 C++ (STK) 中的 Synthesis ToolKit看起来可以帮助您。

于 2008-10-30T20:17:38.900 回答
6

穆格和雅马哈 DX7 截然不同。DX7 使用 FM 合成,这很奇怪。与 Moog 等常见的 VCO/VCA/VCF 类似物非常不同。

很长一段时间以来,雅马哈一直在为自己的调频专利辩护,但我相信它们都已经过期了。卡西欧的相位失真类似于雅马哈的 FM,并设法避免了雅马哈的愤怒(据我所知)。

我会从选择其中一个开始。自从 Nord Lead 和 Access Virus 出现以来,Virtual Analog(模拟模拟合成器)就风靡一时。而且更容易思考。所以如果你想和时髦的人群一起走,我会走那条路。

从好的限带振荡器开始,制作一个包络发生器,做一个滤波器。如需灵感,请查看Welsh 的 Synthesizer Cookbook,了解如何使用双振荡器合成器制作各种声音。我将从实现这些补丁所需的最低功能开始。

FM 和 PD 很狂野。如果你走这条路,那就是将足够多的 FM 操作员以有趣的配置链接在一起,以获得一系列有趣的声音。警告:要避免 FM 中的混叠需要做很多工作。

于 2009-08-07T00:40:49.990 回答
5

Synthmaker 和 SynthEdit 将为您生成 VST 代码。SynthEdit 肯定会输出未编译的 C++ 源文件,而且是免费的。

http://www.synthedit.com/

http://synthmaker.co.uk/

于 2009-08-07T00:55:21.820 回答
3

最好的办法是查看KvR 的开发者论坛。他们将能够为您指明最佳开源 DSP/合成引擎的方向,以及一些您可以从中获得灵感的开源 VSTi 插件。不过,这一切都将在 C/C++ 中。目前托管代码中只有最基本的音频合成可用。

于 2008-10-30T23:05:03.303 回答
3

musicdsp网站也有一个很棒的合成。大量的 C/C++ 示例代码说明了如何做事。

于 2009-08-07T01:47:44.483 回答
2

查看Python 音乐库问题的答案。虽然问题是“Python”,但 Python 是基于 C 构建的。因此,任何可从 Python 中使用的东西都将具有 C 库。

于 2008-10-30T15:33:42.450 回答
2

Chuck是我所知道的最好的,但它类似于 C++,而不是 C++。

于 2008-10-30T21:30:41.887 回答
2

我编写了一个简单的合成器库作为 iPhone 应用程序的一部分。也许它也可以满足您的合成器需求。也许不是。 http://mobilesynth.googlecode.com/svn/trunk/mobilesynth/Classes/synth/

于 2010-05-30T22:29:56.927 回答
2

这些教程(尤其是从第 8 部分开始)涵盖了用 C++ 编写经典减法合成器的所有部分:振荡器、包络、滤波器和 LFO。

于 2013-10-05T17:54:52.580 回答
1

我在BASS 库上取得了一些成功,但是当我上次使用它时,它的 .Net 支持有点粗糙。它主要是低级流编码等,但它确实支持一些 DX8 效果。

于 2008-10-30T14:42:09.013 回答
1

您可能想查看有关 CodeProject 的两篇文章。Leslie Stanford 用 C# 创建了一个 Synth 工具包(据我所知,它是完全托管的)。

C# Synth 工具包 - 第 I 部分 C# Synth 工具包 - 第 II 部分

另外,我刚刚发现这个 StackOverflow Question有一些很好的链接,虽然它与 Java 相关

于 2008-11-14T14:59:11.117 回答