|
안녕하세요... Moony입니다...
일단 님께서 구하시는게 wav->mp3 로 변환하는 라이브러리 내지는 컴포넌트인듯 싶은데
아마도 공개된 것은 찾기가 매우 힘들꺼구요... 상용으로 내놓은것은 찾아보면 있을 건데
어디 있는지는 저도 몰라요...(^^;)
물론 제가 도움을 되겠다 싶어서 답글을 올리는 것은 아니고 이곳에서 대답이 없다해서
아는 데도 가르쳐 주지 않는게 아니라는 것을 알려드릴려고 그런것입니다...
그리고 직접 구현 하신다면 여러 종류의 압축 알고리즘과 DCT(Descrete Cosine Transform)나
FFT(Fast Fourier Transform)에 대해 많은 공부를 하셔야 합니다...
mp3라는 것은 웨이브 포맷으로 저장된 데이터를 사람이 느끼기 힘든 주파수 대역을 없애고
그 데이터를 압축한 포맷을 말하는데 그 과정을 간단하게 말씀드리면 다음과 같습니다...
1. 웨이브 포맷의 데이터를 DCT 또는 FFT 변환을 통해 주파수 영역의 데이터를 얻어낸다...
즉, 웨이브 데이터를 DCT 또는 FFT 를 통해 시간축상의 주파수크기로 데이터를 변환하는 거죠...
2. 이렇게 주파수로 변환된 데이터를 바로 우리가 흔히 얘기하는 가청 주파수 또는 일반인이
듣기 힘든 영역(보통 mp3는 15,000Hz ~ 16,000Hz )이상의 데이터를 모두 날려버린다...
즉, 우리가 듣기에는 음질상의 변화가 거의 없지만 실제 데이터는 매우 작아지는 형태가 되는거죠...
왜냐하면 보통 음악을 위한 웨이브 포맷은 20,000Hz 이상의 데이터를 매우 많이 가지고 있습니다...
3. 일정영역의 주파수 대역을 날린 데이터를 Huffman Encoding(기타 여러가지 알고리즘이 추가되기도 함)
등을 사용하여 압축된 데이터를 mp3 포맷에 맞게 작성한다...
반드시 이렇다는 것은 아니지만 대충 이런 과정으로 wav->mp3 의 변환을 하게 되구요...
디코딩 과정은 위 순서와 반대이지만 틀려지는 것은 원본 wav 보다는 사이즈가 꽤 작은 wav로
디코딩되어 플레이가 되는 것이죠...
물론 일반인이 듣기 힘든 주파수 영역을 제거 했으니까 음질 차이는 거의 없게 말입니다...
위에서 말한 DCT 또는 FFT 는 음성쪽 뿐만 아니라 영상 처리등 패턴 인식에 아주 널리 쓰이는 알고리즘인데
DCT를 산술적인 계산에 용이하도록 데이터를 샘플링하여 사용하게끔 FT(Fourier Transform)로 다시
속도 향상을 위해 FFT(Fast Fourier Transform)로 개선한 것입니다...
그럼 별 도움 안되셨겠지만 참고 하시길......
|