Search This Blog

Sunday, May 9, 2010

음량 전쟁과 ReplayGain

ReplayGain은 음량 전쟁 (Loudness War) 을 극복하고자

영국 Essex 대학에서 Audio Systems Engineering으로 박사 학위를

받은 David Robison氏와 그의 동료들이 2001年에 제안한

음향심리학적 정규화 psychoacoustic normalization 기술입니다.

해외 음악 애호가들에겐 이제 거진 대중화 되다시피 했습니다만,

국내에선 그리 크게 빛을 못보는 것 같아서 안타까운 마음에

ReplayGain에 대해 간략하게 소개할까 합니다.


목차:


① Loudness War은?


② ReplayGain은?


③ 적용 사례는?


④ 결론은?


=============================================================


① Loudness War은?


ReplayGain을 알아보려면 그 전에 일단

'음량 전쟁'에 대해서 알아볼 필요가 있습니다.

음량 전쟁 (Loudness War) 이란,

다른 음반에 비해 소리가 좋게 들리도록

날이 갈 수록 점점 음량을 키워서 음반을 녹음 또는

제작하는 전세계의 음반 업계에 만연해 있는

악랄한 풍조를 일컫는 용어입니다.












(음량 전쟁의 전형적인 例)


분명 음량을 키우면 음량이 작은 음반보다

소리가 좋게 들릴 수도 있습니다-

그치만 단순히 소리를 키운다고 음질이

좋아지는건 절대 아니기에 그건 그저 청취자를 우롱하는

속임수, 혹은 편법에 지나지 않지요.


이 음량 전쟁은, 음반 업계에 최대 음량의 기준이

있었다면 처음부터 일어나지 않았을 人災입니다.

영화 업계에선 이미 全美 텔레비젼 기술자 협회 (SMPTE) 에서

기준안 RP200를 통해 최대 음량을 83dB로 정했음에도 불구하고,

음반 업계엔 지금까지 특별히 제정한 기준이 아무것도 없습니다.

그래도 늦게나마 유럽에선 2006년에 비로소 유럽 방송 연합 (EBU) 이

R117-2006라는 기준안을 제정하고, 음반 제작시 출력에

18dB의 동작 여유 (Headroom) 를 두어야 한다고 권고 했더랍니다.


아무튼 이러한 음량 전쟁으로 인해서

두가지 문제점이 발생하게 생기게 됩니다.

1번. 음반마다 음량이 천차만별로 됩니다.

2번. 음에 전체적인 왜곡을 초래합니다.


먼저 1번.

서로 음을 듣기 좋게 만드려고 음량을 냅다 증폭했으니

어처구니 없게도, 일정한 기준 없이 음반마다 (혹은 곡마다)

음량이 제멋대로가 되어서 청취자에게 혼란을 가져 오게 됩니다.

결과적으로 음량을 자주 바꿔주어야 하는 번거로움이 생기지요.

(올바른 CD 립핑 (ripping) 과정에선 추가적인 음량의 변화 없음)

이 문제는 음원 간의 음량차를 줄여주는 정규화 (Normalization)를

적용하면 간단히 해결 됩니다.


그리고 2번.

디지털 매체는 출력할 수 있는

음의 동작 범위 (Dynamic Range / dBFs) 에 한계가 있는데,

신호대양자화 잡음 전력비 S/Nq
S/Nq = 6.0206 + 1.761 [dB]

CD 16/44.1kHz    : (1.761+6.0206*16) = 98dB (65,536 샘플)
SACD/DVD 24/96kHz: (1.761+6.0206*24) = 146 dB (16,777,216 샘플)

높아진 볼륨으로 음이 동작할 수 있는 범위가

줄어들어서 음악의 역동감을 상실하게 되고,

또한 그 한계를 넘어버린

신호는 거친 쇳소리를 내며 클리핑 (Clipping) 이라는

형태의 음의 왜곡을 발생하게 됩니다.








(클리핑의 例)


한번 훼손된 원본은 암만 업스케일이니

오버샘플링을 해도 소용 없습니다.

음악 감상의 측면에서 볼 때 음량 전쟁은 그야말로 '악의 축'이지요.

(실제로 이러한 음반들이 존재합니다)
















(음량 전쟁의 희생양인 Red Hot Chilli Peppers -
Californication: 셈여림이 다 잘려나감)















(음량 전쟁을 거치지 않은 Californication의 유출본-
세밀한 셈여림이 보존)


그렇다면 이러한 왜곡의 문제를 어떻게 해결해야 하느냐?

해결 방법은 크게 두가지로 나뉘는데..


첫번째 방법은...

음원에 동작 범위 압축 (Dynamic Range Compression)을 적용하여

