User Tools

Site Tools


nano_ardule_midi_controller:sound_browser

GS 사운드 브라우저 (Sound Browser)

Nano Ardule MIDI Controller에서 사운드 브라우저는 단순히 Program Change(PC) 명령으로 악기에 해당하는 번호를 직접 조정하여 전송하는 편집 모드(Edit mode)와는 다른 별도의 기능이다. 이 기능은 악기 음색을 이름과 분류 체계(Family → Program → Variation) 기반으로 탐색하여 선택할 수 있도록 설계되었다.

개념적 구분

  • 편집 모드의 PC(Program Change)
    • 특정 Part(A, B, Drums)에 대해 PC 번호(0–127)만 직접 수정
    • LCD에는 2번째 줄에 “악기명 프로그램번호” 형태로 표시
    • 값 중심의 로우레벨 조작
  • 사운드 브라우저
    • Family → Program → Variation 단계를 순서대로 탐색
    • 드럼 파트(CH10)의 경우 Bank Select(MSB=121, LSB=0) 자동 설정 후 탐색
    • LCD에는 악기 이름 중심으로 표시
    • 선택 시 Bank Select + Program Change 메시지를 전송
    • 직관적인 “악기 탐색기” 역할 수행

진입 방식

  • 조건: Part Select 상태(A, B 중 하나)에서만 진입 가능
  • 방법: 인코더 버튼 길게 누르기(>800ms)
    • Part가 선택되지 않은 상태에서는 진입 불가 (LCD에 “Select Part” 메시지 표시)

동작 흐름

  1. 진입
    • UI 상태: STATE_BROWSER
    • 선택된 Part의 LED를 점멸시켜 브라우저 모드 표시
    • LCD에 Family/Program/Variation 정보 표시
  2. 탐색
    • 인코더 회전 → 현재 커서 위치의 값 변경
    • 기본 커서는 Program
    • 인코더 버튼 짧게 누르기 → 커서 이동 (Family → Program → Variation 순환)
    • 변경 시 즉시 미리듣기(Preview): Bank Select + Program Change 메시지 전송
    • 전송 빈도는 programDelay(약 120–150ms)로 스로틀링
  3. 확정
    • 인코더 버튼 짧게 눌러 선택 확정
    • 현재 값 저장 후 Bank Select + Program Change 메시지 재전송
    • 상태를 STATE_DISPLAY로 복귀
  4. 취소
    • 인코더 버튼 길게 누르기, 또는 STOP/EXIT 버튼
    • 브라우저 진입 직전 값으로 복원
    • 상태를 STATE_DISPLAY로 복귀
  5. 자동 종료(선택사항)
    • 일정 시간(예: 10초) 입력이 없을 경우 자동으로 취소 후 STATE_DISPLAY로 복귀

LCD 표시 예시 (16x2)

  • Line 1: A: Piano >Brgt (현재 파트/대분류/세부)
  • Line 2: Fam 1/9 P 3/8 (Family, Program/Variation 인덱스)
  • Drums(CH10) 진입 시:
    • Line 1: D: StdKit >Room
    • Line 2: Kit 4/9

특징

  • 편집 모드와 차별화
    • PC 편집은 숫자 기반, 브라우저는 이름 기반 탐색
  • 실수 방지
    • Part 선택 없이는 브라우저 진입 불가
  • 사용성 강화
    • 인코더 조작만으로 직관적 탐색과 즉시 미리듣기 가능
  • Drums 전용 처리
    • CH10은 항상 GS Drum Bank(MSB=121, LSB=0)로 고정

설계 문서

위에서 다룬 내용과 다를 수 있음. sound_browser_design_v4_20250904.docx

nano_ardule_midi_controller/sound_browser.txt · Last modified: by hyjeong