====== 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|}}