文本阅读:
4.2直线和曲线的幅度形状77
ADSR包络的经典应用是用一个压控键盘或音序器在合成器上产生音符。(比如)按下一个琴键和释放一个琴键将生成"打开"和"关闭"触发信号。ADSR发生器随后能控制合成的幅度,这样一来"音符"就会随着琴键的动作而开始和结束。除了幅度以外,ADSR发生器可以(并且也经常)用来控制音色,这样就能让音色在每个音符的存续期间内进行自然的演化。
4.2直线和曲线的幅度形状
假设你希望在10s钟之内让一个信号逐渐淡入--也就是说你希望让该信号乘以一个幅度控制信号【n】,它从0开始逐渐上升,经过10R个样点以后变为1,其中R为采样速率。最显而易见的选择就是一个线性斜变信号:y【n】=n/(10R)。但它并不会在听觉响度上产生平滑上升的结果。在第15内,y【n】从-codB上升至-20dB,在接下来的4s内又上升了14dB,在剩下的5s内仅上升了剩余的6dB。在这105钟的大部分时间里,幅度的上升只是勉强能够听出来。
另一种可能性是让【n】按指数规律变化,因此它将以一个在dB尺度上恒定的速率上升。
你还必须将初始幅度修正到一个听不到的电平上,比如0dB(如果令单位电平为100dB的话)。
现在我们会遇到相反的问题:在最开始的5s内,幅度控制将从0dB(听不到)上升到50dB
(极弱);这部分淡入应该只占1s左右的时间。
更自然的变化可能是把淡入看成是一系列按时间变化的强弱记号:0-ppp-pp-p-mp-mff-
ff-f,每个强弱等级大概占1s的时间。
理想的淡入应该采用一种介于对数与线性之间的尺度。一种有些随意但在实际中却挺有用的选择是4次曲线:
【n】=(4
式中N为淡入所经历的样点数(在上例中它是10R)。所以,在10s的第15后,会上升到-80dB,在5s后会上升到-24dB,在9s后会上升到大约-4dB。
图4.3所示为3种幅度转移函数:
f(x)=x(线性)
f6(x)=102(x-1)(将dB转换为线性)f6(x)=x4(4次的)
第2个函数将dB转换到线性尺度,并安排输入信号从0到1的变化对应40dB的范围。(该40dB的输入范围与一个合理的强弱范围对应,可以让8个强弱等级的每一个与5dB对应。)
4次曲线在幅度较高时与指数(dB)曲线很相似,但在幅度较低时衰落得更加迅速,并且能真正到达0点(指数曲线只能下降到1/100)。