数字延迟效果:避免点击延迟时间变化

信息处理 声音的 延迟
2022-01-11 05:12:03

我正在使用简单的圆形延迟线实现数字音频延迟效果。通过延长或缩短延迟线来更改延迟时间会在音频信号中引入不连续性,从而导致咔嗒声。

在更改延迟时间时避免此类点击的最佳(最悦耳)策略是什么?

3个回答

如果您不经常更改延迟长度,并且不希望因不断更改延迟长度而产生多普勒效应,请尝试交叉淡入淡出。两个延迟长度应该同时运行一会儿,你会在淡入新延迟的同时淡出旧延迟。

这里的问题是信号的不连续性,这会导致您听到咔嗒声。一种可能的解决方案是使延迟变化尽可能平滑,从而避免阶梯状的不连续性。如果 $x(n)$ 代表与延迟线控件(例如旋钮)相关的信号,而 $y(n)$ 代表与您允许的有效延迟变化相关的信号,则两者之间可能存在关系是:$$ y(n) = \alpha x(n) + (1 - \alpha) x(n-1) $$ 其中 $0<\alpha<1$。这是一种计算成本低廉的低通滤波 $x(n)$ 的方法。x(n) represents the signal associated to the delay-line control (e.g. a knob) and y(n) represents the signal associated to the effective change in delay that you allow, a possible relationship between the two could be:

y(n)=αx(n)+(1α)x(n1)
with 0<α<1. This is a computationally inexpensive way of low-pass filtering x(n).

如果您有连续变化的延迟,例如合唱或镶边,除了常规(整数)延迟线外,您还需要实现随时间变化的分数延迟。

如果您只需要偶尔在离散的步骤中更改延迟,交叉淡入淡出就可以了。