Managing Volume: ReplayGain(RG) / MP3Gain / Sound Check (iTunes)

ReplayGain(RG), MP3Gain, Sound Check (iTunes)
These features are used to normalize the audio files, I mean music files.
I’m gonna sum up the data I’ve collected, thereby comparing one another.

This document is not perfect and I want you to get more information from professional articles.
I’ll have this document get fixed afterterwards.
Also, pointing out any of the errors is always welcomed.

 

< ReplayGain(RG) >

This technology is done by analyzing the internal volume of a music file.
Then, by calculating the difference between the volume and the target volume, the number is put in the tag of the file.
When a music player or a device plays the file, it reads the tag of it.
If there’s a RG data and the player notices it, the difference is applied to the output volume when the player is playing the file.
This means that RG tag does not change the sound wave of an audio file.
All the analized data are put in the tag and this means that if you remove the tag, then the analyzation is gone.
Then the file will become the one which was like before the RG analyzation.

 

< MP3Gain >

The core algorithm is the same as ReplayGain.
MP3Gain is a program designed to apply the RG technology to MP3 files.
Because RG just calculates the difference of the file volume and the target volume and then put the result in the tag, it supports all file types.
However, the problem is that the music player should be able to read and use the RG result.
Years ago, old devices and programs could not read and apply the RG analysis result in the tag.
So the analyzing was no use.
In order to solve this problem, MP3Gain was developed.
It uses the RG algorithm and applies the result to the actual audio file.
It does not just add some number in the tag, but it really changes the actual volume of a file.
Because the process is done by really changing the sound, this program only supports MP3 files.
Other file formats require different ways of processing, so there are similar programs such as AACGain for other formats.

In the official site of MP3Gain, it says that the program does not change the original file.
It’s a half truth.
It actually changes the internal volume of a file and then adds a tag about the amount of volume change.
The type of the tag is APE.
When you want to remove the change, MP3Gain reads the tag and redo the change.
But when you remove the APE tag after changing the volume once, the audio file cannot get back to the original state by itself, if you don’t remember the original volume or the amount of change made by MP3Gain.
To add, it is a small defect that MP3Gain can only change the volume by 1.5dB.

< Sound Check (iTunes) >

Sound Check is a feature provided with Apple’s iTunes.
The basic mechanism is just like ReplayGain.
iTunes automatically calculate the volume of any files such as AAC and MP3.
Then, iTunes add a tag to the file about the difference of the volume level compared to the target leve.

There are some disadvantages.
Because it’s Apple’s own technology, the tag made by Sound Check is not always applied to devices or programs that are not made by Apple.
Also, while the Sound Check is done relatively quickly, the analysis is not that accurate.
iTunes’ target level cannot be changed manually by users in a normal way.
Lastly, because the volume change is done on files one by one, you cannot do an ‘Album Gain’.

However, all the defects can be solved if you use a program named iVolume.
You can do ‘Album Gain’, you can change the target volume as you want, and the analysis is done quite specifically.
iVolume can be used freely, but to remove some inconvenience you should pay for the app.
The first defect can be solved when you change all your devices to those made by Apple. lol

ReplayGain(RG) / MP3Gain / 음량 자동 조절 (iTunes)

ReplayGain(RG), MP3Gain, 음량 자동 조절 (iTunes) 등 음원의 볼륨을 평준화하기 위한 도구들이 혼재해 있어서 알아본 바를 정리해보고자 한다.

이 글의 내용은 절대로 정확성을 담보할 수 없으며, 잘못된 점이 발견되면 수시로 수정될 것이다.
잘못된 부분에 대한 지적 또한 환영한다.

나는 오래 전부터 MP3Gain을 활용하여 왔는데, 몇 가지 이유가 있었다.
ReplayGain에 대해 처음 알게 되었던 시절에는 Foobar2000 외에 RG를 제대로 지원하는 재생기가 거의 없었고, 게다가 컴퓨터로는 거의 음악을 듣지 않았고 휴대용 기기들을 이용했기 때문에 사실상 MP3Gain밖에 선택지가 없었다.
사실 MP3Gain이 ReplayGain을 MP3에 적용한 것이라는 정도로만 이해하고 있었기 때문에 둘이 완전히 같은 것이라고, 혹은 전자가 후자에 속하는 것이라고 잘못 이해하고 있기도 했다.
한편, 애플 기기는 아이팟 터치나 나노 정도밖에 쓰지 않았기 때문에 iTunes의 기능으로는 범용성이 너무 떨어졌다.
물론 (이제야 안 것이지만) 당시의 iTunes Sound Check 성능은 한숨이 나올 지경이기도 했다.

여하튼 내가 이해한 바에 따라서 정리를 해보도록 하겠다.

 

< ReplayGain(RG) >

음원 전체를 분석한 다음에 음량 정보를 구한다.
당연히 평균 음량으로 산출하는 것이다.
그런 다음에 목표 음량(89dB)과의 차이를 계산한 다음에 음원의 태그에 보정을 위한 값을 넣는다.
그러면 RG를 지원하는 음원 재생기는 음원을 불러오면서 태그를 읽고, 해당 필드에 적힌 값만큼 재생음량을 자동으로 조절한다.
즉, 음원 자체의 파형은 건드리지 않으며, 태그에만 정보를 입력하기 때문에 태그에서 해당 부분을 날려버리면 RG 분석 전의 상태로 돌아간다.

 

