잡담

오디오 프로그래밍에 대해서 – 3

첫 번째 만든 라이브러리가 C# 브릿지가 제대로 안 만들어지고 디버깅도 어려워서 두 번째로 만들기 시작했던 순수 C#으로 만들던 라이브러리는 COM 임포트 및 DLL 임포트가 제대로 동작하지 못하고 오작동하는데 디버깅은 더 어려워서 깔끔하게 포기했다.

세 번째로 만들고 있는 라이브러리는 C# 브릿지도 좀 더 쉽게 할 수 있게 외부 노출되는 API는 C 계열로 보이도록 만들고 있다. 구조체에 몇몇 기능들을 함수포인터를 이용하도록 어떤 데이터를 구성하면 C#쪽에서 상속을 이용해 구현할 때도 더 편할 수 있을테니 그 편이 낫지 않을까 싶기도 하고.

뭐 일단 기본적인 기능들은 구현했는데 필터와 관련해서 몇 가지 문제가 있다.

  1. 푸리에 변환을 위해 사용한 라이브러리인 FFTW 3가 GPL 라이센스를 이용해 배포하고 있기 때문에 이를 사용한 라이브러리를 재배포하면 이 라이브러리를 사용한 프로그램도 GPL 라이센스로 배포해야 함.
  2. 이퀄라이저를 구현했는데 어떤 값을 넣어도 약간 깨지는 소리가 미세하게 들리는데 값에 따라서 다른 차이점도 별로 느껴지지 않음.

그래서 지금 FFTW 3를 대체할 가볍고 쉬운 FFT 라이브러리를 찾고 있다. 이퀄라이저도 만만치 않은 문제이지만 더 쉬운 것부터 고치는게 낫지 않을까 싶어서. 거기에 추상화된 필터 오디오 스트림만 제공된다면 이퀄라이저는 사용자가 알아서 구현할 수도 있고.

일단 이 문제들이 해결되면 C# 브릿지를 만들어서 C#에서 테스트 해봐야지.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.