电子音乐技术 87


分类:相关阅读 / 「电子音乐技术」

电子音乐技术 87
前一篇:电子音乐技术 86 下一篇:电子音乐技术 88
文本阅读:
  4.3连续及非连续的控制变化79
  4.3连续及非连续的控制变化
  各种合成算法处理非连续变化的控制信号的能力是千差万别的。在本章中,到目前为止我们假设控制信号的变化必须是连续的,而ADSR包络发生器则完美地适合这类控制。甚至还有可能出现这种情况,即一个音符的最大幅度低于前一个音符的当前幅度值(使用同一个发生器),此时ADSR包络将简单地斜变下降(而非上升)至起音所需的新数值。
  不过,当包络发生器用来控制音色的某个方面时,这类控制并不一定是我们想要的:比如,我们可能不想让一个音符的锐度在起音阶段下降而变成一个温和的音符,而是想让它直接跳变至一个很低的数值,从而确保在起音阶段中永远都是上升的。
  在音高包络中也会出现这种情况:我们可能想让音高从一个音符滑向下一个音符,也可能想让每个音符的音高轨迹都从与前一个声音无关的某点处重新开始。
  当我们希望合成参数进行非连续变化时会出现两种情况:要么我们能在不制造破坏的情况下简单地产生这些变化(比如在音高上产生非连续的改变);要么我们不能,比如在波表索引上的一个变化(这将在输出中产生一个不连续的变化)。还有一些参数是无论如何也不能被连续地改变的,例如在一组波表中进行选择。一般来说,对振荡器的相位或信号的幅度进行非连续的改变会引起可闻的人造声,但相位的增加(比如音高)可以在跳变的情况下不产生坏的结果。
  在这些由于种种原因而不能让参数进行连续变化的情形中,至少有两种策略能干净地产生这个变化:静音(Muting)和切换-斜变(Switch-and-Ramp)。
  4.3.1静音
  静音方法是把一个包络施加到输出幅度上,让幅度在参数变化之前快速斜变至0,随后再恢复。非连续的变化可能会导致信号随后从0开始平滑地上升,也可能不会产生这样的结果。在图4.5a中,我们举了一个幅度包络(ADSR发生器的输出信号)的例子,并且假设该非连续变化是在幅度0处开始一个新的音符。
  为了不连续地改变ADSR发生器的输出,我们对其进行重置(Reset)。这是不同于对其进行触发的一种操作,结果是让ADSR发生器跳变到一个新数值上,随后我们可以简单地让它保持不变,也可以重新触发它。图4.5a展示了对ADSR发生器进行重置和重触发的效果。
  在ADSR发生器输出的下方我们可以看到相应的静音信号,它斜变到0来应对不连续点。允许静音的时间量应该是很小的(这是为了尽可能少地破坏前一个声音),但它也不能过小以至于在输出中引起可闻的人造声。在第68页我们已经看到了这类静音的一个可用的示例;