< MP3Gain >

활용하는 기본 알고리즘은 RG와 똑같다.
RG 기술을 MP3 파일에 적용하는 것이 핵심이다.
원래 RG 알고리즘은 평균 음량을 계산한 다음에 목표와의 차이를 태그에 집어넣는 것이기 때문에 어떠한 음원과도 연동된다.
하지만 문제는 RG 분석 결과 입력된 태그를 음원 재생기가 읽을 수 있어야 한다는 것이다.
컴퓨터로 음원을 듣는다면 사용하는 프로그램이, MP3 플레이어 등 휴대용 기기로 음원을 듣는다면 해당 장비가 RG 태그를 읽을 수 있어야 한다.
그러나 과거의 기기들은 보통 RG 태그를 읽어서 음량을 변화시키는 기능이 없었다.
재생기가 읽어내지 못하는 태그의 정보는 아무런 의미가 없는 데이터일 뿐이다.
따라서 MP3Gain은 음원 자체를 변조하고자 한 것이다.
태그에 값을 넣어서 재생시킬 때마다 반영시키는 것이 아니라, 아예 음원 자체의 파형에 조작을 가해서 기본 음량 자체를 변화시키는 것이다.
이때 기본 음량을 얼마나 변화시켜야 하는지 계산하기 위해서 RG 알고리즘을 사용하는 것이다.
분석 결과 10dB 낮춰서 재생해야 한다는 결과가 나왔을 때, 원래의 RG 태그는 예컨대 -10dB라고 덧붙이는데, MP3Gain은 실제로 음량을 10dB 줄여버린다.
실제로 음원을 조작하기 때문에 지원 음원에 한계가 있다.
따라서 MP3만 지원하는 것이며, 이를 응용한 AACGain 등이 별도로 개발된 것이다.

MP3Gain 홈페이지를 보면, 음원에 변화가 생기지 않는다고 한다.
반쯤 맞는 말이다.
MP3Gain은 실제 음원의 음량을 10dB 줄인 다음에 태그에는 MP3Gain 프로그램 스스로가 나중에 다시 읽을 수 있도록 ‘10dB 음량을 올리면 원래대로 돌아온다’고 덧붙인다.
이는 APE 형식의 태그로 입력된다.
그래서 음량을 되돌릴 수도 있고, 되돌리면 다시 처음의 음원과 완전히 같아지는 것이다.

하지만 문제는 실제로 음원을 조작한 다음에 변경 내용을 태그로 달아놓기 때문에 APE 태그를 날려버릴 경우에는 원래대로 돌아올 수 없게 된다는 것이다.
음량 조절의 결과 다이나믹 레인지가 줄어버리거나, 클리핑이 생기는 등 문제가 생길 수 있는데, 이때 원래 상태로 되돌리려고 하는데 태그 작업을 하다가 APE 태그를 지워버렸거나 하면 매우 난감해진다.
또한, 1.5dB 단위로만 음량을 조절할 수 있도록 설계되어 있어서 음량 평준화에 한계가 존재한다.

ReplayGain과 MP3Gain을 비교하여 요약하면 다음과 같다.
ReplayGain은 태그만 건드린다.
MP3Gain은 음량을 실제로 바꿔버리고, 바꾼 내용을 태그에 남긴다.
따라서 태그를 날려버릴 경우에 ReplayGain을 이용했다면 원래 음원으로 돌아오게 되며, MP3Gain을 이용했다면 바꾼 후의 음량 상태로 계속 남게 된다.

 

< 음량 자동 조절 (iTunes) >

애플 iTunes의 Sound Check 기능이다.
애플이 정보를 거의 공개하지 않아서 자료가 적다는 점을 제외하면, 원래의 RG와 거의 같다고 보면 된다.
AAC 코덱이든 MP3 코덱이든 음량을 계산하고, 목표 음량과의 차이를 남겨둔다.
그리고 재생할 때 그를 반영하여 재생한다.
그런데 파일 포맷에 따라서 태그의 작성 방식이 다른 것 같다.

단점이 좀 많다.
애플 자체의 기술이기 때문에 다양한 기기나 소프트웨어를 지원하지 않아서 범용성이 떨어진다.
음량 분석이 신속하게 이루어지는 대신에 부정확하다고 한다.
목표 음량을 수동으로 정하는 것이 불가능하다.
앨범 게인을 주는 것이 불가능하고 무조건 음원마다 개별적으로 반영된다.

그런데 이상의 단점들은 첫 번째 것을 제외하고는 모두 iVolume이라는 프로그램을 사용하면 해결된다.
불편함을 감수하고 무료 버전으로 사용하거나, iVolume을 구매하는 것을 적극 추천한다.
그리고 첫 번째 문제점은 모든 장비를 애플 것으로 구매하면 해결된다!