PC/ ├─ MID/ # 2마디 MIDI 세그먼트들 ├─ ADT/ # 변환된 ADT (백업/편집용) ├─ SD/ │ ├─ PATTERNS/ # 최종 ADP만 (장치가 읽을 폴더) │ ├─ SONGS/ # ARR/APT (곡 구성) │ └─ SYSTEM/ # INDEX.TXT, SETTINGS.CFG ... └─ tools/ # midi2adt.py, adt2adp.py, mkindex.py, arr_make.py # 0) 깨끗이 시작 (선택) Remove-Item -Recurse -Force .\ADT, .\SD -ErrorAction SilentlyContinue New-Item -ItemType Directory -Force .\ADT, .\SD\PATTERNS, .\SD\SONGS, .\SD\SYSTEM | Out-Null # 1) 사전 분석(Subdivision Analysis에서 grid가 triplet과 straight 중 무엇인지 확인) python.exe .\tools\mid2report_integrated.py .\01_input_MID\6ROCK.MID python.exe .\tools\mid2report_integrated.py .\01_input_MID\6FUNK.MID python.exe .\tools\mid2report_integrated.py .\01_input_MID\6BLUES.MID # triplet #1) Type 0 MIDI file을 2 bar 단위로 분할 python.exe .\tools\split_drums_2bar_save_v4a.py .\01_input_MID\6ROCK.MID python.exe .\tools\split_drums_2bar_save_v4a.py .\01_input_MID\6FUNK.MID mv .\01_test\???_P???.MID .\MID #2) MIDI → ADT (기본: 32스텝/GRID=16) python .\tools\mid2adt.py --in-dir .\MID --out-dir .\ADT --recursive # (optional) 트리플렛 세트가 있다면: python.exe .\tools\split_drums_2bar_save_v4a.py .\01_input_MID\6BLUES.MID mv .\01_input_MID\BLU_P???.MID .\MID_TRIP python .\tools\mid2adt.py --in-dir .\MID_TRIP --out-dir .\ADT --grid 16T --length 48 --recursive # 4) ADT → ADP python .\tools\adt2adp.py --in-dir .\ADT --out-dir .\SD\PATTERNS --recursive --overwrite # 5) INDEX.TXT 생성 python .\tools\mkindex.py --patterns .\SD\PATTERNS --out .\SD\SYSTEM\INDEX.TXT # 6) (선택) ARR 만들기 # CSV (한 줄: PatternName,Repeat), 예: RCK_P001,4 python .\tools\arr_make.py --title "Rock Demo" --tempo 120 --in .\lists\rock_demo.csv --out .\SD\SONGS\ROCK_DEMO.ARR