____  ___    _  _     _   _ _____     _______
 / ___|/ _ \  | || |   | | | |_ _\ \   / / ____|
| |  _| | | | | || |_  | |_| || | \ \ / /|  _|
| |_| | |_| | |__   _| |  _  || |  \ V / | |___
 \____|\___/     |_|   |_| |_|___|  \_/  |_____|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

MakeNoise09 - 压缩 Compression

BY: @kidult00 | CREATED: July 6, 2018, 4:50 a.m. | VOTES: 7 | PAYOUT: $0.02 | [ VOTE ]

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

[IMAGE: http://artsites.ucsc.edu/ems/music/equipment/signal_processors/processors_intro/comp.gif]

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

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

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

[IMAGE: http://www.yamahaproaudio.com/global/en/Images/pa_beginners_comp12_2.jpg]

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

[IMAGE: https://www.howtogeek.com/wp-content/uploads/2011/04/clipping_compared_to_limiting.png]

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

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

[IMAGE: https://www.residentadvisor.net/images/features/2012/tech-compress-dynamic-range.jpg]

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

[IMAGE: https://dt7v1i9vyp3mf.cloudfront.net/styles/header/s3/imagelibrary/P/Pcomp-02-scales-5vGDFjBDltP2gtc.qx_VD3N2xWxwZHMy.jpg]

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 面板中调整压缩的参数:

[IMAGE: https://cdn.steemitimages.com/DQmciPCL1gwHe8HZxZZ57v7U63dvagi6y829TcppdtoV5BS/[Ableton]compressor.jpg]

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

Compressor in Ableton Live_腾讯视频

用 Max/MSP 实现 Compressor

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

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

[IMAGE: https://cdn.steemitimages.com/DQmbSQmLJHAmKd91nu2nRjchZSH8SqRmg47PtbMWgKDmxKc/[Max]compression.png]

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

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

[IMAGE: https://cdn.steemitimages.com/DQmVsmoAyM7WvoFTorJhnHFQNux6k7Hx211cQJiVxDSqVSQ/[Max]compression-para.png]

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

[IMAGE: https://cdn.steemitimages.com/DQmcPq1Ct6u7d9qEiKVqpPyomrX9od48821DqrUNwuBDPZa/[Max]compression-compressor.png]

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

[IMAGE: https://cdn.steemitimages.com/DQmTGWYauwX7VA8ez19svLqn66Kbo754cBL7SrgoYM5ejPZ/[Max]compression-math.png]

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

Ref

TAGS: [ #cn ] [ #blog ] [ #tutorial ] [ #sound ] [ #life ]

Replies

@cn-cutie.pie | July 6, 2018, 4:52 a.m. | Votes: 1 | [ VOTE ]

@kidult00, 伦家就觉得你写得不错嘛~~~ [IMAGE: https://i.imgur.com/yZcc37t.png]

@cn-naughty.boy | July 6, 2018, 4:54 a.m. | Votes: 1 | [ VOTE ]

@kidult00, 生活,就是在平凡中变得不平凡!

对了,漂漂女生节貌似快到了,我是不是要给 @cn-cutie.pie 可可 准备一下礼物了?

@cnbuddy | July 6, 2018, 5:16 a.m. | Votes: 0 | [ VOTE ]

你好吗?众所周知cn区两大众筹互助平台,@cnbuddy 和 @justyy ,股东,要不要了解一下?如果不想再收到我的留言,请回复“取消”。

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>