Fluid Ardule 프로젝트 개요
Fluid Ardule은 2026년에 새롭게 시작한 DIY 프로젝트이다. 이 기기는 라즈베리파이 3B(소프트웨어 신시사이저 FluidSynth 설치)와 아두이노 우노를 결합한 음원 모듈에 해당한다. 아두이노 우노는 LCD와 버튼을 통해 상태 디스플레이 및 조작을 겸한다.
USB 기반 통신과 초기 구동
두 기기 사이에서 USB 포트를 통한 직렬 통신을 하면서 서로 정보를 주고받도록 하는 것이 첫 번째 목표였다. 기가비트, 스타링크 인터넷 시대에 9600~115200 bps의 직렬 통신이라니! 봉화대나 모르스 부호를 이용한 통신을 연상시킨다. 굳이 따지자면 봉화대도 광통신이다?
오디오 출력을 책임지는 USB 오디오 인터페이스와 USB MIDI 건반을 라즈베리파이에 연결과 동시에 정확히 인식하고, 준비가 갖추어졌을 때 다음 단계로 넘어가게 하는 코드를 짜느라 하루를 소비하였다. 라즈베리파이에서는 파이썬, 아두이노 우노에서는 C++을 사용한다.
USB 건반과 오디오 인터페이스가 연결된 상태에서 전원을 넣은 뒤 건반을 누르면 소리가 난다. 현재는 피아노 사운드인 Salamander C5 Light 사운드폰트(.sf2)를 기본으로 로드하도록 설정하였다.
아직은 테스트 단계이기 때문에 라즈베리파이에 SSH로 접속한 뒤 파이썬 스크립트를 실행하여 기동한다. 라즈베리파이가 시리얼 포트를 열라는 신호를 보내면, 먼저 전원이 들어와 있던 아두이노 우노에서는 리셋이 이루어진다. 최초 전원 투입에 따른 부팅인지, 또는 라즈베리파이의 요청에 의한 리셋인지를 구별하여 LCD에 적절한 메시지가 표시되도록 만드는 것이 향후 과제이다.
또한 라즈베리파이의 GPIO 단자에 USB-to-UART 케이블을 연결하여 PC에서 접속하면 네트워크 관련 서비스를 비활성화하여 시스템을 더욱 경량화할 수 있다.
아두이노 입력 구조와 설계 인사이트
아두이노 우노에는 1602 LCD 모듈과 키패드가 일체화된 실드(DFR0009 유사품)가 장착되어 있다. 5개의 버튼 스위치를 아날로그 핀 하나(A0)로 제어할 수 있다는 점은 매우 인상적이었다. 기존에는 각각 디지털 핀이 필요하다고 생각했기 때문이다.
물론 이 방식은 동시에 두 버튼을 누르는 입력을 처리할 수 없다는 한계가 있지만, 모드 전환과 같은 단순한 인터페이스에는 매우 적합하다. 이를 미리 알았더라면 이전에 제작한 Nano Ardule MIDI controller 설계 과정에서 훨씬 간결한 회로 구성이 가능했을 것이다. 현재 해당 회로는 KiCad에서 PCB 설계를 절반 정도 진행한 상태이다.
키패드 외에는 A2 핀에 가변저항을 연결하여 볼륨(MIDI CC #7)을 조절할 수 있도록 구성하였다. 향후에는 로터리 인코더와 여러 개의 LED를 추가할 계획이다.
향후 개발 계획
- 디버깅 로그 기록 기능
- 다양한 사운드폰트 로드 (예: FluidR3_GM.sf2)
- 코러스 및 리버브 제어
- USB MIDI 인터페이스 자동 인식
- MIDI 라우팅 기능
- TFT LCD 상태 표시
하드웨어 확장 및 운용 계획
보유 중인 Roland SoundCanvas SC-D70과 Mackie Onyx Producer 2-2는 리눅스에서 별도의 드라이버 없이 동작하는 class-compliant 장치이며 MIDI 인터페이스 기능도 제공한다. 이 장치를 활용하여 FluidSynth 출력과 함께 DIN MIDI 입출력까지 확장 가능한지 확인할 것이다.
현재는 라즈베리파이에서 파이썬 스크립트를 수동 실행하는 방식이지만, 시스템이 안정화되면 systemd 서비스로 등록하여 부팅 시 자동 실행되도록 구성할 예정이다.
댓글 없음:
댓글 쓰기