技术性问题,过去与现在

音乐制作和唱片制作是一个多面的过程,许多元素共同发挥作用。其中一些是艺术性的,另一些则纯属技术性。
过去的工作方式
“在过去的日子里”(这次请用苏格兰口音),所有的技术环节都由一批熟悉磁带机、模拟调音台、外置设备、线路甚至真实混响室的人来处理。任何人最不愿意看到的就是因为某些技术问题导致一个录音环节停滞,艺人浪费宝贵时间和灵感。
现在的工作方式
即便这些技术细节已经改变,上述情况今天仍然适用,尤其是对那些用电脑制作音乐的人(Fab 告诉我,好像有很多人在用)。
DAW(数字音频工作站)中最容易被忽视且经常被低估的一个方面就是它的处理内部延迟的能力,这些延迟与路由和处理有关。本文我们将以 Pro Tools 管理其 ADC(Automatic Delay Compensation) 为例,但这里阐述的概念会给你所需的技能和侦查思路,用以在任何 DAW 中进行检查和诊断。
缓冲大小 vs 延迟补偿
缓冲大小到底是什么
首先,这两者不是同一回事。为了解释缓冲大小,我总是用以下比喻:
每次你在 DAW 上按下“播放”,你都在向计算机的“大脑”请求数据,然后发送到你的扬声器。把它想象成一些定期从你的计算机运送到扬声器的箱子。这个箱子就是你的缓冲区(buffer)。
缓冲尺寸越小,计算机用来装数据发送到扬声器的箱子就越小。在给定时间内(例如 1 秒),你的计算机需要使用更多的箱子,投入更多能量去把东西装进去并妥善打包,然后发送到扬声器。由于箱子小,从你按下“播放”到第一个箱子被塞好并发出的时间会很短,但计算机需要更多工作(更高的 CPU 占用)来确保所有这些小箱子都被发送。就像现实生活中,这些小箱子装不了多少东西,所以你需要很多箱子、很多胶带、很多打包工作、很多能量。
使用较大的缓冲大小时,计算机会相对轻松:大箱子可以装入大量数据,箱子只有在装满时才会关闭并发送。这意味着从你按下“播放”到第一个箱子到达扬声器,会经过更长时间。另一方面,较大的箱子让计算机在给定时间间隔内(例如 1 秒)工作更少。
缓冲大小如何影响工作流程
总结一下:
- 较小的缓冲大小:响应性更高,但占用更多 CPU/系统资源
- 较大的缓冲大小:响应性降低,但占用更少 CPU/系统资源
这就是为什么通常在录音时偏好较小的缓冲大小(需要你演奏与从 DAW 听回之间的最短延迟),而在混音时则偏好较大的缓冲大小(当你不再需要对时间敏感的响应性,而希望通过放松系统负担来使用更多插件时)。
内部处理延迟是另一种问题
那么“内部处理延迟”和“缓冲大小”有何不同?缓冲大小是系统范围的参数,而处理延迟会随路由、插件和处理链动态变化。这就是它可能失控的地方。
处理延迟及其补偿
我们来拿两个音频轨道举例:A 轨有一个踢鼓和小鼓的节奏,B 轨有一段贝斯演奏。假设这两个轨道是由一对顶尖的、groovy、funk 风格的组合录制的。你坐在调音台前,决定给 A 轨加一点均衡、一些压缩和一点混响。B 轨本身就很完美。你按下“播放”来听结果,一切听起来很棒。这部分原因是你的 DAW 自动为插件延迟做了补偿。为什么会这样?
基本上,A 轨到达信号链末端需要更多时间:B 轨完全裸轨并直接走路由,而 A 轨必须通过均衡器、压缩器和混响进行处理。
ADC 存在的原因
自动延迟补偿确保 B 轨不会独自先到达终点:相反它会等待 A 轨,一旦所有轨道都准备好,它们会一起通过终点,从而保留两者之间的原始时间关系。
如果你的 DAW 没有“ADC”(Automatic Delay Compensation,自动延迟补偿),A 轨听起来就像是后来录入的一样。如果差异很大,鼓手听起来会和贝斯手完全不同步,而在我们的例子中——这两个人是著名的放克乐队——你会因此被炒鱿鱼。
延迟问题如何潜入
现在很容易理解 ADC 有多重要,考虑到你通常会有:
- 不止两个轨道
- 总共超过三个插件
- 更多的路由,带有汇总(buss)和发送/返回(send/return)
更重要的是:事情并不总是听起来完全不对劲。你可能在通道之间有微小的相位偏移(例如踢鼓与贝斯和其他鼓?可怕!),这会让你基于技术问题而不是基于轨道内容来做混音判断。而且这些都会随着任何路由或插件的增加/修改而变化!再次提醒:可怕。
因此,让我们确保知道如何诊断 ADC 是否正常工作。
ADC 的故障排查与调整
我们取两个完全相同的音频轨道,全部路由到同一个总线。它们包含完全相同的一段音频:一个 1 kHz 的正弦波,电平为 -20dBfs(其实任何东西都行,只要是相同的音频片段)。
相消测试方法(Null Test)
我把其中一个通道的相位翻转(=极性反转)。有些 DAW 在通道条上有一个简单的“翻转相位”按钮,但我的 Pro Tools 没有。所以我在两条轨道上各放了一个相同的 Trim 插件,对第一条旁路它,保留第二条启用,以此来翻转相位。这样我就在两条轨道上放了相同的处理量,并在实质上保持它们完全相同。
在汇总总线(名为“MIX”)上我放了一个简单的 Phasescope 插件,用来查看极性、电平和立体声成像。
当我播放会话时,两条轨道互相抵消,结果是完全静音(-无限)。啊,数字域里用一和零工作的美妙之处。

