TLDR;LFO 不应抗锯齿。应用调制后的最终信号应该没有混叠。在实践中,您要么忽略这一点,要么近似后者。
细节:
考虑这一点的正确(尽管不一定总是实用)方法是将整个信号处理/合成链视为一个连续的时间过程,然后在离散化之前最后应用抗混叠滤波器。
例如,假设您正在使用方形 LFO 调制音频振荡器的幅度,即x(t)=(1+0.5vLFO(t))vosc(t), 在哪里vLFO是具有幅度的 LFO 的输出1和vosc是振荡器的输出,并假设音频振荡器完全抗锯齿。现在,x(t) 在 LFO 的过渡处将具有不连续的边缘,这将产生无限数量的频率分量,这将产生混叠。但是,如果您在连续时域中进行了调制,然后使用适当的抗混叠滤波器进行采样,则过渡边缘将被平滑,并且整个信号将受到频带限制。
另一个影响是 LFO 本身的频谱分量会出现混叠,这可能有也可能没有听得见的意义。例如,如果 LFO 的周期不是整数个样本,则可以看出这一点。1'沙−1's 将根据样本的哪一侧发生变化(通过一个样本),即转换恰好落在哪个周期上。
再举一个极端的例子,假设您正在调制恒定直流偏移的幅度。在这种情况下,输出将是 LFO 本身的输出,如果将其带到音频频率,如果 LFO 没有抗锯齿,您肯定会听到锯齿。
另一方面,将抗锯齿 LFO 应用于抗锯齿振荡器是不正确的,因为调制是非线性效应:理想情况下,您应该将连续时间 LFO 应用于连续时间振荡器,并且抗锯齿(即带限制的样本)结果。但是,稍微平滑 LFO 过渡可能会限制调制产生的频率带宽,从而部分弥补额外的混叠。但是,您不应该使用尖锐的抗混叠滤波器,因为它的阶跃响应纹波可能会导致不需要的调制,而应该使用具有良好相位响应的滤波器(简单的单极点或更高阶的贝塞尔)。
据我所知,没有通用的方法来消除调制系统中的混叠,如果有的话,它肯定取决于特定的调制和被调制的内容(频率与幅度,振荡器与滤波器,以及很快)。然而,过采样是一种直接但计算成本高的方法,可用于减少音频频带中的所有混叠,包括由调制引起的混叠。
最后,正如您所说,如果 LFO 远低于音频频率,那么任何这些都不太可能被听到。但是,您应该注意调制深度也会产生影响:例如,如果您正在调制振荡器的频率,即使频率很低,但调制深度如此之大,以至于频率的变化是明显的震荡一段时间,你可能会得到听得见的效果(至少在原则上,我没有做过实验,也没有参考引用)。
附录:
在处理音频时,为什么我们要关心离散系统上的连续时间模型?
(我当然假设您在这里指的是插件 VST 或其他一些音频处理插件)。
考虑一下你的最终目标是什么:产生一个人可以听到的声音。这不可避免地是一个连续时间 (CT) 过程。您可以控制的是发送到 DAC 的样本流,这是信号从离散时间转换为连续时间的地方。
换句话说,您实际上从事的是产生连续时间信号的业务,而离散时间 (DT) 表示只是实现该最终目标的工具。这就是我所说的不连续性的意思:它们是假想 CT 信号中的不连续性,其样本构成了您的 DT 信号。
推断 DT 信号所暗示的输出 CT 信号的最简单方法是通过正确采样数学形成的 CT 信号来形成 DT 信号。例如,使用锯齿振荡器,您采用理想的数学斜坡,对它进行带宽限制并对其进行采样(通过您喜欢的任何方法,例如 BLIP、BLEP、过采样等),然后采样定理将告诉您DAC 将是相同的带限锯齿波。如果您将锯齿波视为 DT 过程并简单地形成一个幼稚的离散斜坡,您会感到非常失望,因为您会听到混叠锯齿的令人讨厌的声音,因为您使用的 DT 过程恰好是等效的到 CT 非带限锯齿的朴素采样。IE
请注意,上述内容同样适用于合成/处理链的所有部分,包括 LFO 等调制器。唯一的区别是带宽限制必须发生(从概念上讲,这在实践中通常是不可行的)作为发生在 CT 中的虚构处理链(包括所有调制等)的最后一步,然后您对其结果进行采样形成您的 DT 信号。
以 S&H 为例:在 CT 世界中,S&H 时钟可以很好地在样本之间对其输入进行采样,然后音频样本之间也会发生不连续的转换。如果您在 CT 中对合成链建模,然后对整个系统进行带宽限制,则首先输出信号中的 CT 不连续过渡将被抗混叠滤波器略微平滑。此外,过渡的子样本位置将反映在抗锯齿边缘的确切形状中。
同样,所有这些是否会产生您实际听到的差异取决于具体情况,但关键是,简单采样的 LFO 不会为您提供理想的调制,但从抗锯齿 LFO 应用调制也不会。