电子音乐技术 93


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

电子音乐技术 93
前一篇:电子音乐技术 92 下一篇:电子音乐技术 94
文本阅读:
  86第4章自动化与单音管理
  plusminus对象并不是由Pd定义的,而是由存于名为"plusminus.pd"的文件定义的。该音色如图4.11b所示。图中的一个inlet和两个outlet 对象与plusminus对象的输入口和输出口相对应。两个"51"参数(给+对象和-对象)被5代替(plusminus对象的创建参数。
  我们已经在很多示例中看到了一个抽象:图1.10(第13页)中引入的output~对象。
  那个例子也说明,一个抽象可以显示控制装置,作为其在父音色中的块的一部分;关于此功能的描述请参见Pd的文档。
  4.8示例
  4.8.1ADSR包络发生器
  示例D01.envelope.gen.pd(图4.12)所示为如何用line~对象生成一个ADSR包络去控制一个合成音色(图中仅画出了ADSR包络部分)。按下"attack(起音)"按钮会产生两个结果。首先(图中最左侧)是设置line~对象的起音段,其目标是10(峰值幅度),经历时间是200ms(起音时间)。其次,起音按钮设置了一个delay200对象,因此在起音段结束以后,衰减段就可以开始了。衰减段将会在接下来的2500ms(衰减时间)之后下降到目标1(延音电平)。
  "release(释音)"按钮发送给同一个line~对象让其经过500ms(释音时间)后返回到0。而且,万一在设置 delay 200对象时恰好按下"release"按钮,则会有一个"stop(停止"消息发送给delay200。这将防止ADSR发生器在其开始释音段以后又启动衰减段。
  在示例D02.adsrpd(图4.13)中,我们把ADSR发生器封装到一个Pd抽象(名为adsr)中,这样就能轻松地对其进行复制。adsr抽象的设计使其可以通过两种途径控制5个ADSR参数:提供创建参数,或者连接控制流到其输入口。
  在本例中,5个创建参数(1,100,200,50和300)指明了峰值电平、起音时间、衰减时间、延音电平(以峰值电平的百分数的形式)和释音时间。这里有6个控制输入口:
  第一个用来触发ADSR发生器,其余的用来更新5个参数的数值。该抽象的输出是一个音频信号。
  图4.14所示为该抽象的实现。(你可以在音色中点击adsr对象来打开这个子音色)。这里只有line~和outlet~是信号对象。3个pack对象与早先图4.12中的3个消息对象相对应。
  从左向右,它们分别负责起音段、衰减段和释音段。
  起音段经过"52"(该抽象的第2个创建参数)毫秒抵达由"S1"设定的目标:通过向"峰值电平"和"起音"输入口发送数字可以重写这些值。释音段也是类似的,但更为简单,因为