User Tools

Site Tools


drum_pattern_auto_slicing:merging_8.3_renaming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
drum_pattern_auto_slicing:merging_8.3_renaming [2025/09/08 16:49] hyjeongdrum_pattern_auto_slicing:merging_8.3_renaming [2025/09/08 18:01] (current) – [Drum Pattern Auto Slicing/Merging & 8.3 Renaming] hyjeong
Line 1: Line 1:
-===== Drum Pattern Auto Slicing/Merging & 8.3 Renaming =====+====== Drum Pattern Auto Slicing/Merging & 8.3 Renaming ======
 ** 드럼 패턴 자동 분할·병합 및 8.3 리네이밍 ** ** 드럼 패턴 자동 분할·병합 및 8.3 리네이밍 **
  
-이 문서는 인터넷에서 찾은 무료(?) 드럼 패턴 MIDI 파일을 2-/4-마디로 분할하여 자동으로 이름을 붙이는 챗GPT 작업을 설명하기 위한 것이다. +이 문서는 인터넷에서 찾은 무료(?) 드럼 패턴 MIDI 파일([[https://discuss.cakewalk.com/topic/648-460-free-gm-midi-drum-patterns/|460 Free GM MIDI drum patterns]])을 2-/4-마디로 분할하여 자동으로 이름을 붙이는 챗GPT 작업을 설명하기 위한 것이다. Ardule의 드럼 플레이어 기능에서 마이크로SD카드에 저장한 패턴을 불러들여 재생하기 위한 사전 작업이다. 
 + 
 +이 MIDI file을 나는 2024년쯤 운좋게 다운로드하였지만 이제 링크가 더 이상 유효하지 않다. [[https://cifkao.github.io/html-midi-player/|html-midi-player]]라는 훌륭한 도구가 있어서 MIDI file을 웹브라우저에서 소리와 눈으로 편리하게 확인할 수 있었다. 
 + 
 +전체 문서: {{:drum_pattern_auto_slicing:drum_pattern_slicing_guide.docx|}} 
 + 
 +===== 핵심 요약 ===== 
 + 
 +  * **목적:** MIDI 드럼 패턴을 자동으로 2마디 단위 분할, 인접 2마디가 완전 동일하면 4마디로 병합, 그리고 **8.3 규칙(GpppLFKV.MID)**으로 일괄 리네이밍. 
 +  * 입력/출력 
 +    * 입력: SMF0/1 MIDI, 파일명에 장르 힌트 활용. 
 +    * 출력: 루프 친화 슬라이스(2B/4B), 시작에 FF58(박자)/FF51(템포) 삽입, 8.3 파일명 저장, 배치 요약/상세 표와 ZIP. 
 +  * 루프-세이프 규칙 
 +    * 슬라이스 시작에만 FF58/FF51. 
 +    * 범위 내 중간 FF58/FF51/EOT(SysEx 포함) 미복사, CC120/123(사운드/노트오프) 제거. 
 +    * 끝에서는 All Notes Off 미전송(루프 경계 자연스러움 유지). 
 +  * 병합 기준(2B→4B) 
 +    * 드럼 채널(우선 ch10)의 NOTE-ON 이벤트가 상대틱·노트번호·벨로시티까지 100% 일치하면 바로 다음 2마디와 병합. 
 +    * 마디 경계 계산: FF58과 TPQ로 마디 시작 tick 산출 → [bar i, i+2) 윈도우로 슬라이스 후보 생성. 
 +    * 드럼 채널 선택: ch10이 있으면 우선, 없으면 NOTE-ON 최다 채널. 
 +    * 느낌(F) 판정: 하이햇(42/44/46)의 오프비트 분포로 E(스트레이트)/W(스윙)/T(트리플릿·12/8·6/8) 추정. 
 +    * 장르/킷 추정(G,K): 파일명 키워드로 매핑(예: rock/pop→G=2,K=S / hiphop/rap/trap→G=3,K=E / swing/blues→G=4,K=J / latin→G=5,K=L … 실패 시 G=9,K=X). 
 +    * 파일명 스키마(8.3): GpppLFKV.MID 
 +      * G=장르(1), ppp=장르별 일련번호(000–999), L=마디수(2/4), F=E/W/T, K=S/J/L/E/X, V=버전(A). 
 +      * 장르별 전역 카운터로 ppp 충돌 방지(기존 결과 폴더 스캔 후 이어붙임). 
 +    * 산출물 구조: 배치별 결과 폴더 + ZIP, Summary(소스별 2B/4B 개수·첫 일련번호·장르/킷/느낌)와 Details(파일명·원본·마디 범위·경로) 제공. 
 +  * 제약/확장 
 +    * 정확 일치 기준은 미세 타이밍/스윙 변동에 민감 → 옵션으로 벨로시티 무시/양자화/유사도 임계치 적용 가능. 
 +    * 8마디 자동 병합은 기본 OFF(확장 가능). 
 +    * 선택 옵션: 하이햇 초크 이벤트 삽입, 중복 패턴 정리, 체인 파일(CHAINxx.CSV) 생성, 장르·킷 테이블 커스터마이즈. 
 +===== 8.3 파일명 규격 ===== 
 +  * **형식**: GpppLFKV.MID (총 8자 + 확장자)   
 +  * **G**: 장르 코드(1자리 숫자)   
 +  * **ppp**: 장르별 일련번호(000–999)   
 +  * **L**: 루프 길이 마디수(2, 4, 8…) — 본 작업에서는 **2** 또는 **4**   
 +  * **F**: 느낌 E(Even), W(Swing), T(Triplet/12·8/6·8)   
 +  * **K**: 드럼 킷 S(Standard)/J(Jazz)/L(Latin/World)/E(Electronic)/X(Unknown/Neutral) 
 +  * **V**: 버전(초기값 A)   
 +* 예: 20012ESA.MID → G=2(Rock/Pop), ppp=001, L=2bars, F=E, K=S, V=A
  
  
drum_pattern_auto_slicing/merging_8.3_renaming.1757317753.txt.gz · Last modified: by hyjeong