在我的高中,我们可以参加一个课程,在那里我们基本上可以自学一个学期。我当时想要学习“声音编程”,但我意识到我不知道那会带来什么。我有兴趣了解一下,例如,合成器的工作原理,我如何编写VSTi,以及声音如何在计算机科学中起作用。这是一个可行的主题吗?有什么好的教程可供那些全新的人使用吗?任何提示或建议将不胜感激。
编辑:This是我感兴趣的东西。
答案 0 :(得分:2)
VST插件通常用C ++编写。但也可以使用其他语言。使用C ++构建VST插件是一个非常复杂的项目。没有预先存在的经验,对于学校项目来说可能太过分了。此外,您可能会花费尽可能多的时间来实现VST部件和GUI,就像实际的声音编程一样。
然而,还有其他方法可以创建一个VST插件,但仍然可以轻松编写代码。
SynthEdit是用于创建合成器和效果的模块化环境。诸如振荡器,信封等模块通过电线可视地连接。补丁可以导出为VST插件。 SynthEdit允许使用C ++编程其他模块。
SynthMaker是另一种类似于SynthEdit的选项。它具有一个代码模块,允许您编写DSP代码,而无需使用其他语言编译模块。
在您的情况下使用SynthEdit或SynthMaker的优势在于您可以将编程重点放在特定区域,例如创建滤波器或振荡器模块。然后,SynthEdit / SynthMaker可以处理其他区域(GUI,语音逻辑等)。
使用SynthEdit或SynthMaker还可以让您更快地制作想法。因此,在为您的学校项目完成某些事情之前,您将有更多时间尝试不同的合成器或效果架构。
DSP理论可能非常复杂,数学很重,但仅此一点不应该让你失望。根据您的想法,对数字音频原理和代数级数学的基本理解可能足以让您长得惊人。
答案 1 :(得分:1)
您可以尝试在DSP(数字信号处理)和/或音频信号处理上寻找资源。编程本身(除非您正在寻找现有的音频库)可能比编程密集型更加数学密集,因此可能非常适合math.stackexchange.com的查询。< / p>
答案 2 :(得分:0)
有一个非常灵活且功能强大的音频应用程序Plogue Bidule。您可以使用它来学习音频处理和合成,方法是使用低级数学和逻辑构建块创建自己的“bidules”或组。有一个现有的用户社区,我很难找到它能做什么的限制。您不会使用此工具执行任何代码,但它对于音频处理和综合基础知识的性能和学习非常有用。