文本阅读:
172第7章时间平移与延时
侧不能产生低于64个样点块尺寸的延时。
7.10.6用非循环梳状滤波器作为八度倍频器在示例G06.octave.doubler.pd(图7.29)中,我们再次使用了早在E03.octave.divider.pd中就引入的基于音高的八度平移这一思想。在知道一个输入信号的周期以后,我们就可以通过调谐一个环形调制器来引入次谐波。这里我们实现的是7.3小节所述的八度倍频器。使用一个可变的非循环梳状滤波器,我们可以剔除奇次谐波,仅保留偶次谐波,这听上去就是一个高八度的声音。与先前一样,声音的频谱包络被该操作大致保留了下来,因此我们可以避免由于使用速度变化来转调而产生的"花栗鼠"效应。
【pd looper
delwrite~G06-del 1001
【iddle-2048|
|unpack|/mtof 基频
moses 1/lexpr 500/s111/2周期,以毫秒为单位t f b samplerate-
expr 2048000/$1
估算一个窗的fiddle-延时
(以毫秒为单位)
deiread-Go6-de1| jpack o 20】
|Line-
vd-G06-del
(输出)
图7.29一个"八度倍频器",它使用音高信息(用一个flddle~对象获得)调谐一个梳状滤波器,从而移除输入信号中的奇次谐波
把输入信号的2个延时后的复本(来自于顶部的pdlooper子音色)合并起来就实现了梳状滤波。被固定的那个复本(delread~)被设置到适合音高跟踪算法的窗尺寸。在前面的示例中,这被隐藏在另一个子音色中,现在我们将它明确地列出来。延时以毫秒为单位估算出来,它与fiddle~对象使用的2048个样点的分析窗长相等;以毫秒为单位时,它等于1000·2048/R,其中R为采样速率。
可变延时也是一样,而且还要加上对输入信号测量得出的周期的1/2,即1000/(2f)ms,其