如何将静态梳状滤波器的共振调到指定音符
要将静态梳状滤波器调到指定音符,先将音符换算为频率,然后将延迟设为 1,000 ÷ 频率(Hz) 毫秒,适用于基本的正反馈梳状滤波器。A4 的频率为 440 Hz,对应的延迟约为 2.273 ms。这遵循 Cycling ’74 梳状滤波器教程所述的延迟时间与谐波间距之间的反比关系。
本指南适用于希望将一个固定共振模式对准指定音符的制作人或声音设计师。实际操作包括计算一个起始延迟、确定反馈极性,并在将设置应用到声音之前检查实际输出。
你要调的是共振、间距,还是陷波?
梳状滤波器的频率响应中有重复排列的峰和谷。这里涉及两种基本结构:前馈梳状滤波器将输入与延迟副本相加,而反馈梳状滤波器则会让延迟后的输出循环反馈。反馈结构会产生逐渐衰减的一系列重复信号;如果你想要产生鸣响的共振器,它就是相关的起点。Julius O. Smith 的《梳状滤波器》介绍了这两种结构。
本文所说的调音,是指将最低的非零共振放在目标频率上。这样可以消除歧义:把任意一个较高的峰对准某个音符,并不一定意味着该音符就是共振模式的基频。
“静态”是指声音播放期间调音保持不变。初始设置时,请关闭延迟或音高调制,包括包络、LFO、自动化和键盘跟踪。如果设备提供固定音符模式,使用该模式会很方便。例如,Massive X 的 Fix 模式可让梳状滤波器调音独立于输入的 MIDI 音高。Massive X 手册:滤波器
如何将音符换算为延迟时间?
先选择音符、八度和调音基准。在 A4 设为 440 Hz 的十二平均律中,频率为:
[ f_0=440\times2^{(n-69)/12} ]
其中,(n) 是 MIDI 音符编号:A4 为 69,中央 C 为 60。Inspired Acoustics 的音符频率参考提供了该公式和对应表格。
对于基本的正反馈梳状滤波器,计算如下:
[ T_{\text{ms}}=\frac{1000}{f_0} ]
在可用频率范围内,共振会出现在 (f_0,2f_0,3f_0,\ldots)。Cycling ’74 用 2 ms 延迟举例说明这种关系;该延迟对应 500 Hz 的间距。MSP 延迟教程 6:梳状滤波器
下表中的数值根据上述公式计算,使用 A4 = 440 Hz。负反馈列将最低共振放在同一个目标音符上;下一节会解释为什么它的延迟更短。
| 目标音符 | 频率 | 正反馈延迟 | 负反馈延迟 |
|---|---|---|---|
| A2 | 110.000 Hz | 9.091 ms | 4.545 ms |
| C3 | 130.813 Hz | 7.645 ms | 3.822 ms |
| A3 | 220.000 Hz | 4.545 ms | 2.273 ms |
| C4 | 261.626 Hz | 3.822 ms | 1.911 ms |
| A4 | 440.000 Hz | 2.273 ms | 1.136 ms |
| C5 | 523.251 Hz | 1.911 ms | 0.956 ms |
请使用符合实际调音基准的频率,并检查控制旋钮旁标注的单位:2.273 毫秒等于 0.002273 秒。如果设备可以直接输入音符或频率,请使用该控件,并检查最终频谱,无需额外换算为毫秒。
为什么反馈极性会改变计算结果?
本文采用的基本模型将反馈定义为 (y[n]=x[n]+g,y[n-M])。当 (g) 为正时,共振出现在延迟倒数的整数倍处;当 (g) 为负时,共振会移到这些位置之间的中点。这种依赖极性的频率位置关系推导见 Smith 对梳状滤波器的分析。
换算为秒后,两种模式如下:
- 正反馈: (f_k=k/T),第一个非零峰位于 (1/T)。
- 负反馈: (f_k=(2k+1)/(2T)),第一个峰位于 (1/(2T))。
因此,负反馈需要使用以下延迟:
[ T_{\text{ms}}=\frac{500}{f_0} ]
以 A4 为例,正反馈下的延迟为 2.273 ms 时,峰值约在 440、880 和 1,320 Hz。切换为负反馈但保持该延迟不变后,峰值约在 220、660 和 1,100 Hz。将负反馈延迟缩短至 1.136 ms 后,峰值则约在 440、1,320 和 2,200 Hz。
这提供了一个实用选择:正反馈产生完整的整数谐波序列,负反馈则产生所选基频的奇数倍。Massive X 手册对其反馈极性控件也说明了这种全谐波与奇次谐波的区别。Massive X 手册:梳状滤波器
解读旋钮的正负标记之前,请先检查手册中的符号约定。还要确认极性开关反转的是哪个信号:改变外部湿信号的极性,与改变反馈回路的极性是两种不同的操作。
如何设置并检查共振?
按以下步骤操作,可将调音与声源音色的影响区分开来。你需要梳状滤波器或短延迟处理器、测试声源,以及能够显示目标频率附近各个峰值的频谱分析仪。
- 建立简单的配置。 关闭延迟调制、节拍同步和音高跟踪。尽可能旁通可选的色散或全通处理。
- 选择反馈极性。 使用上文相应的延迟公式。
- 输入计算出的延迟。 先使用适中的反馈量,再逐步增加,直到共振模式清晰可辨。
- 使用宽带素材测试。 使用噪声或短促的宽带脉冲。先单独检查处理后的输出,再加入并联的干声路由。
- 找到预期的最低峰值。 检查其频率,以及至少两个相邻峰值是否符合预期序列。
- 微调延迟。 每次调整后重复测试,并保持其他控制不变。
Cycling ’74 使用白噪声和谐波丰富的脉冲作为测试声源,并说明当输入包含许多频率时,滤波效果更容易观察。因此,在测试你的音乐声源之前,宽带素材可用作有效的诊断信号。Cycling ’74:试用梳状滤波器
使用正反馈调到 A4 时,应寻找 440、880 和 1,320 Hz 附近的峰值。仅发现一个接近 440 Hz 的峰值,不能视为充分验证:它可能是一个较低调音序列中的高阶共振。检查相邻峰值,可以同时验证调音结果以及你对反馈极性的判断。
如果你要测量脉冲后的鸣响尾音,请使用足够的反馈量,确保尾音清晰可见。在理想反馈模型中,反馈幅度必须小于 1,响应才会衰减;设备上显示的百分比与其内部系数之间的确切关系,取决于设备的实现方式。Smith:反馈梳状滤波器
如果计算出的延迟略微走音,该怎么办?
首先检查延迟控制的分辨率。在采样率为 (f_s) 时,理想正反馈延迟的采样数为:
[ M=\frac{f_s}{f_0} ]
以 A4 和 48 kHz 采样率为例,结果为 109.0909 个采样点。仅支持整数采样点的延迟无法精确表示该数值。
根据 (f=f_s/M) 计算,109 个采样点对应约 440.367 Hz,升高约 1.44 音分。110 个采样点对应约 436.364 Hz,降低约 14.37 音分。因此,毫秒数显示得很精细,并不能单独证明处理器具有相应的有效调音分辨率。
分数延迟处理可以表示介于整数采样位置之间的延迟。不同插值方法的幅度和相位特性各不相同;Smith 专门讨论了反馈回路中的插值选择。《延迟线与信号插值》
对于大致遵循延迟倒数关系的处理器,可以使用以下基于测量的修正公式:
[ T_{\text{new}}\approx T_{\text{old}}\times\frac{f_{\text{measured}}}{f_{\text{target}}} ]
例如,假设某次假设性测量在 2.30 ms 时得到 435 Hz 的峰值,而目标是 440 Hz。修正后的起始值为 ,(2.30\times435/440\approx2.274), ms。这是计算示例,并非对某款产品的实测结果。应用后请重新测试。如果控件使用音符偏移量,请根据测得的峰值调整微调控件。
为什么阻尼或色散可能要求重新调音?
处理器可能不只有延迟和反馈增益。Nonlinear Labs 的 C15 文档指出,其梳状反馈支路内还包括一个全通滤波器和一个低通滤波器。全通滤波器会改变随频率变化的相位效果,相当于引入了随频率变化的额外延迟。C15 用户手册:梳状滤波器
因此,对于结构更复杂的共振器,延迟倒数公式只是起点。先完成简单调音,再加入所需的色散,然后重新测量。如果峰值不再符合整数倍序列,请确定要锚定到该音符的共振,而不要试图让所有峰值都对齐。
阻尼也会改变尾音的平衡。在 Smith 所述的低通反馈模型中,高频衰减得比低频快。《低通反馈梳状滤波器》
在最后一次调音检查之前,先设置好最终的阻尼和反馈。如果有意让分音间距不均匀,请将设置描述为“以该音符为基准锚定的选定共振”;此时完整频谱可能不再构成该音符的谐波序列。
如果音乐声源听起来仍然不对,应该检查什么?
测试信号显示出预期峰值后,恢复原定声源,再根据观察到的现象诊断剩下的问题。
| 现象 | 下一步检查 |
|---|---|
| 感知到的音高低了一个八度 | 重新检查反馈极性和最低共振。 |
| 共振模式在播放时发生变化 | 检查延迟调制、音高包络、自动化和键盘跟踪。 |
| 噪声能显出调音结果,但声源几乎没有鸣响 | 检查声源是否在预期共振附近提供能量。 |
| 调整音色后调音发生变化 | 重新检查反馈路径中的滤波器和色散。 |
| 相邻的延迟设置会跳过目标值 | 检查参数分辨率和分数延迟支持情况。 |
检查声源能量的做法源于普通滤波原理:线性梳状滤波器会对输入频率进行整形。稀疏的输入可能只会显出部分响应。Cycling ’74 建议使用包含许多分音的声源,这一点在此尤其有用。MSP 延迟教程 6:梳状滤波器
最后检查最终路由,并将音符、基准频率、反馈极性、延迟以及相关音色设置一并保存。经过验证的静态调音,需要控制状态固定,且共振模式符合所选目标。先计算延迟,再检查多个峰值,最后在实际声音和反馈路径设置就位后进行调整。
