본문 바로가기

Knowhow

[추가] Winamp 5의 MP3 음질을 업그레이드 하자 (mpg123 디코더 적용하기)

반응형



디코더별 품질 차이가 있을 수 있다는 내용을 추가하였으니 참고하세요.

윈앰프는 옛날부터 Fraunhofer(이하 프라운호퍼)사의 MP3 디코더를 라이센스하여 사용하고 있다.
왜 무료이면서 좋은 음질로 출력하는 lame디코더를 두고 굳이 한 세대 뒤쳐진 프라운호퍼를 고집하는지는
개발자 마음이겠지만...

그러면서 인코더는 lame의 인코더를 사용하고 있다.
그만큼 프라운호퍼의 인코더를 신뢰할 수 없다는 것을 반증하는 게 아닌가.
각종 코덱 사이트들에서 코덱별로 인코딩한 파일을 가지고 블라인드 테스트를 한 결과를 봐도
프라운호퍼의 인코더는 최근 lame 인코더에 비해 인코딩 품질이 상당히 떨어진다.

사실, 디코더는 인코더와는 달리 무엇을 쓰던 별로 차이가 나지 않지만
그래도 가능하면 더 좋은 품질로 디코딩을 해주는 걸 사용해서 더 좋은 음질로 듣고 싶은 게
또 사람의 욕심이 아닐까 한다.

그 욕심 때문에 많은 사람들이 Foobar(이하 푸바)라는 프로그램을 사용하고 있다.
이 푸바는 메모리 사용량도 적을 뿐더러, 빠른 실행과 편리한 컨트롤, 단순한 인터페이스
다양한 UI 플러그 인과 컴포넌트, 그리고 조금 어렵긴 하지만 타이틀 포맷까지
사용자가 마음대로 지정 할 수 있다.

하지만 푸바를 사용하는 가장 큰 이유는 바로 현재 나온 미디어 플레이어 중에
가장 뛰어난 음질을 가진 플레이어 중의 하나이기 때문이 아닐까 생각한다.
그 이유가 푸바는 MP3 디코더를 프라운호퍼, lame이 아닌 또 다른 디코더를 사용하는데
바로 뛰어난 디코딩 능력 가진 mpg123 디코더를 기반으로 튜닝을 거친 독특한(?) 디코더를 사용하기 때문이다.

이 디코더를 윈앰프에 적용시켜서 윈앰프의 MP3 음질을 업그레이드 시켜보자
※ 주의 : 이 이코더는 MP3디코더이므로 MP3이외에 다른 파일 포맷에는 해당되지 않습니다.
(APE에도 적용할 수 있다고 하는데 확실하지는 않아서 소개하지 않는다. -_-;;)


일단 위의 파일을 받아서 압축을 푼다.
압축을 해제하면 bin폴더 안에 두개의 폴더가 생성되는데 하나는 일반 CPU용
또 다른 하나는 SSE2 명령어를 지원하는 CPU용이다.
자신의 CPU가 SSE2 명령어 셋을 지원한다면 SSE2용을 설치하는 것을 권장한다.
Winamp 버전 5.3 이상에서만 적용되는 플러그인입니다.

디코더 파일 in_!mpg123.dll을 윈앰프 플러그인 폴더인 C:\program files\winamp\plugins 폴더에 복사해준 뒤
윈앰프를 실행한다.

윈앰프를 실행하고 단축키 Ctrl + P 또는 옵션 - 세부설정 창을 열어주고
플러그인 - 입력(영문 버전의 Plugins - Input) 항목을 선택하고 mpg123 디코더가 설치되어 있는지 확인한 뒤
맨 위 항목인 Nullsoft MPEG Audio Decoder 4.02 [In_mp3.dll] 을 더블클릭 또는 구성 버튼을 클릭한다.

윈앰프 기본 인코더인 in_mp3.dll의 설정창에서 Extension 리스트를 클릭하고 "MP3;MP2;MP1;"만 삭제
아래와 같이 수정을 한다.

