我想做一个关于声音编程的项目,但我不知道从哪里开始

Posted

技术标签:

【中文标题】我想做一个关于声音编程的项目,但我不知道从哪里开始【英文标题】:I want to do a project on sound programming, but I don't know where to start 【发布时间】:2011-01-24 05:31:58 【问题描述】:

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

编辑:This 是我感兴趣的东西。

【问题讨论】:

在我看来(不是双关语),您好像对音频工程领域感兴趣。你的学校有舞台艺术课程吗?结合编程课程,这似乎是一个好的开始。 您可以使用哪些计算机操作系统,您知道哪些编程语言(如果有)? aqua-不,我的学校不提供“舞台艺术”课程,或者就此而言,不提供任何编程课程 Phrogz-Windows/Ubuntu 和 C++ 【参考方案1】:

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

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

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

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

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

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

DSP 理论可能涉及很多内容并且数学很繁重,但仅此一项不应该让您失望。根据您想要做什么,对数字音频原理和代数级数学的基本了解可能足以让您走得更远。

【讨论】:

感谢您的回答。我知道做一个 VSTi 可能会让我头疼,我想我只是把它放在 OP 中,因为它与我想要达到的目标有点相关。但是,我想专注于编程部分,所以我想我应该只是放弃这个想法。这个:***.com/questions/36567/beginner-digital-synth 是我发现的一个帖子,它比我能描述的更准确地描述了我想学习的内容。 我听说用 SynthEdit 和 SynthMaker 制作的 VSTi 经常出错。这是你的经历,还是只是没有任何真实根据的谣言? @Warrior Bob:我对 SynthEdit 和 SynthMaker 的了解更多是靠声誉而不是个人经验。但是 AFAIK 它们在大多数主机中相当稳定。 SynthEdit 确实与多核机器长期存在不兼容性,但该错误现已修复。然而,可能有相当多的 SynthEdit 插件尚未使用新版本重新编译,因此仍然存在错误。【参考方案2】:

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

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于我想做一个关于声音编程的项目,但我不知道从哪里开始的主要内容,如果未能解决你的问题,请参考以下文章

小计划者 - 从哪里开始?

编程聊天室,从哪里开始? [关闭]

在哪里放置相对于 java 项目的声音文件?

编码 mp3 或其他音乐文件

从嵌入式 soundcloud 元素中获取声音数据

如何开始制作 C# RSS 阅读器?