文本阅读:
138第6章设计频谱
6.5.4PAF生成器
示例F12.pafpd(图6.17)所示为6.4小节描述的PAF生成器的一个实现。控制输入指明了基频、中心频率和带宽,3者使用的都是"MIDI"单位。在这个实现中,第一步是用中心频率除以基频(产生中心频率商数),并用带宽除以基频产生调制指数供波形整形器使用。
中心频率商数被采样保持,因此它只按基音的周期进行更新。
中心频率
基频
(NIDI单位)tofl
o
pack 0 50|
line~
mtofl
1lexpr 1/$f1l
mtof
pack o 501
phasor-
iine-
|中心频率相对于基频
o.引除以基频
Bampho1d-
-~0.25引
rrapl coy-2l
波表的范围
cos~||co8~
+~100|偏置到波表中央
|tabread4~bell-curve波形整形器
*~|环形调制
(输出)
图6.17相位对齐的共振峰(PAF)合成算法这个振荡器(phasor~对象)以基频运行。它既用来控制 samphold~对象让各次更新同步到中心频率商数上(图中标有"中心频率相对于基频"的地方),还用来计算相位供2个cos~对象使用,这2个cos~对象的操作如图6.16所示。
音色的波形整形部分使用一个半个周期的正弦作为查找函数(用以补偿由查找函数的对称性导致的频率加倍)。为了获得半周期的正弦函数,我们在相位上乘以0.5然后减去0.25,因此调整后每个周期内相位的范围是从-0.25到+0.25,每个值在每周期中只出现一次。它扫