6

在我的高中,我们可以参加一个学期的课程,我们基本上可以自己学习一门学科。我在想我想学习“声音编程”,但我意识到我不知道这意味着什么。例如,我有兴趣了解合成器的工作原理、我如何编写VSTi以及声音在计算机科学中的工作原理。这是一个可行的课题吗?对于完全不熟悉这个的人来说,有什么好的教程吗?任何提示或建议将不胜感激。

编辑:是我感兴趣的事情。

4

3 回答 3

2

VST 插件通常是用 C++ 编写的。但也可以使用其他语言。使用 C++ 构建 VST 插件是一个相当复杂的项目。如果没有预先存在的经验,对于学校项目来说可能太多了。此外,您可能会花费与实际声音编程一样多或更多的时间来实现 VST 部分和 GUI。

但是,还有其他方法可以创建 VST 插件,但仍然需要您动手编写代码。

SynthEdit是一个用于创建合成器和效果器的模块化环境。振荡器、包络等模块在视觉上用电线连接。补丁可以导出为 VST 插件。SynthEdit 允许使用 C++ 对其他模块进行编程。

SynthMaker是另一个类似于 SynthEdit 的选项。它具有一个代码模块,允许您编写 DSP 代码,而无需用另一种语言编译模块。

在您的情况下使用 SynthEdit 或 SynthMaker 的优势在于您可以将编程工作集中在特定区域,例如创建滤波器或振荡器模块。然后 SynthEdit/SynthMaker 可以处理其他区域(GUI、语音逻辑等)。

使用 SynthEdit 或 SynthMaker 还可以让您更快地制作创意原型。因此,您将有更多时间尝试不同的合成器或效果架构,然后再为您的学校项目完成一些工作。

DSP 理论可能非常复杂,数学也很繁重,但仅此一项就不应该让你失望。根据您想要做的事情,对数字音频原理和代数级数学的基本了解可能足以让您走得更远。

于 2011-01-24T08:25:26.170 回答
1

您可以尝试寻找有关 DSP(数字信号处理)和/或音频信号处理的资源。编程本身(除非您正在寻找现有的音频库)可能比编程密集型更数学密集,因此它可能非常适合在math.stackexchange.com上进行查询。

于 2011-01-24T06:01:36.623 回答
0

有一个非常灵活和强大的音频应用程序,叫做Plogue Bidule。您可以使用它来学习音频处理和合成,方法是使用低级数学和逻辑构建块创建自己的“biules”或组。有一个现有的用户社区,我很难找到它所能做的限制。您不会使用此工具编写任何代码,但它对于性能和学习音频处理和合成基础非常有用。

于 2011-01-26T06:15:18.263 回答