수 개월 동안의 개발을 거쳐 이제 겨우 DIY synth module로서 안정적인 작동을 하게 된 Fluid Ardule에 자꾸 새로운 기능을 욱여넣는 것이 과연 올바른 일인지 고민을 하고 있다. Fluid Ardule은 리눅스 기반의 운영체계로 돌아가는 매우 작은 컴퓨터이다. 따라서 오디오를 다루는 범용 기기로서 원하기만 한다면 새로운 기능을 추가해도 충분히 감당할 수 있다. 다만 건반을 연결하여 선택한 악기 음색으로 연주한다는 기본 기능에 지장을 주어서는 곤란하다.
재미와 활용성을 모두 높이기 위해서 처음부터 추구했던 것은 음원 파일과 인터넷 라디오 재생이었다. 여기까지는 큰 문제가 없었다. 그러나 자연스럽게도 다음 단계의 욕심이 발동하였으니 그것은 바로 블루투스 오디오 기능이다. 신뢰할 수 있는 기기를 미리 등록해 놓은 뒤, 필요한 때에 UI를 조작해서 블루투스 페어링을 하여 휴대폰에서 송신하는 음악을 재생하는 것.
부팅 과정에 걸리는 시간을 최소화하기 위해 블루투스 관련 기능은 전부 막은 상태였다. SSH로 접속하여 이를 해제한 다음, 단계별로 테스트를 진행하였다. 음악이 흘러나오게 만드는 데에는 많은 시간이 걸리지는 않았다. 실험 기록은 별도의 문서 Experimental Documents - Bluetooth Audio Activation and Pairing (Raspberry Pi OS Trixie)에 기록해 두었다.
블루투스로 음원을 들으면서 건반을 연주하겠다는 욕심을 가져서는 안 된다. 그것은 Pi의 내장 마이크로SD카드나 USB 드라이브에 수록된 음원 파일을 재생할 때와도 같은 제약 조건이라고 받아들이는 것이 낫다. 물론 기술적으로는 가능하다. 하지만 그 순간부터 JACK, PulseAudio, PipeWire가 하나둘 등장하기 시작한다. 그 길은 기능이 늘어나는 길이기도 하지만, 동시에 유지보수가 급격히 어려워지는 길이기도 한다. 적어도 지금의 Fluid Ardule에서는 그 문을 열 생각은 없다. 나에게는 그곳이 '지옥으로 들어가는 입구'처럼 보이기 때문이다.
최근 Fluid Ardule UI에서 console로 진입하는 방법을 구현해 놓은 일이 있다. 블루투스 기기의 최초 등록은 SSH나 console을 통해서 진행하고, UI에서는 이미 등록된 기기를 연결하거나 해제하는 방식으로 운영하면 매우 간단할 것이다. 블루투스 오디오 재생 중에는 다른 기능으로 건너뛰는 것을 제한할 것이다. 그것은 Combi의 운영 방식과 유사하다.
아직 운영 스크립트에 이 기능을 넣을지 여부는 결정하지 않았다. 어쩌면 한동안은 Experimental 문서로만 남아 있을지도 모른다. 하지만 이번 실험을 통해 적어도 '할 수 있는 일'과 '하지 않기로 한 일'의 경계는 한층 분명해졌다. 프로젝트가 커질수록 새로운 기능을 추가하는 일보다, 그 유혹을 적절한 선에서 멈추는 일이 더 어려워진다. Fluid Ardule도 이제는 그런 고민을 해야 하는 단계에 이른 것 같다. 그 유혹에 넘어갈 때, Fluid Ardule은 컴퓨터 옆에 놓고 언제든지 즐길 수 있는 Desktop Music Workstation에 가까워지는 것은 사실이다. 이러다가 녹음 기능까지 넣고 싶어지면 절대로 안된다! 끝을 모르는 지옥의 입구로 진입하는 일은 없어야 하니까 말이다.
2026년 7월 19일 업데이트
이미 나흘 전, 그러니까 이른 여름 휴가를 떠나기 직전에 운영 스크립트에 블루투스 오디오 재생 기능을 넣었다. GitHub에도 스크립트를 올리고 관련 문서도 전부 수정하였다(commit 2e6b405, 스크립트 버전 260715f). Why not?


댓글 없음:
댓글 쓰기