有人知道做音频合成器仿真的C/C++/C#代码库吗
本文关键字:C++ 代码 真的 仿真 音频 合成器 音频合成 | 更新日期: 2023-09-27 17:47:46
我正在尝试编写一个软件合成器,以重现Moog和DX7等经典合成器发出的声音。有人知道这样的代码资源吗?谢谢
有很多C/C++库,大多数库都不再更新。C#没有太多内容,但我已经看到了一些。我在愤怒中并没有真正使用过它们,所以我不能给出任何建议。
我会从和谐中心开始,看看你在那里有没有用。
或者,在sourceforge.net上搜索模拟合成也有很多结果。
斯坦福大学的CCRMA可以成为音频软件的良好资源。C++(STK)中的Synthesis工具包看起来可以帮助您。
Moog和雅马哈DX7截然不同。DX7使用调频合成,这是非常奇怪的。与通常的VCO/VCA/VCF类似物(如Moog)非常不同。
很长一段时间以来,雅马哈一直在为其FM专利辩护,但我相信这些专利现在都已经过期了。卡西欧的相位失真类似于雅马哈的调频,并设法避免了雅马哈(据我所知)的愤怒。
我会先选一个。自从Nord Lead和Access Virus出现以来,虚拟模拟(模拟模拟合成器)风靡一时。而且更容易思考。所以,如果你想和时髦的人群一起走,我会走那条路。
从好的限带振荡器开始,做一个包络发生器,做一次滤波器。想要获得灵感,请查看威尔士的合成器食谱,了解如何用双振荡器合成器发出各种声音。我会从实现这些补丁所需的最低功能开始。
FM和PD都很疯狂。如果你走这条路,那就是把足够多的调频运营商以有趣的配置连接在一起,以获得一系列有趣的声音。警告:要避免FM中的混叠,需要做大量工作。
Synthmaker和SynthEdit将为您生成VST代码。SynthEdit肯定会输出未编译的C++源文件,并且是免费的。
http://www.synthedit.com/
http://synthmaker.co.uk/
您最好的选择是查看KvR上的开发者论坛。他们将能够为您指明最佳开源DSP/合成引擎的方向,以及一些您可以从中获得灵感的开源VSTi插件。不过,这一切都将在C/C++中实现。目前,托管代码中只有最基本的音频合成可用。
musicdsp网站还有一个很棒的合成库。C/C++中有很多关于如何做事的示例代码。
看看Python音乐库问题的答案。虽然问题是"Python",但Python是基于C构建的。因此,任何可从Python中使用的东西都将有一个C库。
我编写了一个简单的synth库,作为iPhone应用程序的一部分。也许它也能满足你的合成器需求。也许不是。http://mobilesynth.googlecode.com/svn/trunk/mobilesynth/Classes/synth/
这些教程(尤其是从第8部分开始)涵盖了用C++编程经典减法合成器的所有部分:振荡器、包络、滤波器和LFO。
我在BASS库方面取得了一些成功,但它的.Net支持在我上次使用它时有点粗糙。它主要是低级别的流编码等,但它确实支持一些DX8效果。
您可能想要查看CodeProject上的两篇文章。Leslie Stanford用C#创建了一个Synth工具包(据我所知,它是完全管理的)。
C#Synth工具包-第一部分C#Synth工具包-第二部分
此外,我刚刚发现了这个StackOverflow问题,它有一些很好的链接,尽管它是与Java相关的