audio mixing에 사용되는 AGC(Auto Gain Control) 알고리즘...

yeppiguy의 이미지

2개이상의 PCM 음성데이타를 하나의 PCM음성데이터로 만들기 전에 각각의 음성데이터의 볼륨값을 서로 특정 레벨로 맞출 수 있는 알고리즘에 관한 자료를 어디서 구할 수 있을까요?

웹에서 뒤지다가 결국 못찾고 이렇게 글을 올려 봅니다. 혹시 관련 일을 하시는 분 계시면 알려주세요....^^

Prentice의 이미지

Peak normalization: 절대 하지 마십시오.
RMS normalization: 그나마 낫지만 정확성이 떨어지고 clipping 위험이 있습니다. (참고로 iPod에서 RMS normalization이나 RMS의 변종을 쓰는 것으로 알고 있습니다.)

Replay Gain: 이것이 왔다입니다.

http://www.replaygain.org/
http://en.wikipedia.org/wiki/Replay_Gain

83dB로 볼륨을 통일하기 위한 스펙입니다. 거의 모든 프로그램들은 89dB로의 통일을 지원하고 있지만요.

Implementations 링크 따라가시면 소스도 받으실 수 있습니다. http://www.foobar2000.org/ foobar2000의 SDK를 보시면 Win32 C++ 소스도 있습니다.

혹시 제공된 알고리즘에서 지원하지 않는 샘플링 레이트를 쓰신다면 알고리즘을 고쳐서 쓰시던가, 아니면 리샘플링을 하시던가 하셔야 할 것입니다.

----

위의 방법들은 파일 전체의 분석을 통한 방법들입니다.

혹시 실시간으로 하셔야 한다면 dynamics compression을 쓰시는 수 밖에 없을 것 같습니다.

yeppiguy의 이미지

아주 유용한 정보 감사합니다....^^
많은 도움이 된거 같습니다.