Answers:
获得用于交互式应用程序的真实声音合成,并下载Synthesis Toolkit。对于大多数正在使用的数字合成方法,这将为您提供实用的介绍和高质量的源代码。然后选择最有趣的方法,然后开始修改相应的STK代码以执行所需的操作。 然后尝试从头开始构建类似的内容。
此外,就像hotpaw2建议的那样,JOS中的任何内容也是很好的入门资料。特别是,带音频应用的数字滤波器简介和离散傅立叶变换的数学都从基础开始,并且没有太多的背景知识。
从数字滤波器/效果的角度来看,另一个不错的起点是检查Faust。您甚至不必学习它们的方框图信号处理语言,只需使用示例来转储VST,LADSPA等模板代码即可快速运行某些内容(然后可以对其进行修改)。
话虽如此,从声音渲染开始甚至更容易,这基本上是相同的事情,但无需担心实时操作或交互性。您只需将wav文件保存到磁盘。在尝试使新技术快速运行之前,这是一种尝试新技术的好方法。
首先,您需要确定要构建哪种类型的合成器-加法,FM,基于样本等。您还需要确定是否要模拟某种现有的模拟合成器,或者只是设计自己的模拟合成器。
其余的工作非常简单-您只需在软件中实现各种合成器构建块(例如,振荡器,滤波器,噪声发生器,包络整形器等),然后实现将它们“连接”在一起并控制其参数的方式。
请参阅Hal Chamberlin的书《微处理器的音乐应用》,该书很好地介绍了许多基础知识。
我很惊讶没有人提到SynthMaker。它非常易于使用,尽管很难进行低级(请确保使用开发人员模式),但是您可以从中学习有关Synthesizer架构以及通用DSP的很多知识。您实际上可以利用它构建的东西,实际上,我用它来构造几乎所有的插件。
正如其他一些贡献者所提到的,必须有一个良好的DSP基础知识。这是一本很棒的书> http://www.dspguide.com/,作者请提供完整和免费的PDF下载。另一本提供各种合成技术的高级视图的通用音乐技术课程书是> http://www.amazon.com/Computer-Music-Tutorial-Curtis-Roads/dp/0262680823。我还要重申以前的贡献者Synthmaker的建议,它是用于开发VST插件的非常方便的可视化开发环境。最后,如果您只是想尝试而不做深入研究,可以尝试使用Csound,这是专门为声音合成设计的编程语言。