가버변환 소스코드

Posted by 적분 ∫2tdt=t²+c
2016.07.26 00:15 프로그래밍

어떤 분께서 가버 변환 관련 소스 코드를 요청하셔서 예전에 짜다가 내팽겨쳤던 코드를 공개합니다. 변환까지는 재미나게 개발하다가, 주파수 대역에서 특징추출하고 인식하는 부분이 엄청나게 어렵다는 것을 깨닫고 관두었던게 떠오르네요. 아무튼 흥미로운 분야입니다.


아래 소스코드는 음성 파일을 하나 읽어서 차례대로 가버 변환을 실시합니다. 이에는 다음과 같은 라이브러리들이 사용됩니다.


  • libfft3w : 푸리에 변환을 수행해주는 라이브러리. c/c++ 계열에서는 푸리에 변환 관련해서 이 라이브러리를 능가하는게 없죠. 외부 라이브러리를 사용할수 있는 환경이라면 강추하는 녀석입니다.
  • libsndfile : 다양한 음성 파일을 읽어오는 라이브러리. 음성 파일을 읽을 필요가 없다면 이 라이브러리를 안 쓰셔도 됩니다.

가버 변환이라는 것이 푸리에 변환에 앞서 Window함수를 곱하는 것이므로, 푸리에변환 라이브러리를 사용하여 쉽게 수행할 수 있습니다. 만약 곱하는 window함수를 바꿀 경우 다른 변환도 쉽게 수행이 가능하구요.



어려울것 없는 단순한 코드입니다. 음성 처리 공부를 하시는 분들에게 도움이 되길 바랍니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
이 댓글을 비밀 댓글로

티스토리 툴바