过程化声音生成算法?

14

我希望能够通过算法来创建声音(如怪物的咆哮或远处的雷声)。这方面的知识在网络上并没有像传统的程序化内容(如地形等)那样广泛覆盖。有人有关于如何创建这类声音的算法吗?


一个更高级的方法是看一下数字合成器的工作原理(不是基于乐器样本的那种)。然后你只需要在一些约束条件下随机调整参数。 - danijar
2个回答

10

总体来说,这是一个非常难的问题。就像绘画一样,每个声音都是独立的事物,需要自己的算法,而且,就像绘画一样,有些声音比其他声音更容易通过算法实现。没有通用的算法来创建所有事物的声音,就像没有通用的算法来绘制脸部、昆虫和山脉一样。除非你只想画圆或生成正弦波,否则每个声音都是一个单独的项目(通常相当大),

我知道的大多数案例研究都是许多尝试生成乐器声音的尝试,一般情况下每个尝试都是一个博士论文。

如果您需要快速解决方案,采样是可行的方法

或者,如果您真的需要程序化方法,您可以针对某一特定类型的声音提出问题,人们可能会为其提供算法。例如,我很想尝试一种“远雷”算法,但如果只有雷声没有怪物等,那么这对您来说可能没有用。


样例修改方法的一个巨大优势是容易上手,学习曲线较浅。它甚至有点儿有趣。由于开始时就有了近似所需的东西,你可以尝试各种变化并听取结果。或者换句话说,错过目标的方式比击中目标的方式多得多。 - tom10
我在脑海中进行了这个主题的头脑风暴,得出结论的是,开始深入研究过程声音生成方向最简单的方法是拆解现有的声音样本并检查可以后续再现的模式。它可以从提取小样本部分开始,然后使用算法参数将它们组装成更高级别的结果。我想,频率上有多层频率,因此有足够的空间进行探索。 - MT4000

6
我建议查看Perry Cook的许多软件项目和论文,他在物理建模领域做了一些伟大的工作(尽管他的网站有点难以导航)。正如tom10所说,这是一个非常困难的领域。如果你有一点信号处理的胃口,那么这是一个非常迷人的领域。

3
这个主题上最好的网络资源之一在这里:http://obiwannabe.co.uk/tutorials/html/tutorials_main.html - Boris Smus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接