音效处理Delay/Echo 简介
Posted 芥末的无奈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了音效处理Delay/Echo 简介相关的知识,希望对你有一定的参考价值。
系列文章目录
文章目录
一、Delay 是什么
Delay(延迟)是一种信号处理技术,它将输入信号纪录起来,然后过一段时间再播放。当延迟信号与当前信号混合时,会产生类似回声(Echo)的效果。大多数人都有过在大山中大喊的经历,声音在山谷之间传递,回声余音袅袅。没错,所谓的 Echo 就是这种感觉。看下面两个对比视频,加深对 Echo 的理解:
土拨鼠的尖叫
土拨鼠的尖叫-Echo
毫无疑问,Delay 是当今市场上最强大的音乐制作工具之一。我们听到的几乎所有的调制效果都是用特定的延时创造的。
二、Delay 原理
2.1 The Basic Delay
最简单 Delay,即输入信号与延迟信号叠加得到输出信号,差分方程如下:
y
(
n
)
=
x
(
n
)
+
x
(
n
−
D
)
(1)
y(n)=x(n)+x(n-D) \\tag1
y(n)=x(n)+x(n−D)(1)
其中
D
D
D 为延迟时间,更准确的说,表示延迟了
D
D
D 个采样点。下图是(1)的块状图。
我们对(1)进行 Z 变换,以此来探究 Basic Delay 对频率的影响:
y
(
n
)
=
x
(
n
)
+
x
(
n
−
D
)
Y
(
z
)
=
X
(
z
)
+
X
(
z
)
z
−
D
=
X
(
z
)
(
1
+
z
−
D
)
H
(
z
)
=
Y
(
z
)
X
(
z
)
=
1
+
z
−
D
(2)
\\beginaligned y(n) &=x(n)+x(n-D) \\\\ Y(z) &=X(z)+X(z) z^-D \\\\ &=X(z)\\left(1+z^-D\\right) \\\\ H(z) &=\\fracY(z)X(z)=1+z^-D \\endaligned \\tag2
y(n)Y(z)H(z)=x(n)+x(n−D)=X(z)+X(z)z−D=X(z)(1+z−D)=X(z)Y(z)=1+z−D(2)
从
H
(
z
)
=
1
+
z
−
D
H(z) = 1+z^-D
H(z)=1+z−D 可以推断出它没有极点,只有 D 个零点。接下来求它的零点:
1
+
z
−
D
=
0
z
−
D
=
−
1
\\beginaligned 1+z^-D = 0 \\\\ z^-D = -1 \\endaligned
1+z−D=0z−D=−1
接下来就是复数次方根的求解了,这部分内容可以参考 「珂学原理」No.110「复数的n次方根」。这里就不在重复视频提到的方法,而是利用欧拉公式求解。
让
z
=
e
j
ω
z =e^j \\omega
z=ejω ,通过欧拉公式转换得到:
cos
(
D
ω
)
+
j
sin
(
D
ω
)
=
−
1
\\cos (D \\omega)+j \\sin (D \\omega)=-1
cos(Dω)+jsin(Dω)=−1
由于
−
1
-1
−1 为实数,无复数部分,因此可得:
cos
(
D
ω
)
=
−
1
ω
=
±
k
π
D
k
=
1
,
3
,
5
,
…
,
D
\\beginaligned \\cos (D \\omega) = -1 \\\\ \\omega=\\pm \\frack \\piD \\quad k=1,3,5, \\ldots, D \\endaligned
cos(Dω)=−1ω=±Dkπk=1,3,5,…,D
当
D
=
2
D=2
D=2 时,
ω
=
±
π
2
\\omega=\\pm \\frac\\pi2
ω=±2π
当
D
=
4
D=4
D=4 时,
ω
=
±
π
4
,
±
3
π
4
\\omega=\\pm \\frac\\pi4, \\pm \\frac3\\pi4
ω=±4π,±43π
当
D
=
5
D=5
D=5 时,
ω
=
±
π
5
,
±
3
π
5
,
±
π
\\omega=\\pm \\frac\\pi5, \\pm \\frac3\\pi5, \\pm \\pi
ω=±5π,±53π,±π
我们发现 D 个零点是平均分布在单位元上的,不同 D 的频谱响应如下图所示。
在
D
=
32
D=32
D=32 时可以看到频谱响应像是一把梳子一样,此类滤波器也被称为“梳妆滤波器”。
此外,我们还可以在 Audition 上使用 Basic Delay 对扫频信号进行处理,可以看到明显的梳妆特征。
处理前:
处理后:
2.2 Delay With Feedback
Basic Delay 只能产生单一的回声,应用比较有限。大多数 Delay 算法还会包含一个反馈控制,它将延迟后的信号以一定比例送回输入,如下图所示:
假设反馈控制那一条信号为
g
(
n
)
g(n)
g(n),那么上图的差分方程为: 以上是关于音效处理Delay/Echo 简介的主要内容,如果未能解决你的问题,请参考以下文章
y
(
n
)
=
x
(
n
)
+
g
(
n
)
其中,
g
(
n
)
=
x
(
n
−
D
)
+
f
g
(
n
−
D
)
y(n) = x(n) + g(n)\\\\ \\text其中, g(n) = x(n-D) + fg(n-D)
y(n)=x(n)+g(n)其中,g(n)=x(n−D)+fg(n−D)
进一步推导有:
y
(
n
−
D
)
=
x
(
n
−
D
)
+
g
(
n
−
D
)
g
(
n
−
D
)
=
y
(
n
−
D
)
−
x
(
n
−
D
)
(3)
\\beginaligned y(n-D) &= x(n-D) + g(n-D) \\\\ g(n-D) &= y(n-D) - x(n-D)\\\\ \\endaligned\\tag3
y(n−D)g(n−D)=x(n−D)+g(n−D)=y(n−D)−x(n−D)(3)
g
(
n
)
=
x
(
n
−
D
)
+
f
g
(
n
−
D
)
=
x
(
n
−
D
)
+
f
(
y
(
n
−
D
)
−
x
(
n
−
D
)
)
=
(
1
−
f
)
x
(
n
−
D
)
+
f
y
(
n
−
D
)
因此
y
(
n
)
=
x
(
n
)
+
g
(
n
)
=
x
(
n
)