====== Fluid Ardule ====== **Raspberry Pi와 FluidSynth 기반 DIY 랙 사운드 모듈(설계 중)** 더욱 줄이면 **Fluidule** {{:fluidcanvas_r2pi:fluid_ardule.png?400|}} {{:fluidcanvas_r2pi:fluid_ardule_2.png?400|}} ===== 1. 배경 ===== 현대의 소프트웨어 신시사이저와 SoundFont 엔진은 매우 강력해졌으며, 소형 컴퓨터에서도 충분히 구동될 수 있다. 특히 FluidSynth는 대형 SF2 라이브러리를 이용하여 고품질 MIDI 재생을 가능하게 한다. 그러나 대부분의 소프트웨어 음원은 다음과 같은 형태로 사용된다. * PC용 소프트웨어 * 헤드리스 서버 * USB MIDI 장치 반면 1990년대에는 독립형 MIDI 음원 모듈이 널리 사용되었다. 대표적인 예: * Roland Sound Canvas 시리즈 * E-mu Proteus 시리즈 * Roland JV-1080 * Korg 05R/W, NS5R, Trinity Rack * Yamaha TG/MU 시리즈 등 이 장비들은 공통적으로 다음과 같은 특징을 갖는다. * DIN MIDI 입출력 * 전면 패널 사용자 인터페이스 * 독립적인 음원 엔진 Fluid Ardule 프로젝트의 목표는 이러한 클래식한 MIDI 모듈의 사용 경험을 현대적인 소프트웨어 음원으로 재현하는 것이다. ===== 2. 프로젝트 목표 ===== Fluid Ardule은 다음과 같은 특징을 가진 독립형 MIDI 음원 모듈을 만드는 것을 목표로 한다. * 하드웨어 모듈(랙마운트?) * DIN MIDI 입출력 * 전면 패널 조작 인터페이스 * FluidSynth 기반 SoundFont 재생 * 가상 아날로그 신시사이저(VA) 확장 가능 * PC 없이 독립적으로 동작 개념적으로 장치는 다음과 같은 구조를 가진다. Fluid Ardule ┌─────────────────────────┐ │ Raspberry Pi Synth Core │ │ FluidSynth + VA Synth │ │ │ │ DIN MIDI IN/OUT/THRU │ │ Front Panel Controller │ │ LCD + Encoders + Buttons│ └─────────────────────────┘ 즉 외부 컴퓨터 없이 MIDI 케이블만 연결하면 동작하는 독립 음원 모듈이다. ===== 3. 시스템 아키텍처 ===== Fluid Ardule은 세 개의 주요 모듈로 구성된다. Front Panel Controller │ │ UART ▼ Raspberry Pi (Synth Engine) │ │ USB ▼ MIDI Interface Module ==== 3.1 음원 엔진 ==== 음원 엔진의 핵심 하드웨어는 다음과 같다. * Raspberry Pi 3 Model B 이 시스템은 다음 기능을 수행한다. * FluidSynth 기반 SoundFont 재생 * 가상 아날로그 신시사이저 * MIDI 라우팅 * 프리셋 / 패치 관리 * 오디오 출력 즉 1990년대 하드웨어 음원 모듈에서 DSP와 CPU가 수행하던 역할을 담당한다. ==== 3.2 전면 패널 컨트롤러 ==== 사용자 인터페이스는 별도의 마이크로컨트롤러가 담당한다. * Arduino Nano Nano는 다음 장치를 제어한다. * 전면 패널 버튼 * 로터리 엔코더 * LCD 디스플레이 (1602) * 상태 LED Nano는 Raspberry Pi와 UART 시리얼 통신을 사용하여 명령을 전달한다. 예: ENC1 +1 BTN PLAY BTN NEXT 이 구조는 많은 상용 신디사이저에서 사용되는 UI 컨트롤러 + 메인 엔진 구조와 동일하다. ==== 3.3 MIDI 인터페이스 ==== DIN MIDI 인터페이스는 별도의 모듈로 구현된다. * Arduino Pro Micro * MIDI shield 기반 회로 구성: * MIDI IN * MIDI OUT * MIDI THRU 이 모듈은 Raspberry Pi에 USB MIDI 장치로 연결된다. 이 방식을 선택한 이유는 다음과 같다. * Raspberry Pi에서 직접 DIN MIDI를 구현하면 회로가 복잡해짐 * UART 및 Linux 설정이 번거로움 * USB MIDI 장치 방식이 훨씬 단순하고 안정적 따라서 Pro Micro는 내장형 USB MIDI 인터페이스 역할을 수행한다. ===== 4. 전원 관리 ===== Fluid Ardule은 Linux 기반 장치이므로 안전한 종료(shutdown)가 중요하다. 단순히 전원을 차단하면 다음과 같은 문제가 발생할 수 있다. * 파일 시스템 손상 * SD 카드 오류 * 시스템 불안정 이를 해결하기 위해 소프트 전원 시스템을 사용한다. ==== 소프트 전원 시스템 ==== 푸시버튼 기반 래치 전원 스위치를 사용한다. 예: * Pololu Pushbutton Power Switch (LV) 동작 과정: 1 POWER 버튼 누름 2 전원 래치 활성화 3 Raspberry Pi 부팅 4 GPIO가 전원 유지 신호 출력 5 시스템 정상 동작 6 SHUTDOWN 버튼 누름 7 Linux 종료 수행 8 전원 유지 신호 해제 9 전원 자동 차단 장점: * Linux 시스템의 안전한 종료 * 랙 장비에 적합한 순간식 전원 버튼 * 전체 시스템의 통합 전원 관리 ===== 5. 기구 설계 ===== Fluid Ardule은 **19인치 1U 랙 케이스**에 장착되는 것을 목표로 한다. 전면 패널 개념: Fluid Ardule [ 1602 LCD ] ENC1 ENC2 PLAY STOP BACK NEXT MODE PWR MIDI PLAY 후면 패널: MIDI IN MIDI OUT MIDI THRU USB AUDIO L/R POWER 이 레이아웃은 1990년대 MIDI 음원 모듈의 사용자 경험을 의도적으로 재현한다. ===== 6. 프로젝트 철학 ===== Fluid Ardule은 단순한 MIDI 플레이어가 아니다. 이 프로젝트는 다음 요소를 결합한다. * 현대적인 소프트웨어 음원 * 클래식 MIDI 하드웨어 워크플로 * 모듈형 DIY 하드웨어 설계 결과적으로 Fluid Ardule은 다음과 같은 장치가 된다. **1990년대 랙 신디사이저의 정신을 계승한 현대적 소프트웨어 음원 모듈** {{:fluidcanvas_r2pi:fluidule_system_architecture_diagram_v1.png?400|}} {{ :fluidcanvas_r2pi:fluidule_midi_routing_design.docx|}}