我正在尝试编写一个软件合成器,重现经典合成器(如Moog和DX7)的声音。有没有人知道这样的代码资源?感谢。
答案 0 :(得分:14)
那里有很多C / C ++库,大多数都不再更新。对C#来说并不多,但我见过一对。我没有真正使用它们中的任何一个,所以我不能给出任何建议。
我会从Harmony Central开始,看看你是否在那里找到任何用途。
或者,在sourceforge.net上搜索analog synthesis会有很多结果。
答案 1 :(得分:7)
答案 2 :(得分:6)
穆格和雅马哈DX7完全不同。 DX7使用FM合成,这非常奇怪。与通常的VCO / VCA / VCF类似物(如穆格)非常不同。
很长一段时间,Yamaha提起诉讼要求捍卫其FM专利,但我相信它们现在已经过期了。卡西欧的相位失真类似于雅马哈的调频,并设法避免雅马哈的愤怒(据我所知)。
我首先选择一个或另一个。自Nord Nord和Access Virus出现以来,虚拟模拟(仿真模拟合成器)风靡一时。而且更容易思考。如果你想和嘻哈的人群一起走,我就这么走。
从良好的带限振荡器开始,制作包络发生器,做一个滤波器。如需灵感,请查看Welsh's Synthesizer Cookbook以了解如何使用双振荡器合成器制作各种声音。我首先要实现这些补丁所需的最低功能。
FM和PD很疯狂。如果您走这条路线,那就是将有足够的FM操作员链接在一起进行有趣的配置,以获得一系列有趣的声音。警告:要避免FM中的混叠,需要做很多工作。答案 3 :(得分:5)
Synthmaker和SynthEdit将为您生成VST代码。 SynthEdit肯定会输出未编译的C ++源文件,并且是免费的。
答案 4 :(得分:3)
最好的办法是查看developer forums over at KvR。他们将能够指出您最好的开源DSP /合成引擎的方向,以及一些您可以从中获取灵感的开源VSTi插件。但它都将使用C / C ++。目前,托管代码中只提供最基本的音频合成。
答案 5 :(得分:3)
musicdsp网站也有一个很棒的synthesis library。 C / C ++中有很多关于如何做事的示例代码。
答案 6 :(得分:2)
查看Python Music Library问题的答案。虽然问题是“Python”,但Python是基于C构建的。所以Python中可用的任何东西都会有一个C库。
答案 7 :(得分:2)
Chuck是我所知道的最好的,但它的C ++就像,而不是C ++。
答案 8 :(得分:2)
我写了一个简单的合成库作为iPhone应用程序的一部分。也许它也适用于你的合成器需求。也许不是。 http://mobilesynth.googlecode.com/svn/trunk/mobilesynth/Classes/synth/
答案 9 :(得分:2)
These tutorials(特别是从第8部分开始)涵盖了C ++中经典减法合成器的所有部分:振荡器,包络,滤波器和LFO。
答案 10 :(得分:1)
我在BASS library取得了一些成功,但是当我最后一次玩它时,它的.Net支持有点粗糙。它主要是低级流编码等,但它确实支持某些DX8效果。
答案 11 :(得分:1)
您可能需要查看有关CodeProject的两篇文章。 Leslie Stanford在C#中创建了一个Synth工具包(据我所知,它完全被管理)。
C# Synth Toolkit - Part I C# Synth Toolkit - Part II
另外,我刚发现this StackOverflow Question有一些很好的链接,虽然它与Java相关