User Tools

Site Tools


fluidcanvas_r2pi:fluid_ardule_development_roadmap

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)

  1. 기반 안정화
  2. 홈 UI
  3. 메뉴 구조
  4. SoundFont
  5. Tone 제어
  6. Drum Mode
  7. Output 선택
  8. Preset 저장/불러오기

🟡 확장 (v1.1)

  1. System / MIDI Info
  2. MIDI 파일 재생
  3. 채널 라우팅 확장

🔵 고급 (v2.0)

  1. 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