음의 셈여림을 아예 평준화 시켜 버리던가,
(통상의 가요 음반들은 이런 방법으로 mastering 됩니다)

하드 리미터 / 소프트 리미터를 적용하여

한계를 넘어버린 음을 잘라내거나 완만하게 굴절 시킵니다.


이 방법들은 경질의 왜곡음을 효과적으로 제어할 수 있지만

동작 범위 압축을 거친 음원은 소리가 밋밋해지며,

리미터를 거친 음원은 음의 타격감과 화사함이

다소 물러질 수도 있습니다. 뭐 그래도 쇳소리보다는 훨 낫습니다.



두번째 방법은...

1번 문제의 해결책이기도 한,

음원 자체의 음량을 동작 범위 아래로 낮추어

정규화 (Normalization) 시키는 방법입니다.

사실 음원 자체에 가해진 왜곡은 어찌 할 수 없습니다만,

출력의 동작 여유 (Headroom) 를 확보할 수 있으므로

추가적인 왜곡을 사전에 차단할 수 있습니다.

또한 몇가지 디지털 코덱은 동작 범위 이상의 정보를 파일에

저장할 수 있는데, 대부분의 디코더는 이러한 정보를

그냥 클리핑 시켜 버립니다. 그치만 음량을 낮추면

여유가 확보되므로 이 또한 클리핑 없이 재생시킬 수 있지요.

이러한 음량의 정규화를 위해서는 통상의 음량 정규화器 (Normalizer)

를 적용할 수 있습니다. 그러나 이러한 단순 정규화器는 음원 자체의

신호를 조절하기 때문에 음질이 왜곡될 우려가 있습니다.

게다가 단순히 최대치 혹은 평균 음량 만을 기준으로

음량을 정규화 하므로 음원마다 음량이 많이 달라질 수도 있습니다.

그치만 원음의 손실 / 왜곡 / 음량차 없이 정규화 할 수

있는 방법도 있는데, 그것이 바로 ReplayGain입니다.


=============================================================


② ReplayGain은?


ReplayGain은 음원 사이의 음량차가 없도록 음향심리학적(Psychoacoustically)

으로 89dB에 음량을 정규화 (Normalization) 시켜주는 동시에

음원 자체의 음량을 Digital 상의 출력 한계(Full-scale) 아래로 낮추어

동적 영역(headroom)을 확보, 왜곡을 방지하므로

음량 전쟁으로 생긴 두가지 피해인 '음원 간 음량차'와

'음의 왜곡' 을 최소화 할 수 있습니다. 그리고 이 모든 정보는

음원 자체가 아닌 태그 형태로써 따로 저장되므로 기존의

음량 정규화器의 단점인 '원음의 훼손'의 문제에서도 자유로워집니다.


Mark Robinson氏는 SMPTE의 기준인 RP200을

적극 채용하여 K-20, 혹은 83dB를 목표 음량으로 정했습니다.
(K-20: 핑크노이즈를 -20dBFs로 재생 시 청음상 83dB SPL에 떨어짐)

또한 '대중 음악을 듣는 청취자'를 위해 ReplayGain을 적용한

디코더/재생기에는 +6dB의 사전 증폭 pre-amp 옵션을 권장했지요.

83dB는 영화 업계(SMPTE)에서 지정한, 편안한 음감을 위한 최적의

음량이었기에 ReplayGain의 이러한 기준은 매우 합리적이었습니다.



















(초창기 ReplayGain의 例)


그러나 이 목표 음량이 체감상 너무 낮다는 이유로

개발자들 사이에서 제대로 지켜지지 않자,

K-20 대신 ReplayGain의 '대중 음악을 듣는 청취자'를 위한 옵션이자

전문 모니터링의 기준 음량이 되기도 하는 K-14을 대신 채용합니다.
(K-14: 핑크노이즈를 -14dBFs로 재생 시 청음상 89dB SPL로 떨어짐)

이게 바로 현재 정립된 표준 목표 음량인 '89dB' 입니다.
















(K-12 / K-14 / K-20 의 차이점)


ReplayGain은

'원음을 훼손하거나 단순히 평균치/최고치를 기준으로 하는 통상의 음량 정규화 기술'

과는 달리, 각 트랙을 0.05초 단위로 나누어 음량을 읽어낸 후

그 읽어낸 음량 정보의 95%에 위치하는 주파수를 기준으로

*등청감곡선 (FM-Curve) 의 逆으로 대입되어,
*http://www.cdpkorea.com/zboard4/zboard.php?id=review&&no=9543















(ReplayGain의 逆 등청감곡선 필터)


