User Tools

Site Tools


blog:midi_time_signature_tempo_and_triplet_detection

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
blog:midi_time_signature_tempo_and_triplet_detection [2025/11/24 09:13] – [저자 및 이용 안내] hyjeongblog:midi_time_signature_tempo_and_triplet_detection [2025/11/24 12:05] (current) – [2.1 메타 이벤트 FF 58을 읽는 방법] hyjeong
Line 8: Line 8:
 이는 일반적인 MIDI 표준과, **Ardule 프로젝트**에서 수백 개의 드럼 패턴을 이는 일반적인 MIDI 표준과, **Ardule 프로젝트**에서 수백 개의 드럼 패턴을
 처리하면서 축적된 실전 경험을 바탕으로 정리되었다. 처리하면서 축적된 실전 경험을 바탕으로 정리되었다.
 +
 +{{ :pictures:midi_analysis.png?300 |}}
  
 ------------------------------------------------------------------------ ------------------------------------------------------------------------
Line 24: Line 26:
  
 Ardule에서 분석한 박자표, BPM, 트리플렛 여부는 모두 이 두 가지로부터 계산된다. Ardule에서 분석한 박자표, BPM, 트리플렛 여부는 모두 이 두 가지로부터 계산된다.
 +
 +**PPQN**(Pulses Per Quarter Note)과 **TPQN**(Tick Per Quarter Note)은 같은 의미로 쓰인다. 전통적인 MIDI beat clock은 24 PPQN이었으나 요즘은 960 PPQN 이상의 더 높은 해상도를 지원하는 최신 시퀀서도 있다. 아주 낮은 해상도로 음악을 만들어도 된다면 4 PPQN(16분음표에 클록 펄스 하나)도 가능하다. 
  
 ------------------------------------------------------------------------ ------------------------------------------------------------------------
Line 33: Line 37:
 가장 정확한 박자표는 FF 58 메타 이벤트를 통해 얻을 수 있다. 가장 정확한 박자표는 FF 58 메타 이벤트를 통해 얻을 수 있다.
  
-  FF 58 04 nn dd cc bb nn = 분자 dd = 분모 (2 → 4분음표, 3 → 8분음표) +  FF 58 04 nn dd cc bb  
-  예: FF 58 04 04 02 18 08 → 4/4 박자+  nn = 분자  
 +  cc = 메트로놈 클릭 간격(보통 24) 
 +  dd = 분모 (2 → 4분음표, 3 → 8분음표) 
 +  예: [FF 58 0404 02 [18 08→ 4/4 박자
  
 파일에 이 이벤트가 존재하면 그대로 사용하는 것이 가장 신뢰도가 높다. 파일에 이 이벤트가 존재하면 그대로 사용하는 것이 가장 신뢰도가 높다.
Line 60: Line 67:
 FF 51 이벤트는 1/4 노트의 길이(μs)를 제공한다. FF 51 이벤트는 1/4 노트의 길이(μs)를 제공한다.
  
-  FF 51 03 tttttt tttttt microseconds per quarter note +  FF 51 03 tt tt tt  
- +  tt tt tt quarter note duration (in microseconds) 
-BPM 계산식:  +  (예) [FF 51 03] 07 A1 20 = 7A120(hex) = 500,000 μs = 0.5초   
-BPM = 60,000,000 / (마이크로초_per_quarter) +       → 1분에 120개 → BPM 120 
- +   
-  예500000 μs per quarter → BPM 120+  BPM 계산식: BPM = 60,000,000 / (마이크로초_per_quarter) 
 +  (500000 μs per quarter → BPM 120
  
 드럼 루프는 일반적으로 템포가 하나만 존재하므로 첫 값을 그대로 사용해도 드럼 루프는 일반적으로 템포가 하나만 존재하므로 첫 값을 그대로 사용해도
Line 144: Line 152:
  
 ===== 저자 및 이용 안내 ===== ===== 저자 및 이용 안내 =====
-이 문서는 **정해영**의 아이디어와 지시에 따라 AI 도구(ChatGPT)의 도움을 받아 작성되었습니다.   +이 문서는 **정해영**의 아이디어와 지시에 따라 AI 도구(ChatGPT)의 도움을 받아 작성되었습니다. 본 문서는 Creative Commons **[[https://creativecommons.org/publicdomain/zero/1.0/|CC0 1.0 Universal Public Domain Dedication]]**에 따라  
- +
-본 문서는 Creative Commons **[[https://creativecommons.org/publicdomain/zero/1.0/|CC0 1.0 Universal Public Domain Dedication]]**에 따라  +
 누구나 자유롭게 복제, 수정, 배포, 활용할 수 있으며, 출처 표시도 필요하지 않습니다.   누구나 자유롭게 복제, 수정, 배포, 활용할 수 있으며, 출처 표시도 필요하지 않습니다.  
 다만, 내용의 정확성은 보장되지 않았으며, 정해영은 본 문서의 내용에 대해 어떠한 법적 책임도 지지 않습니다.  다만, 내용의 정확성은 보장되지 않았으며, 정해영은 본 문서의 내용에 대해 어떠한 법적 책임도 지지 않습니다. 
Line 152: Line 158:
 ** Authorship and Usage Notice ** ** Authorship and Usage Notice **
  
-This document was written with the assistance of an AI tool (ChatGPT),   +This document was written with the assistance of an AI tool (ChatGPT), based on the ideas and direction provided by **Haeyoung Jeong**. It is released under the Creative Commons **[[https://creativecommons.org/publicdomain/zero/1.0/|CC0 1.0 Universal Public Domain Dedication]]**.  
-based on the ideas and direction provided by **Haeyoung Jeong**.   +
- +
-It is released under the Creative Commons **[[https://creativecommons.org/publicdomain/zero/1.0/|CC0 1.0 Universal Public Domain Dedication]]**.  +
 Anyone may freely copy, modify, distribute, and use the content, with no requirement for attribution.   Anyone may freely copy, modify, distribute, and use the content, with no requirement for attribution.  
 However, the accuracy of the content is not guaranteed, and Haeyoung Jeong assumes no legal responsibility for its use. However, the accuracy of the content is not guaranteed, and Haeyoung Jeong assumes no legal responsibility for its use.
blog/midi_time_signature_tempo_and_triplet_detection.1763943211.txt.gz · Last modified: by hyjeong