Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
音频特效
Godot 内置了多种音频效果(Audio Effects),你可以把它们添加到音频总线(Audio Bus)上,用来改变所有经过该总线的声音。
想要彻底搞懂每一个音效效果的工作原理可能确实有点难,所以如果你需要时不时去查资料,千万别觉得气馁!如果你是音频领域的新手,只要掌握了下面这些核心效果,在绝大多数情况下就足够应付啦!它们分别是:
均衡器与滤波器
Limiter(限幅器)
延迟与混响
把每个效果都试一遍,感受一下它们是如何改变声音的。
备注
AudioSample 不支持这些效果。
以下是可用效果器的简要说明:
Amplify(增幅)
调节声音的音量。不过这里需要稍微注意一下:如果把音量调得太高,可能会导致声音出现数字削波(digital clipping),从而产生令人不悦的爆裂声和噼啪声。建议搭配使用 hard limiter 或 compressor 来防止削波;或者,如果你就是想要那种在 0 dB 及以下发生削波的效果,也可以尝试使用 distortion 的削波模式。
BandLimitFilter
带限("band-limit")滤波器会衰减(降低)处于截止频率(cutoff)点的频率,同时允许该点之外的频率不受影响地通过。它的效果类似于 notch filter,但要温和(弱)一些。它的作用与 band-pass filter 正好相反。这种滤波器可以用来为其他声音在截止频率点留出更多的播放空间。
BandPassFilter
带通("band-pass")滤波器允许 截止(cutoff) 点附近的频率无衰减地通过,而衰减该点之外的频率。它与 band-limit filter 和 notch filter 的作用相反。此滤波器可用于模拟声音通过旧式电话线或扩音器时的效果。调制截止点频率可以模拟吉他哇音(wah-wah)踏板的声音,可以参考吉米·亨德里克斯(Jimi Hendrix)的 《Voodoo Child (Slight Return)》 中的吉他音色。
捕获
它会将挂载此效果器的音频总线的音频采样,复制到一个内部的环形缓冲区(ring buffer)中。这可以用来从麦克风采集数据,或者通过网络实时传输音频。总的来说,它可以用来存储实时音频数据以供回放,甚至可以用来制作实时的音频可视化效果(比如示波器)。这个效果器本身不会对原始音频产生任何改变。
Chorus(和声)
合唱("chorus")效果器会复制音频信号,并对每一个复制出来的副本进行极其细微的时序和音高调整,然后通过低频振荡器(LFO)让这种变化随着时间动态波动。这些副本(通常也被称为‘声部’)最终会与原始信号重新混合在一起,从而营造出一种声音来自多个不同声源的听感。在现实世界中,这种效果常见于钢琴、合唱团以及各类乐器合奏里。这种效果器还可以用来拓宽单声道音频的声场,并让数字音频听起来更具自然感或模拟设备的质感。
Compressor(压缩器)
‘压缩器(Compressor)’会在输入信号的振幅超过某个特定的音量阈值时,自动对其音量进行衰减(或者说“压低/闪避”)。输入音频超出阈值的幅度越大,施加的衰减量也就越大。压缩器的“比率(Ratio)”参数就是用来控制这种衰减程度的。压缩器的主要用途之一,就是减小那些同时包含极响和极轻部分的信号的动态范围。通过缩小信号的动态范围,可以让它更舒适、更融洽地融入到整体混音中。
压缩器有很多用途。例如:
它可以被用在主总线(Master bus)上,在音频信号进入限制器(limiter)的天花板之前,先对整个输出进行压缩。这样做可以让限制器的处理效果变得更加自然、不易察觉。
它可以被用在语音片段中,以确保人声听起来尽可能平稳、均匀。
它可以被另一个声源进行 侧链(sidechained) 控制。这意味着,它可以利用另一条音频总线的音量来触发阈值检测,从而降低当前信号的音量。这项技术在游戏混音中非常常见,当游戏内语音或多人联机语音需要完全清晰可听时,就可以用这种方法来自动‘压低(duck)’背景音乐或音效的音量。
它可以通过较慢的启动(attack)来突出 瞬态,让音效听起来更有力。
备注
如果你的目标仅仅是完全防止信号超过给定的振幅,为此目的选择 hard limiter 可能比压缩器更合适。不过,在限幅器之前应用压缩器仍然是很好的做法。
Delay(延迟)
延迟("delay")效果器会复制一个信号,并在多次重复播放时加入短暂的时间间隔(每次重复也称为“节拍点”或“滴答”)。这些节拍点的音量会随着时间推移而衰减。所有这些特性共同创造出一种回声(Echo)效果。延迟非常适合用于模拟峡谷或大房间这类声学空间,在这些空间里,声音从表面反弹并经过一定的 延迟 后才到达听者耳中。这与 混响(Reverb) 类似,但混响听起来更自然、更模糊。将延迟与混响结合使用,可以创造出听起来非常自然的环境音效。
Distortion(失真)
失真("distortion")效果会改变声音的音量,进而改变它的波形,最终产生一种 "刺耳" 且 "明亮" 的听感。
以下是 Godot 提供的一些失真(Distortion)类型:
Clip :强行限制(或“钳制”)声音的音量,这会让声音听起来非常刺耳。
过载(Overdrive):听起来就像吉他失真单块(效果器)或者大喇叭(扩音筒)的声音。
低保真(Lo-fi):通过降低信号的‘位深(bit depth)’,来模拟老式扬声器(喇叭)的听感。
各种类型的失真效果都能为原始声音增添高频成分,这有助于让它在混音中更加突出、更具辨识度。
警告
使用失真效果时要小心控制量,因为它很容易制造出非常刺耳且响亮的声音。
EQ(均衡器)
均衡器’能让你通过代表频谱不同区域的‘频段(bands)’,来控制整个频谱中各个频率的增益(音量)。均衡器对于实现更干净的混音至关重要,它能让多个声音和谐共存,避免不同声音的频率互相‘打架’。在主总线(Master bus)上使用均衡器,可以有效衰减设备扬声器无法良好还原的低频和高频。例如,手机和平板的扬声器通常无法很好地还原低频声音,而这些无法播放的低频反而会导致限制器或压缩器不必要地过度压低主音量。这个效果可以在插入耳机时关闭,从而让用户两全其美(既能优化外放,又能享受耳机的完整音质)。
备注
这个音频效果器是所有其他均衡器的‘父类’(或基础原型)。你可以通过自定义脚本来扩展它,从而创建一个拥有自定义频段数量的均衡器。
EQ6、EQ10、EQ21
Godot 提供了三种均衡器,它们的频段数量各不相同,这直接体现在了它们的名称里(分别是 6 频段、10 频段和 21 频段)。
Filter(过滤)
滤波器("filter")通过设定一个‘截止点(cutoff)’作为频率阈值,来控制不同频率的增益。它与均衡器(Equalizer)的区别在于,滤波器使用不同的‘形态("shapes")’来处理频率;也就是说,根据滤波器类型的不同,它会针对低于、高于、处于或处于截止点之外的频率进行增益调整。滤波器不仅能帮助各种声音在混音中各得其所,还能创造出许多有趣的效果。
备注
这个音频效果是所有其他滤波器的基础(或‘父类’)。它不应该被直接使用。
HardLimiter(硬限幅器)
限制器("limiter")的作用是阻止音频信号超过设定的音量阈值。硬限制器(Hard limiter)能够预测音量的峰值,一旦音量越过上限阈值,它就会平滑地降低增益(音量)。它的工作原理和压缩器(compressor)很像,但它的设计目标是绝对不让音量越过某个特定的电平线。将限制器作为主总线(Master bus)的最后一个效果器是一个非常好的习惯,因为它能提供一种简单有效的方法,防止音频出现削波(clipping)。如果你就是想要那种削波的效果,可以考虑在 distortion 效果器上使用削波模式(clip mode)。
HighPassFilter(高通滤波器)
‘高通(high-pass)’滤波器会衰减低于‘截止点(cutoff)’的频率,并允许更高的频率不受影响地通过。这种滤波器可以用来消除信号中的低频(贝斯)内容,让声音听起来更‘单薄’。
HighShelfFilter(高架滤波器)
‘高频搁架("high-shelf")’滤波器可以控制‘截止点(cutoff)’以上所有频率的增益。这种滤波器可以用来增强或削弱声音的清晰度。
Limiter(限幅器)
备注
这是旧版的限制器效果,建议改用新的 硬限幅器(hard limiter) 效果。保留此效果是为了保持兼容性,但应视为已弃用。
下面是一个该效果如何运作的例子:如果将天花板(ceiling)设定为 -12 dB,而阈值(threshold)设为 0 dB,那么所有通过的音频采样都会被降低 12 dB。这会改变声音的波形,并产生失真。
LowPassFilter(低通滤波器)
"低通" 滤波器会衰减 截止点 频率以上的信号,而允许更低频率的信号无衰减地通过。低通滤波器可用于模拟“闷住的”(失真的)声音,例如水下声音、被墙壁阻挡的声音或是远处传来的声音。
LowShelfFilter(低架滤波器)
‘低频搁架("low-shelf")’滤波器可以控制‘截止点(cutoff)’以下所有频率的增益。这种滤波器可以用来调整声音的‘力度("strength")’,也就是通过增强或削弱低音范围的音量来实现。
NotchFilter(陷波滤波器)
‘陷波("notch")’滤波器会衰减‘截止点(cutoff)’处的频率,并允许该点之外的频率不受影响地通过。它与 band-pass filter 的作用正好相反。这种滤波器可以用来为其他声音在截止点频率处腾出更多空间。由于它对频率的衰减力度非常大,因此也可以用来彻底消除某些非常具体且不想要的频率。
Panner(声像)
可以将声音向左或向右移动。在调节此效果时,建议佩戴耳机。
备注
这个效果在使用 AudioStreamPlayer2D 和 AudioStreamPlayer3D 时可能就没必要加了,因为它们会自动处理声像(panning)。
Phaser(移相器)
移相器("phaser")效果的工作原理是:先复制一份与原信号反相(out-of-phase)的音频副本,再把它和原始信号混合在一起。接着,这个副本会被一个低频振荡器(LFO)进行调制,这会让某些频率以非常有趣的方式相互抵消。最终呈现出的效果,就是一连串在音频频谱上扫来扫去的波峰和波谷。这种效果非常适合用来制作科幻片里的音效,或者是像《星球大战》中达斯·维达(Darth Vader)那样的标志性嗓音。
PitchShift(移调)
这种效果可以独立于速度调整信号的音高。所有频率均可增减,对 瞬态 的影响极小。PitchShift 可用于创建极其高亢或低沉的声音。需要注意的是,当推到一个狭窄窗口之外时,改变音调可能会听起来不自然。
Record(录制)
将音频数据存储到一个 AudioStreamWAV 中。这个效果器的一个使用示例就是:录制麦克风的输入声音,并将其保存为 WAV 文件。
Reverb(混响)
混响("reverb")效果的工作原理是:持续播放输入音频的副本,这些副本的音量会随着时间的推移逐渐衰减,从而营造出一种模糊的回声效果(也就是所谓的 "混响")。混响非常适合用来模拟声音在不同空间环境下的听感,从狭小的房间到巨大的洞穴都可以完美呈现。它和 delay 效果有些相似,不过延时的声音听起来没有这么模糊。如果将混响和延时搭配使用,就能创造出非常自然、逼真的环境听感。
混响通常是从 Area3Ds 输出的(具体可以参考 Reverb buses 的相关说明)。
SpectrumAnalyzer(频谱分析仪)
在指定的频率范围内绘制音频信号的振幅。这通常被用于实时音频可视化,例如频谱图。将声音可视化是一种在不增加音量的情况下吸引注意力的好方法。此效果不会改变音频。
备注
要使用此效果,必须访问 AudioEffectSpectrumAnalyzerInstance 。一个使用此功能的演示项目可以在 here 找到。
StereoEnhance(立体增强)
它可以调节左、右声道的增益(音量),并通过相位偏移(phase shift)将单声道声音转变为立体声。这个功能可以用来拓宽或收窄声音的声场。在配置该效果时,建议佩戴耳机进行调试。