美文网首页我爱编程音乐
MakeNoise09 - 压缩 Compression

MakeNoise09 - 压缩 Compression

作者: Kidult | 来源:发表于2018-07-06 12:46 被阅读75次

    在音频处理中,压缩可以指数据压缩格式(如 mp3 格式),如何压缩可以减少文件大小。本文学习的则是动态范围(Dynamic range)的压缩。


    image

    EQ(均衡器) 和 Compressor(压缩器)是 Sound engineering 里面最基础最常用的效果器。压缩器是动态处理器的一种。动态处理器最简单的形式就像一个自动的音量控制器(gain control),当音量太大时减低音量,当音量太小时调高音量。

    想象一下,你家的电视有两个不同的频道。一个频道总是很小声,需要用遥控器调整到 20 才听得清楚。另外一个频道却很大声,必需用遥控器调到 12 才不会吵到邻居。

    Compressor 的作用,就相当于每次切换这两个频道的时候,自动帮你调整声音大小,使之保持在合适的范围。


    image

    在音频处理中,压缩的目的是让乐器、人声或录音的动态范围保持在我们想要的范围

    • 控制动态性能
    • 填补漏洞
    • 声音包络控制/塑形
    • 调控音色
    • 调整峰值和失真
    • Sidechain compression(ducking/dipping/pumping)
    image

    更直观来说,压缩处理可以:

    • 使音频的动态范围更平整(even out)
    • 融合两种乐器的声音(如bass 和底鼓),听起来更为整体
    • 提亮音量比较小的声音
    • 控制太响的声音
    • 使声音获得特定的音色效果
    • 创造特别的声音

    所有的动态处理器基本上都是指定一个开始工作的信号电平,然后对信号做出某种形式动态变化。

    image

    不同压缩方法对 dynamic range 的影响:


    image

    MakeNoise 06 中我们学习了均衡器(EQ)。那么在处理音频时,应该是先调 EQ 还是先调 Compressor 呢?

    Placing an EQ before a compressor can have the effect of exaggerating the applied EQ. Placing an EQ after a compressor you can often attain more audible results with less EQ, producing results that often do not "sound EQ's EQ" -- Chuck Zwicky

    一般来说,EQ 在 Compressor 之前,主要为了调整 Compressor 的反应;EQ 在 Compressor 之后,是为了调整波形达到更好的混音效果。当然也要取决于声音素材和想要的效果

    在 Ableton Live 里压缩不同的音轨

    进入 Ableton Live,在效果库里面找到 Compressor,拖到音轨上,就看到 Compressor 面板中调整压缩的参数:

    • Threshold/Input:控制何时触发压缩
    • Gain reduction (GR):有多少 dynamic range 被去掉
    • Output/Makeup gain:补偿因压缩导致的音量减小,设定输出的最高电平
    • Attack:当信号达到阈值时,压缩器在多少时间内开始处理。Fast attcak 0.01~10 ms, slow attack > 50 ms
    • Release:当压缩时,原始信号被保留多久。通常以音频的 tempo 为基准
    • Ratio:以输入为基础,按比例设定输出值
    • Link:连接双声道/单声道压缩器到另外一个单声道,形成立体效果
    • Side chain:使用信号而不是主输入来控制压缩
    • Bypass:压缩过滤

    如何调整不同乐器音轨的压缩器,请看下面视频里的详细讲解:

    <iframe frameborder="0" width="640" height="498" src="https://v.qq.com/iframe/player.html?vid=d0711gj2yf2&tiny=0&auto=0" allowfullscreen></iframe>

    Compressor in Ableton Live_腾讯视频

    用 Max/MSP 实现 Compressor

    更进一步,我们到 MSP 里拆解 Compressor 是如何实现的。

    官方文档里提供了详细的说明和例子。00 调整和补充了一些注释:

    压缩器主要有三部分构成:参数、压缩流程和处理算法。下面分别看看每一部分的实现。

    可控制的参数主要有 Input gain, Threshold, Ratio, Attack time, Release time,之前我们在 Ableton Live 的 Compressor 面板里都看到了:

    压缩处理的主流程:先实时监测 input level,把信号从 amplitude 转换为 dB,然后跟阈值参数比较,判断是否进行压缩:

    如果达到阈值后开始压缩,需要降低的 gain 由以下部分计算。公式是 (Threshold - Level) * (1 - 1/ratio)

    然后将计算值再换算为 amplitude,输出到 compression 的主流程中,最后再加一道 rampsmooth~ 来平滑 gain 的变化。

    Ref

    ---

    Art & Code 的热门文章

    相关文章

      网友评论

        本文标题:MakeNoise09 - 压缩 Compression

        本文链接:https://www.haomeiwen.com/subject/exivuftx.html