|
不同的时间伸缩算法
; _' W9 u# F$ Z5 } J
J# {; l4 o& x0 R* u/ F基础的Slicing算法通常是用于鼓和打击乐器的,这也是最简单的方法。在这个模式下,会标记出所有的瞬态,将每次瞬态峰值作为一个新的音频的开头。这种方式相当于手动找出所有的瞬态峰值然后切开每一个音符。这也是最简单的方式——这种方式实际上并没有用到音频伸缩,如果速度改变的话,这些单独切片就会根据速度和节奏进行移动排列。举个例子,如果速度变快的话,这些切片之间的距离就会更加接近,重叠的部分就会直接删除。0 s) C) n' g, ?
+ Q5 b$ F% M3 p) U: H" j7 E1 C3 X% H但是如果速度变慢的话,由于没有对切片进行处理,切片之间就会出现间隙,音符的结尾没有足够的信息填充在两个音符之间,声音听起来也会感觉突然被打断。为了让声音听起来更平顺,有些算法可能会提供Decay控制参数,用于将切断的音符尾巴渐弱,得到一个更自然的声音——但是两个音符之间还是会有间隙。对于打击乐音轨来说这种结果也许是可以接受的,但是对于有长尾音的乐器来说,比如一些连奏的乐句就会直接变成一串分离的音符。
1 ^) B# K9 \% {! x, i
& Z+ t( u! I9 a5 n3 e( n6 C6 K$ ?另一种方式也是一样的基本方法用于瞬态检测和音符切片,但是在算法里加入了音频伸缩功能,用于切片伸缩。所以在相同情况下,当速度减慢的时候,切片间的间隙会通过扩展每一段切片来填充,让声音维持在需要的连奏效果。扩展音频可以通过循环一小段小切片来实现——一种曾经用在采样器中的技术——或者通过粒子合成来实现,根据设计者对CPU性能的控制来决定。这种算法在一些DAW里叫做Rhythmic,比如在Logic里,但是这种叫法也可能用在基本Slicing算法上。如果算法本身带有一些设定,那么我们会更容易搞清楚它们里面到底用了怎样的技术,否则我们只能通过对一段连奏乐句进行减速测试才能知道实际上使用的技术。当你了解了背后的技术之后,你就能更清楚哪种技术适用那种音频。4 P- i4 n4 G ~. ]/ P( q6 b
7 p8 ? o& w0 p% e3 J7 V
+ H* a& d! }- o1 R9 `% _
. Y j* ~+ _9 }4 k内部的音频“切片” (在Logic里)
8 Z1 Z; k, p: h! w3 P# I7 Y7 \9 w& S6 e h9 o' E
同时只有一个音符( Q. y H" i8 Y
f" J V* [" k/ l- [) ]2 ?
Monophonic算法通常是设计给单复音音频文件使用的——同时只有一个音符的旋律或者乐句,比如人声和贝斯。但是你需要注意,如果你的吉他贝斯乐手偶尔演奏了双音,或者人声中混合了一些和声,就会影响Monophonic算法的工作。Monophonic也许会花费很长的时间来检测文件,因为它不单止要检测瞬态,还需要检测频率来确定什么时候出现了不一样的音符,比如吉他的左手击弦(hammer-on)、无品贝斯上的滑弦(slide)以及人声中的装饰音。为了检测这些没有明显音头的音符,Monophonic算法需要检测频率来确定在哪个位置频率的改变足以确定出现了一个新的音符。除去一些可能误判的检测,大部分Monophonic算法都能在我举出的例子上有不错的表现,这种算法适用于大部分solo乐句部分(除去那些上面提到的注意事项)以及单独的人声乐句。4 D# Y- A2 }% n0 l
) l" p8 z# {6 K% o" ]* W! f! }所有的音符
, }" O; f+ _( y* r; E) Y4 h% x9 ^6 Z r e D
Polyphonic模式是设计用于处理数个音符同时发声的音频的——全复音——包括扫弦吉他、钢琴、键盘乐器甚至终混文件。你没猜错。这种模式通常是最消耗CPU性能的,但是这种模式能够处理绝大部分音频类型。事实上,大部分DAW都因为这个原因都把Polyphonic模式作为默认算法,尽管对于很多没有音高的鼓和打击乐音轨,简单的Slicing/Rhythmic模式,消耗更少的CPU,也许更有效率,还有Monophonic模式——通过特定的算法——能为特定的音轨提供更好的声音效果。但是对于大部分音频来说,Polyphonic模式更为通用。
' O( o) m; }+ ~/ A' ]& j( W4 `1 z% n5 W# D" x9 m
现代的时间伸缩软件在大部分音频文件上都能得到非常好的效果,但仍有一些音频文件会出现问题。由于一些问题,扫弦吉他通常很难获得良好的时间伸缩效果——也许是因为扫弦吉他包含很多快速的音头组成的瞬态(拨片扫过不同的弦);不同琴弦上的细微音高区别;以及这种明亮的声音里包含的更高的丰富泛音,都让这种声音变得更难检测,这是我最常见到时间伸缩功能出问题的类型。: ^7 @; @! v; U! Q* t( X1 t
如果软件提供了可以调整的设置,你也许需要尝试一些不同的参数设置。在某些情况下唉(比如ProTools),有一个off-line的设置就和realtime处理上有些微差别。其他的DAW(比如Logic)提供了一种“高品质”模式,甚至能在实时处理中表现的非常好,尽管需要明显地消耗更多CPU。但是大部分时间里,标注你的Polyphonic时间伸缩通常能够解决大部分问题。
) V( c' \/ x6 ?- k0 Z5 W
C* A8 I7 P( E0 X1 u) j8 f复古算法
6 U. L; y, K' p9 ~
$ q% {3 t2 M, g) C, E4 D' P, ]通常DAW里还会有一种时间伸缩算法,不过在不同的DAW里会有不同的叫法——这种算法模拟了磁带和唱盘机以及老式的采样率调整的效果,同时改变速度和音高。显然,这种算法是用来做特殊效果的,比如模仿出色的唱盘机的变快或者暂停,这种效果也可以很简单地通过DAW的速度音高自动化控制来实现。
: a, L+ Y, [7 ?% ]4 Y) Z! P! ]
0 z8 ?1 A) k. P7 N结论
: \3 Q1 I6 b' H
. ]1 j* M& }+ Z$ D4 j所以我们有不同的算法用于不同的情况。很多人之前也许忽视了这些选项,只是打开时间伸缩功能就直接使用了(通常就是Polyphonic模式),从来没有尝试过别的选项,有一些算法对于某些音频文件来说也许能得到更好的结果。现在,你知道了这些算法,也知道了它们的原理了,那么你就可以有更多的选择来让最后的声音处理结果变得更更好了——只需要几分钟的尝试是非常值得的。 |
|