blog:midi_time_signature_tempo_and_triplet_detection
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| blog:midi_time_signature_tempo_and_triplet_detection [2025/11/24 09:25] – [1. MIDI 파일로부터 얻을 수 있는 정보] hyjeong | blog: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 프로젝트**에서 수백 개의 드럼 패턴을 | ||
| 처리하면서 축적된 실전 경험을 바탕으로 정리되었다. | 처리하면서 축적된 실전 경험을 바탕으로 정리되었다. | ||
| + | |||
| + | {{ : | ||
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ||
| Line 35: | 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 박자 | + | |
| + | cc = 메트로놈 클릭 간격(보통 24) | ||
| + | | ||
| + | 예: [FF 58 04] 04 02 [18 08] → 4/4 박자 | ||
| 파일에 이 이벤트가 존재하면 그대로 사용하는 것이 가장 신뢰도가 높다. | 파일에 이 이벤트가 존재하면 그대로 사용하는 것이 가장 신뢰도가 높다. | ||
| Line 62: | Line 67: | ||
| FF 51 이벤트는 1/4 노트의 길이(μs)를 제공한다. | FF 51 이벤트는 1/4 노트의 길이(μs)를 제공한다. | ||
| - | FF 51 03 tttttt tttttt | + | FF 51 03 tt tt tt |
| - | + | tt tt tt = 1 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 | + | |
| + | | ||
| 드럼 루프는 일반적으로 템포가 하나만 존재하므로 첫 값을 그대로 사용해도 | 드럼 루프는 일반적으로 템포가 하나만 존재하므로 첫 값을 그대로 사용해도 | ||
blog/midi_time_signature_tempo_and_triplet_detection.1763943958.txt.gz · Last modified: by hyjeong