기본 디코더에서 MP3에 관련된 확장자를 제외하여 mpg123 디코더를 통해서 MP3 파일을 디코딩 하기 위해서다.
확인을 눌러 창을 닫고 MP3 파일을 플레이하면 새로운 디코더를 통한 MP3의 재생이 된다.

윈앰프 방송을 즐겨듣지 않아서 깜빡 빼먹었는데,
기본 설정값으로 사용하면 Winamp 방송을 들을 수가 없다. 하지만 다음과 같이 세팅을 해주면 된다.
플러그인 - 입력 항목에서 in_!mpg123.dll 을 더블클릭 한 후 나타나는 설정창에서
Streaming 탭을 클릭하여 상단의 Enable 앞에 체크를 해주고 확인을 눌러주면
스트리밍 방송을 청취 할 수 있다. (안 된다고 글 남겨주신 리나님에게 감사를 전한다.)

또한 mpg123 디코더는 24bit, 32bit, 32bit float, 64bit float까지 지원을 한다.
시스템이 허락하는 한 최대의 해상도로 디코딩이 가능하므로 프라운호퍼에 비해 해상도에서 한 수 위이다.
(하지만 일반적인 시스템에서 32bit float 이상은 지원을 하지 않으므로 주의하기 바랍니다. -_-;;)

mpg123 디코더를 통해 더 나은 음질로 재생되는 MP3에 VST 플러그인의 다양한 느낌의 효과를 더하면
( VST관련 참고 글 : http://skygum.tistory.com/59 )
조금 더 귀가 즐거운 음악 청취를 할 수 있지 않을까 생각해본다.

> 주의사항
Winamp의 output 플러그인이 32bit float과 64bit float의 처리를 할 수 없으므로
해당 항목으로 설정 시 MP3 파일은 출력되지 않을 수 있습니다.
또한 각종 DSP 이펙터나 EQ또한 적용되지 않으니 DSP와 EQ를 적용하여
음악을 청취하고 싶다면 16bit(int)로 설정을 하시기 바랍니다. ^-^


P.S 본문에도 한 번 언급했으나 다시 강조하여 언급해야겠다.
분명 '디코더 별로 차이가 없다'라고 했다. 그런데 '왜 음질을 업그레이드 하자'라고 했냐고?

MP3의 음질을 결정하는 것은 분명 디코더이기 보단 인코더가 99%를 차지한다고 해도 과언이 아니다.
(또한 본문에 언급했다. -_- 빨갛게 다시 강조)
하지만 MP3의 음질을 디코더에서 결정하는 1%는 바로 디코더의 버그이다.

물론 윈앰프의 프라운호퍼 기반의 디코더에 버그가 있다는 증거는 댈 수 없으나
더 자주 버전 업이 되고 또 버그가 개선되는 코덱을 적용함으로써 최소한의 음질 손실을 없애고자 하는 것이다.
(프라운호퍼 코덱은 아주 오~~~~랜 시간 업데이트가 되지 않고 있다. )

또한 바로 위의 이미지에서 보듯 32bit, 64bit 의 디코딩 해상력을 통해 +α를 기대하는 것이지
'무조건 이 코덱이 더 좋다'는 의미는 아니다. -_-

MP3 기술문서를 뒤져보라고 하신 분도 있으신데..
제발 우선 글 좀 똑바로 읽어주길 바란다. -_-;;;

P.S 2 디코더별 품질 차이가 있을 수 있음에 대한 자료
http://wiki.hydrogenaudio.org/index.php?title=Best_MP3_Decoder
http://mp3decoders.mp3-tech.org/contents.html
http://www.underbit.com/resources/mpeg/audio/compliance/

디코더별로 음질 차이가 '전혀 없다'고 하신 '자칭' 전문가이신 분.
쪽팔리시겠습니다. -_- 흐~
반응형