fluidcanvas_r2pi:fluid_ardule_development_roadmap
Table of Contents
Fluid Ardule 개발 로드맵 (UI 및 기능 설계)
🎯 목표 정의
1차 목표 (v1.0)
- 전원 ON → 즉시 연주 가능
- SoundFont / Tone / Drum Mode 제어
- 기본 preset 저장/불러오기
2차 목표 (v1.1)
- 외부 MIDI 모듈 라우팅
- 시스템 상태 및 정보 강화
3차 목표 (v2.0)
- Layer / Split
- MIDI 파일 재생
- 확장형 워크스테이션 기능
🧭 추천 개발 순서
0단계. 기반 안정화
- Pi↔UNO handshake 안정화
- DAC 자동 인식 안정화
- FluidSynth 자동 실행
- MIDI 자동 연결
- shutdown 시 UNO 표시
- heartbeat / link-loss 감지
1단계. 홈 UI + 기본 조작
- 1602 LCD 홈 화면 A/B
- LEFT/RIGHT로 화면 전환
- SELECT 클릭 → 메뉴 진입
- SELECT 롱프레스 → Panic
- LED (SYSTEM / MIDI / ALERT)
2단계. 메뉴 프레임 구축
- Volume / SoundFont / Tone / System / Power
- 인코더 기반 탐색
- Yes/No 확인 UI
3단계. SoundFont 변경
- SF 목록 표시
- 선택 및 로딩
- 성공/실패 표시
4단계. Tone 제어
- Program Change
- Bank MSB / LSB
- Chorus / Reverb / Pan
5단계. Drum Mode (채널 재할당 최소형)
- Normal: CH1 → CH1
- Drum: CH1 → CH10
- UI에서 선택
6단계. Output 선택
- Internal (FluidSynth)
- External MIDI OUT
- (VA는 이후 단계)
7단계. Preset 구조 설계
Preset 포함 요소:
- SoundFont / Engine
- Program / Bank
- CC 값
- Play Mode
- Output Target
8단계. Preset 저장/불러오기
- 번호 기반 저장
- Load 기능
- (이름은 이후 확장)
9단계. System / MIDI Info
- MIDI 장치 확인
- DAC 상태
- FS 상태
- Rescan 기능
10단계. MIDI 파일 재생
- 파일 선택
- Play / Stop
- Player 모드 분리
11단계. 채널 라우팅 확장
- Input Channel 설정
- Output Channel 설정
- 메시지 재할당
12단계. Layer / Split
- 채널 복제
- 키 범위 분리
- 파트별 설정
- preset 저장
📊 우선순위 정리
🔴 필수 (v1.0)
- 기반 안정화
- 홈 UI
- 메뉴 구조
- SoundFont
- Tone 제어
- Drum Mode
- Output 선택
- Preset 저장/불러오기
🟡 확장 (v1.1)
- System / MIDI Info
- MIDI 파일 재생
- 채널 라우팅 확장
🔵 고급 (v2.0)
- Layer / Split
🎯 설계 핵심 원칙
- UNO = UI 프론트엔드
- Pi = 기능 백엔드
- UI는 단순, 기능은 Pi에서 처리
- preset 중심 구조로 확장성 확보
🔥 한 줄 결론
기반 안정화 → UI → SoundFont → Tone → Drum → Output → Preset → 확장 기능 순으로 개발하면 가장 빠르게 “악기다운 결과”를 얻을 수 있다.
fluidcanvas_r2pi/fluid_ardule_development_roadmap.txt · Last modified: by hyjeong
