JUCE framework란?
배경 지식
DAW
요즘의 음악가들은 음악을 만들때 DAW(Digital Audio Workspace)를 거의 필수적으로 사용합니다. 사진 보정같은 작업을 할 때는 포토샵과 같은 이미지 편집 툴을 사용하듯이 음악 작업은 음악 편집 툴인 DAW를 사용하는 것이죠. 이러한 DAW에는 Logic, Cubase, StudioOne, Ableton Live 등등 여러 소프트웨어가 존재합니다.
Plug-in
DAW는 음악 편집 툴이지만 음악가들은 DAW 소프트웨어 하나만을 사용하여 곡을 만들지 않습니다. 비유를 하자면 DAW는 음악 작업을 위한 기본적인 시설을 갖춘 음악 녹음실과 같습니다. 그러나 좀 더 완성도 있는 곡을 만들기 위해서는 이에 필요한 더 좋은 피아노, 기타와 같은 악기를 별도로 구성해야 하죠. 이와 마찬가지로 DAW 역시 악기 소프트웨어나 여러 효과를 줄 수 있는 이펙터 등의 소프트웨어를 불러와 추가로 사용할 수 있습니다. 이렇게 DAW에서 불러와 사용할 수 있는 소프트웨어 툴 들을 플러그인(Plug-in) 이라고 합니다.
그런데 이러한 Plug-in들을 만드는 회사는 한 두개가 아닙니다. 다양한 회사에서 만들어진 Plug-in들을 다양한 DAW에서 구동시키려면 서로 간의 약속(=표준)이 필요하겠죠. 이러한 표준들에는 VST, AU 등이 있습니다. 표준들에 대해서는 지금은 깊게 생각하지 말고 그냥 여러 표준들이 있구나.. 하고 넘어가시면 될 것 같습니다.
Framework
Framework라는 말을 처음 들어보신 분도 있으리라 생각하고 설명하겠습니다. 비유를 해보겠습니다. 만약에 누군가 여러분에게 붕어빵을 구우라고 하면 직접 반죽해서 만들수도 있을것입니다. 그렇지만 붕어빵 틀이 있다면 더욱 쉽게 만들수 있겠죠? 거기다 붕어빵 틀만 있다면 안에 내용물만 바꿔서 팥 붕어빵, 슈크림 붕어빵, 아이스크림 붕어빵 등을 쉽게 만들 수 있을 것입니다. 소프트웨어도 마찬가지입니다. 비슷한 목적의 프로그램을 만들 때 누군가가 미리 만들어놓은 형식이나 틀이 있나면 훨씬 편하게 만들 수 있겠죠. 이러한 틀의 역할을 하는 것이 프레임워크 입니다.
JUCE
그렇다면 JUCE는 무엇일까요? JUCE는 DAW에서 사용되는 플러그인들을 만들기 위한 프레임워크입니다. Wiki를 참고해 설명드리겠습니다. JUCE는 Tracktion(지금은 Waveform)이라는 DAW의 그래픽 및 오디오 기능을 만들기 위한 소프트웨어에서 분리되어 나왔습니다. 2004년에 공개되었고, GPLv3/commercial license가 적용됩니다. GPLv3 라이센스로 사용 가능하나, 그러고 싶지 않다면 돈내고 사용하면 된다는 뜻입니다. JUCE의 라이센스 관련 사항은 여기에서 확인 가능합니다. 크로스플랫폼이기 때문에 똑같은 코드를 가지고 맥, 리눅스, 윈도우 용 프로그램을 빌드할 수 있습니다.
Leave a comment