电子音乐技术 50


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

电子音乐技术 50
前一篇:电子音乐技术 49 下一篇:电子音乐技术 51
文本阅读:
  42第2章波表与采样器
  wave-out12
  AMA
  展图2.13】具有可变占空因数的波表振荡器:B03.tabread4.pd(续)示例B03.tabread4.pd所示为如何将一个phasor~和一个tabread4~对象组合在一起构成一个波表振荡器。phasor~的输出范围为从0到1。在本例中,输入波表名为"waveform12",长度为131个元素。因此,tabread4~对象的输入范围为1到129。为了相应地调整 phasor~
  的范围,我们将其乘以输入范围的长度(128),因此其范围变为0到128,然后再加1,等效于将区间向右滑动了一个样点。这种重缩放是通过在phasor~和tabread4~之间使用*。
  和+~实现的。
  只用这4个方块就基本完成了对tabosc4~类的重新实现。不过在本例中,乘法中的乘数并非是一个常数128,而是一个由参数"squeeze(挤压)"控制的变量。该音色右侧的4个方块用来为*~对象提供数值,用于对phasor~的缩放。这里用了一个新对象类:
  pack】:一个列表,包含两个或多个元素。创建参数用来确定各个参数的数量、类型(通常是数字)以及它们的数值。各输入口(其数量与你指定的创建参数一样多)将会更新各消息参数的数值,并且如果最左侧的输入口被更改了(或是仅被一个"bang"消息触发),那么该消息将被输出。
  在该音色中,两个参数最初分别被设为0和50,但数字块将会更新第一个参数,因此,如图所示,pack对象最新发出的消息是"20650"。这在其下方的line~对象上产生的效果是让它在50ms内斜变至206;一般来说,line~对象的输出是一个音频信号,它会平滑地跟随标有"squeeze"的数字块偶尔变化的数值。
  最后,"squeeze"的数值会加上128;如果"squeeze"为非负值(如该音色中的数字块所强制的那样),用于范围设定的乘法器会令相位器的范围为128或更多。如果数值大于128,则会令经过重缩放的相位器在波表的末端保持其周期的某个分数(其输入会被限幅为129)。
  结果就是在周期的某个部分上对波形进行扫描。如图2.13所示,波形被压缩到周期的128/(128+206),因此频谱以大约为1/2的因子被拉伸。
  为了简便起见,该音色与章节2.4中的示例略有不同,即波形是向每个周期的开头挤压的,而非向周期的中间挤压。这样做会在拉伸和挤压时略微改变波形中各次谐波的相位;如