电子音乐技术 52


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

电子音乐技术 52
前一篇:电子音乐技术 51 下一篇:电子音乐技术 53
文本阅读:
  44第2章波表与采样器
  本例中的pack和line~并非仅仅用来让声音更为连续,它们对于让声音清晰可懂也是至关重要的。如果用于波表查找的索引值只是简单地每次在鼠标移动一个像素时改变一下(比如一秒钟20到50次),那么绝大多数样点将会与其之前的那个样点具有相同的索引值(另外44000+个样点,不包括鼠标移过的那些样点)。因此前进的速度几乎总为0。你听到的将不是转调,而是每秒20~50个周期的颗粒状声音。(试着搞清楚它听上去到底像什2.6.4循环采样器
  在大多数情况下,你会希望用一种比移动鼠标更为自动化的方法来指定波表的读取位置;比如,你可能想以一个固定的转调来播放一个样,可能会同时播放几个样本(或是同时有多件事情需要关注),也可能想在样本之间进行快速切换或是跳转到预先安排好的位置。在接下来的几个示例中,我们将开发一个自动循环样本读取器,虽然这只是众多可行方法中一种,但它的功能很强大,而且经常被使用。
  音色B05.samplerloop.pd和B06.sampler.loop.smooth.pd展示了如何实现这种功能,前者是最简单的可行方法,后者(如图2.15a所示)加入了第二个波形来控制声音的包络,如同章节2.3中描述的那样。这里引入了一个新对象类:
  cos~:计算输入信号的2x倍所对应的余弦值(因此输入信号从0到1就是一个周期)。
  与Pd中的波表读取类不同,cos~能够进行折回处理,因此对输入信号没有限制。
  图2.15a中的phasor~对象既为波表(在右侧)提供索引值,也为左侧的半波余弦包络函数提供相位。两者相乘,所得的积经过高通滤波以后被输出。读取波表是直接的,相位器与一个"块尺寸(chunksize)"参数相乘后加1,用作tabread4~的索引值。块尺寸参数乘以441就将其从百分之几秒转换为样点序号。这与图2.5所示框图是完全对应的,只不过此处的"片段位置(segment location)"为1。(片段位置不能是0,因为tabread4~允许的最小索引值就是1。)
  示例中左手边的信号路径与图2.7所示带有包络的波表查找方法是一致的。这里把锯齿波调整到(-1/4,1/4)区间(先做减法再乘以0.5),然后将其发给cos~。这会读取(-x/2,元/2)
  之间的余弦函数值,因此仅得到波形的正半周。
  图2.15b引入了第3个参数"读取点(read point",用来指明循环从样本中的哪一点开始。(在图2.15a中我们总是从样本的起点开始循环。)所需的改变是非常简单的,给波表索引值增加一个"读取点"控制数值,单位为样点,随后就如以前一样继续执行。为了避免在索引值上出现不连续,我们需要使用pack和line~对象对读取点数值进行平滑处理,就如我们在第一个采样器示例中所做的那样(图2.14)。