89dB로 조절된 음량치를 태그에 저장합니다.

이렇게 복잡한 음향심리학적인 정규화 과정을 거치면

트랙끼리의 수치적인 음량은 다소 차이가 날 수 있으나,

체감상의 음량차는 거의 사라지게 됩니다.

그 이외에 이 기술은 앨범 별로도 적용될 수가 있는데,

앨범 안에 있는 모든 음원의 평균 음량과 최대 음량을 계산해서

하나의 앨범에 담긴 음원들이 각자 고유의 개성을 유지하게끔 도모합니다.

특히나 앨범 째로 음악을 듣는 청취자에겐 꼭 필요한 기능이죠.















(트랙게인과 앨범게인의 차이점)


그런데 종종 미니기기를 쓰시는 분들이 '출력 적은 기기엔 89dB는 너무 낮다'

'볼륨을 너무 올리면 화이트 노이즈가 섞인다' 라고 불평을 하시더랍니다.

그럴 때는 클리핑의 위험이 있긴 하지만 목표 음량을 약간 (3dB가랑)

올려도 크게 문제는 없습니다.

클리핑을 막고자 노이즈를 더할 수는 없으니까요.


결과적으로 ReplayGain은

음원 간 체감상의 음량차를 없애주는 동시에

음의 동작 범위에 여유를 두어 클리핑을 방지함으로써,

그야말로 호환, 마마보다 무섭다는 음량 전쟁이 벌어지고 있는

이 삭막한 시대에서 음악 애호가가 살아남을 수 있는 최선이자

최고의 구원책이라고 할 수 있겠습니다.

(혹 pre-cut으로 인한 bit-depth의 저하를 염려하신다면 걱정마시길. 그런 quantization error는 16bit fixed point 처리에서나 발생하는 문제이며, RG가 그런 식으로 적용된 경우는 전무합니다.)


=============================================================


③ 적용 사례는?


음원을 스캔해서 ReplayGain값을 음원에 저장할 수 있는 프로그램 목록:

AACGain: AAC 지원
FLAC and metaflac: FLAC 지원
foobar2000: 모든 포맷 지원
iVolume: ReplayGain값을 아이팟의 Sound Check 기능으로 쓸 수 있도록 지원
LAME: Lame MP3 인코더
MediaMonkey: 모든 포맷 지원
MP3Gain: MP3 지원
Zortam Mp3 Media Studio: 모든 포맷 지원
Rapid Evolution: 모든 포맷 지원
replaygain.exe: MPC 지원
VorbisGain: OGG 지원
WaveGain: WAV 지원
Winamp: 모든 포맷 지원

출처: http://en.wikipedia.org/wiki/Replay_Gain#Implementations_of_Replay_Gain_scanners


ReplayGain 태그를 인식 가능한 재생기 목록:

Amarok: Linux 재생기
Audacious: Unix 재생기
Aqualung: Linux/Windows 재생기
cmus
Exaile: Linux/GNOME 재생기
FLAC: FLAC 디코더
foobar2000
J.River Media Center
Zortam Mp3 Media Studio
MediaMonkey
madplay
Mpg123
mpd: Unix 재생기
Muine music player: GNOME 재생기
Quod Libet
Rhythmbox: GNOME 재생기
Rockbox: 미니기기 쪽에선 유일하게 RockBox 펌웨어가 RG를 지원
Squeezebox (2 and newer): SlimDevices社의 하이엔드기기
Winamp
Xbox Media Center: Xbox 재생기
XMMS: Unix 재생기 (MP3, OGG, APE 지원)
XMMS2
XMPlay

출처: http://en.wikipedia.org/wiki/Replay_Gain#Replay_Gain.E2.80.93compliant_audio_players


=============================================================


④ 결론은?


종전에 클래식 음반으로 2002年 2003年 Grammy를

수상하신 녹음 엔지니어분께 ReplayGain의

효용성에 대해서 여쭌 적이 있습니다. 그 분께서는

'끝이 없는 음량과 dynamic의 문제' 라 하시며 적극 추천하시더군요.
(mastering시엔 peak level을 손상없이 -1dB 에 맞추신다고도)


뭐 기기의 음질/음색을 따지시는 것도 좋지만, 그 전에 우선 음원의

문제를 바로잡는 것이 음악 감상을 위한 올바른 순서가 아닐까요?

다들 ReplayGain 적용 하시라능!



참고:
http://replaygain.hydrogenaudio.org/
http://en.wikipedia.org/wiki/Replay_Gain/
http://en.wikipedia.org/wiki/Loudness_war/
http://www.mars.org/mailman/public/mad-dev/2004-February/000993.html



No comments:

Post a Comment