诊断路由与插件延迟
现在,我在第一条轨道上放一个插件并将其置为旁路。这样我只是增加了插件本身的工作负载,但在声学上并没有改变声音。注意在某些 DAW 中,旁路插件也会将其从处理路径中取消分配。在我的 Pro Tools 中,旁路意味着插件仍然“占用”CPU,但不会影响该轨道的音频。
现在,如果 ADC 正常工作,结果仍然会是完全相消。这是因为 B 轨处理更快(它不需要计算),但它会被要求等待 A 轨准备好,然后它们才会一起回放。
如果我们在 Pro Tools 中关闭 ADC(Setup 菜单 > Delay Compensation 未勾选),你会看到 Phasescope 现在会给出一些残留信号。这意味着这两条轨道没有被补偿。
在第三个例子里,我们让 A 轨通过一个额外的 Aux Track,然后到达 MIX 总线,而 B 轨则保持直接到达。如果 ADC 工作正常,补偿仍然会发生,结果必须是完全相消。

当 ADC 在输入监听轨道上失效时
在第四个例子里,我们让 A 轨通过一个带有输入监听开启的音频轨道。这就是事情变得有趣的地方。在 Pro Tools 中,我们按下播放,信号没有相消。这是一个 bug 吗?不是。
Pro Tools 有一个名为 "Auto Low Latency" 的功能,通常默认是开启的。其背后的想法是,如果你把某个音频轨道置于输入监听和/或录音模式,你很可能想要录音。而如果这个信号来自真实来源(例如你的吉他手需要录制重录),Pro Tools 会假定你会想要尽可能低的延迟,以确保吉他手能及时听到她正在演奏的内容并与表演同步。"Auto Low Latency" 会确保自动延迟补偿规则在那些被置为输入监听和/或已准备录音的轨道上被打破(绿色的 "I" 或红点开启)。
大多数情况下你会希望如此(尤其当会话已经有很多插件时),但在这个场景下我们并不希望这样。我们可能使用这种技术将轨道打印到另一个轨道上,此时保持 ADC 是至关重要的,以便我们能正确监听并把结果打印下来。

