我是泛音/超级对撞机的新手。我知道声音在物理上是如何形成的。但是我不明白泛音发声功能中的魔力。
假设我有一个基本的声音:
(definst sin-wave [freq 440 attack 0.01 sustain 0.4 release 0.1 vol 0.4]
(* (env-gen (lin-env attack sustain release) 1 1 0 1 FREE)
(+ (sin-osc freq)
(sin-osc (* freq 2))
(sin-osc (* freq 4)))
vol))
我在这里了解声音包络、正弦波、频率、音量的 ASR 循环。它们描述了声音随时间变化的幅度。我不明白的是时间。由于这里所有功能的输入都没有时间,我如何控制像回声和其他很酷的效果这样的东西?
如果我要编写自己的 sin-osc 函数,如何指定特定时间点的声音幅度?假设我的 sin-osc 必须在周期的 1/4 处设置输出达到幅度 1.0 的峰值,我可以用什么接口来控制它?
在不知道这一点的情况下,所有泛音中的声音合成器对我来说都没有意义,它们看起来像是具有未知副作用的奇怪函数。