아침에 Juice, 오디오 개발에 Juce! 🍊
오디오 어플리케이션 개발을 도와주는 Juce Framework
(2021-10-08)
안녕하세요, 가우디오랩 Application 팀의 Software Engineer, Alan 입니다.
저는 올해 초부터 {So Hot! Spatial Audio 맛보기 한 스푼 🥄}에서 소개드렸던 Spatial Audio 컨텐츠 제작 툴을 만드는 프로젝트에 참여하고 있습니다. 제가 속한 Application 팀은 이 프로젝트를 기점으로 가우디오랩의 핵심 기술들을 실 사용자에게 서비스할 수 있는 제품 개발에 초점을 맞추어 움직이고 있습니다.
사용자에게 소프트웨어가 전달되는 과정에는 다양한 기술들이 사용되게 마련인데요. 오늘은 그 중에서도 Audio에 특화된 기능들을 빠르게 구현할 수 있도록 도와주는 Juce Framework를 소개하고, 가우디오랩에서는 이 프로그램을 어떻게 활용하고 있는지 소개해 드리려고 합니다. Juce의 세부적인 이야기는 다른 이슈들과 함께 다음 기회에 빌어 다뤄보려고 해요.

Juce? 처음 들어보신다구요?

<Roli사의 seaboard 모습>
Audio 관련 기능의 집합체, Juce

<청자에게 심각한 노이즈로 인식되는 Glitch issue>
요즘처럼 Managed 언어와 모던 프레임워크들로 서비스를 빠르게 개발할 수 있게 도와주는 세상에…
이게 웬 맷돌 돌아가는 소리 일까요?
다행히도 C++도 C++11을 기점으로 언어 차원에서의 도약을 하고 있고 동시에 Juce도 이러한 언어의 도약을 병렬적으로 지원하고 있어 현재 C++17 컴파일러까지 사용 가능합니다. 뿐만아니라, Web이나 Mobile 세계의 매우 발전된 Front-End 프레임워크를 같이 사용할 수 있는 프로젝트들을 진행하는 Audio Application 개발자들의 고민을 커뮤니티에서 많이 접해볼 수 있기도 합니다.

<멧돌 돌아갑니다~~ 끼익 타닥 타닥 타닥…>
다양한 Audio 플러그인을 손 쉽게

<가시밭 길 같아 보이지만 이게 바로 DAW입니다>

<Juce로 만들 수 있는 여러 플러그인. 얘네도 다 짝꿍이 있다>
최근 Application팀은 BTRS 프로젝트에서 플러그인 포맷에서 제한되는 사용자 경험을 확대하기 위해, 이를 Standalone Audio App 형태로 확장하는 작업을 했습니다. Juce가 제공해주는 여러 이점들을 활용해 App 형태를 새롭게 포팅하고 신규 기능을 가진 MVP를 약 3개월 정도의 기간 내에 만들어낼 수 있었어요. 지금은 기능 고도화를 위해 설계를 가다듬고 신규 기술 접목을 위한 리서치 기간을 가지고 있습니다.

<더 나은 소리경험을 위해 앞다퉈 한마디씩 하는 PM, 개발자, 디자이너, 사운드 엔지니어…
그리고 그걸 지켜보는 나,, 그건 아마도 전쟁일거야…🎤>
사실 Juce가 일반 개발자 분들에게 익숙하지는 않을겁니다. 개발 지원 도구가 비교적 빈약한 것도 사실이에요.
때문에 가우디오랩에서는 Juce의 가장 큰 장점인 Audio 기능만 취하고, UI 영역은 Juce가 아닌 더욱 훌륭한 프레임워크로 변경하려는 계획을 가지고 있답니다. 더 많은 사람들이 더 훌륭한 소리경험을 할 수 있도록, 최신의 Front-End 기술을 접목하여 개발할 수 있는 방향으로 고민하며 실험해 보고 있답니다! (으쌰💪🏼)

<보다 풍부한 사용자 경험 개발을 위한 UI 프레임워크 리서치>
Spatial Audio Application, 같이 만들어요!