禁用 Auto Low Latency 模式
要修复这个问题,我们前往该音频轨道底部的“delay compensation”面板(确保你在 "View > Mix Window" 菜单中已开启 "Delay Compensation",以便看到它)。从上到下,这三个字段表示:
- 该轨道的总延迟,以样本为单位
- 该轨道的用户偏移,以样本为单位(如果有的话)
- 该轨道的总补偿,以样本为单位,为了等同于会话中最慢轨道的延迟所需的补偿
通常这些字段都是绿色的,但在 Pro Tools 中它们可以呈橙色以突出显示会话中最慢的轨道。如果是红色,意味着该轨道没有被正确补偿。每个 DAW 都有它能补偿的样本最大值。
要为某个轨道关闭 "Auto Low Latency" 模式,我们右键点击 Delay Compensation 面板中最下面的第三个字段,然后点击 "Auto Low Latency OFF"。补偿字段现在会呈蓝色以提示你该轨道的低延迟模式已被禁用。
如果你现在播放会话,你会注意到完全相消的结果。一切恢复如常。
你可以在任何情况下(包括发送/返回)使用这个诊断方法,只要确保两个相同轨道(但极性相反)的最终结果是完全相消。这没有争议:这不是一种艺术选择或工作方式:DAW 不应基于技术或操作因素影响你材料的时间关系(无论是预先录制的还是实时生成的)。
ADC 与虚拟乐器
虚拟乐器呢?我们如何确定它们都被正确补偿?嗯,我们不能完全确定。我们信任软件开发者。通常如此。
但有一类虚拟乐器我不想忽视:鼓库和鼓替换插件。如果我要给已有的鼓轨添加踢鼓和小鼓样本,我怎么知道这两个样本的相位完全对齐?

为何鼓库需要额外注意
在最后这个例子中,我们有三条鼓轨:踢鼓、军鼓和顶麦,它们听起来是这样的:
听起来可以更好。我没有听到踢鼓和军鼓足够的力度,想用样本来增强它们。为此,我们打开一个虚拟乐器,在我的例子中是 Slate Digital SSD 4,但你可以把这个原则应用到任何类似的插件上。
一旦我选好踢鼓和军鼓,我播放会话,听起来像这样。相当不错,达到了我的目的。
为避免混乱而打印样本
对我来说,第一个检查是用耳朵判断。听起来不错,所以我保留。但我知道会话很快会比这更庞大,我想尽量减少出错的可能性。因此,我决定将样本轨打印成真实音频。这样会使会话自包含,不依赖于若干年后某人可能没有安装的音色库,或者你的混音工程师可能没有……而且这会把这些样本在时间上锁定,确保它们保持在原位。
忠告:一旦你的编曲/写歌环节结束,尽早丢掉虚拟乐器。我个人对 MIDI 并不是*那么*信任,更倾向于在去混音之前把项目弄得更精简、更精简可管理。
打印样本的正确路由
在 SSD 混音器中,我这样路由:
- 踢鼓(直接):立体声输出 2
- 军鼓(直接):立体声输出 3
- 所有氛围轨(顶麦/房间等):立体声输出 4
然后,在 Pro Tools 中,我创建 3 条立体声音频轨,按名称命名,并将它们的输入设置为 SSD 虚拟乐器的相应输出,如上所列。为了增加一点路由(并测试更多情况),这 3 条轨道会先到各自的总线,然后再到 MIX 总线。
如果我在这些轨道上打开输入监听并按播放,听起来会很奇怪并且不同步。
这是因为我忘了把“Auto Low Latency”设为 OFF,如前面解释的。一旦修好,一切听起来就和打印前完全一样。
然后我将轨道打印出来,这些轨道被分别打印并准备好加入混音会话。有趣的是,即便在“Auto Low Latency”开启的情况下,打印出来的结果也会被正确补偿!因为 Pro Tools 仅在监听端使用低延迟模式,内部的打印并不受影响(做得好,开发者们)。

修正错位的鼓样本
现在让我们放大看鼓轨。虽然采样的小鼓与原始小鼓是完全对齐且同相的,但你可以看到两个踢鼓之间存在延迟。这与自动延迟补偿无关,更多的是与虚拟乐器中的实际样本有关。它们各不相同,有不同的引擎、不同的样本,因此结果也不同。这就是为什么最后的检查总是值得做的。
比如我们选取真实踢鼓和采样踢鼓起始位置之间的距离,发现是 72 样本(在 Pro Tools 的传输栏中显示,当我的网格设置为“Samples”时会看到)。现在我们可以在采样踢鼓的延迟补偿面板的“User Offset”字段中输入“-72”。
这将告诉 Pro Tools 将该轨道在时间上提前 72 个样本,从而使采样踢鼓与真实踢鼓对齐。这并不总是意味着听感会更好,但我只是说值得检查!在本例中,对齐后的版本听起来更好,让两个踢鼓更像一个整体。微妙,但确实存在。