VST/AU/AAX/RTAS 플러긴 만드는 방법에 관해 정리..

들어가며

아무런 생각 없이 적은 글인데 문의하는 이가 있어서 다시 적어본다. 우리가 아는 포토샵이 그냥 단순한 사진 편집용 툴이 아니듯, 최근의 음악편집/제작 소프트웨어들은 단순히 오디오 신호 편집용 툴이 아닌 엄청나게 다양한 기능을 제공하기에 DAW(Digital Audio Workstation)이라고 불리운다. 예전 같으면 외장 하드웨어를 구입해야 할 수 있었던 일들을 모두 소프트웨어로 지원하는데, 그것들은 대부분 플러긴의 형태로 제공된다. 무슨 말이냐면 외장으로 가지고 있었어야 하는 음향신호처리 장치를 하나의 독립된 소프트웨어로 가지고 있고 그것을 DAW에서 불러서 끼워 (plug-in) 사용할 수 있다는 말이다. 따라서, 일반적인 신호처리 이론을 이해하고 그것을 S/W로 만들 능력이 되면 자신이 원하는 음향효과를 만들어서 다양한 방법으로 사용할 수 있다. 그것들을 우리는 흔히 VST (Virtual Studio Technology) 또는 AU (Audio Unit), 또는 AAX(Avid Audio Extensions), 또는 RTAS (Real Time Audio Suites) 플러그인 이름으로 부른다. 이것들은 DAW 제작사가 플러그인 소프트웨어와 소통하는 방법을 미리 만들어두고 외부 개발자들이 이 방법에 맞춰 소프트웨어를 제작하도록 한 것이다. 국내에서는 이 분야에 관심이 있는 사람들이 의외로 적은 것인지 아니면 만들어봐야 돈이 안되기 때문인 것인지 관심있는 이들도 보기 드물고, 또 본인들의 영업 비밀인지 내용을 공개하는 사람들이 극히 드문 것 같다. 아니면 모두 다 잘 알고 있을 거라고 생각해서 그런 것인지도 모를 일이고.. 세상에는 많은 DAW가 있고 사람들이 많이 사용하는 OS도 Windows/MacOS로 양분되기 때문에, 다양한 환경에서 동작하는 플러그인을 만드려면 VST/AU/AAX를 각각 2개의 OS에 대해 만들어주어야 하는 문제가 생긴다. 여기에 DAW 버전에 따라 지원하고 안하고 하는 것들이 있기 때문에 VST도 VST2/VST3로 만들어줘야 하기도 하고, AU의 경우도 32/64 bit 버전을 하나의 바이너리 (universal binary)로 제작해야 한다. 또 OS의 버전에 따라 호환성의 문제가 있기 때문에 널리 쓰이게 만들어주려면 가장 오래된 OS의 SDK를 사용해야 한다. 약간 자세히 살펴보자면,

AU (Audio Unit)

애플의 Logic Pro (X), Garageband 에서 사용할 수 있는 플러그인이다. 애플이 개발용 SDK를 지급한다. Xcode가 있으면 곧바로 개발이 가능하다. Test용 툴 (AU Lab)도 쉽게 다운 받아서 사용이 가능하다. 사실상 모든 DAW 플러긴들 중에 가장 쉽게 개발할 수 있다. 더구나 오직 MacOS에서만 동작하므로 윈도우즈용으로 빌드할 필요가 없다.

VST (Virtual Studio Technology)

Steinberg의 Cubase/Nuendo에서 사용할 수 있다. Steinberg를 인수한 Yamaha의 개발자 사이트에 들어가서 개발자 등록을 해야만 SDK를 받을 수 있다. MacOS/Windows용으로 별도 빌드를 해야 한다. Windows VST는 사용자층이 어마어마하게 두텁기 때문에 다수의 사용자층을 확보하려면 반드시 이쪽으로 개발하는 것이 좋을 것이다.

AAX/RTAS

Avid Pro tools용 (Avid의 Sibelius도 지원한다) 플러그인이다. Avid의 개발자 등록을 해야 개발킷을 받을 수가 있다. 그런데 개발자 등록이 여러 가지로 까다롭다. Pro tools는 정품 사용자의 비율이 대단히 높기 때문에 플러그인을 만들어 돈을 벌 의지가 확실하다면, 개발자 등록이 귀찮더라도 이쪽으로 개발하는 것이 유리할 것으로 본다.

이걸 단일 개발자가, 그것도 취미로 만드는 이가 모두 커버하려면 너무 불편하기에 WDL-OL 혹은 JUCE라는 통합 개발 플랫폼을 사용하여 개발하게 된다. 이것들을 사용하면 VST/AU/AAX를 한꺼번에 빌드할 수 있고 같은 소스코드로 윈도우즈와 MacOS 모두에서 빌드할 수도 있다. 각각을 나눠서 살펴보면

WDL-OL

공짜이고 대부분의 취미 개발자들이 이 플랫폼을 쓴다. 개발과정도 간단하고, 처음에 적응하는 시간이 약간 필요하지만 금방적응된다. 그러나, 고급기능들을 구현하려면 나름 애를 먹을 수 밖에 없다. 이럴 땐 WDL-OL 포럼을 이용해서 도움을 얻는 방법이 있다만 생각보다 개발자가 많지 않은지 저변이 넓지 못한 것인지 정보 수집이 그다지 쉽진 않다.

JUCE

본인이 플러그인을 상용으로 제작하는 경우에는 돈을 주고 구입해야 되고, 그렇지 않으면 자신이 개발한 것을 무상으로 공개해야하는 조건이 붙는 플러그인이다. 진입 장벽이 조금 높은 대신에 어느 정도 단계에 이르면 고급기능을 개발하기가 편해진다. 다양한 예제가 제공이 되기 때문이다.

정리하면..

개인적인 취미로 빠른 시간 내에 플러그인을 만들고 싶다면 WDL-OL + AU 조합을 사용하는 것을 권하고 싶다. 결과물이 좋아서 판매하고 싶다면 반드시 VST/AAX로 공략해야 할 것이다. 그러나, 돈을 받는 수준의 플러긴을 만드려면 그래픽을 잘 하는 사람과 같이 일해야 할 것이기도 하고, 고급기능들을 잘 지원하는 JUCE를 사용해야 할지도 아울러 고민하게 될 것이다.