nano_ardule_midi_controller:drum_pattern_player_design
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| nano_ardule_midi_controller:drum_pattern_player_design [2025/10/27 09:18] – [13. 요약] hyjeong | nano_ardule_midi_controller:drum_pattern_player_design [2025/11/05 08:37] (current) – [13. 요약] hyjeong | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| 그려놓고 보니 전혀 말이 되지 않는 드럼 패턴이다. | 그려놓고 보니 전혀 말이 되지 않는 드럼 패턴이다. | ||
| + | |||
| + | Nano Ardule Drum Pattern Player의 설계 개념은, **저사양 마이크로컨트롤러 환경에서도 완전한 리듬 프로그래밍과 드럼 패턴 재생을 가능하게 하는 초경량 드럼 머신 아키텍처**를 구현하는 데 있다. 중심 철학은 **“MIDI 파일 수준의 표현력, 아두이노 수준의 단순성”**이다. 이를 위해 음악 제작 도구에서 사용되는 복잡한 MIDI 이벤트 구조를 간결한 2마디 단위의 **ADT(Ardule Drum Text)** 포맷으로 정규화하고, | ||
| + | |||
| + | ADT는 사람이 읽고 편집할 수 있는 텍스트 기반 리듬 표기법으로, | ||
| + | |||
| + | 사용자는 PC에서 Python 기반의 전처리 툴체인(midi2adt.py, | ||
| + | |||
| + | 결국 이 프로젝트의 목적은 **대형 워크스테이션의 일부 기능을 손바닥 크기의 오픈소스 드럼 시퀀서로 축약**하는 것이다. “Nano Ardule”이라는 이름은 아두이노의 단순함과 인간적인 ‘수공예 리듬’을 결합한 정신을 상징하며, | ||
| ---- | ---- | ||
| Line 206: | Line 214: | ||
| **파일 확장자: | **파일 확장자: | ||
| - | **표준 헤더 문자열: | + | **표준 헤더 문자열: |
| **기본 구조(Basic Layout) - 8 비트 Rock 예시** | **기본 구조(Basic Layout) - 8 비트 Rock 예시** | ||
| < | < | ||
| - | # Ardule Pattern Text v1.0 | + | STEPS=32 BPM=109 MIDI_CH=9 TIME_SIG=4/ |
| - | GENRE: Rock | + | SLOTS=Kick: |
| - | BPM: 112 | + | Ride: .... .... .... .... || .... .... .... .... |
| - | KIT: 0 | + | HighTom: .... .... .... .... || .... .... .... .... |
| - | SLOTS: 8 | + | Crash: .... .... .... .... || .... .... .... .... |
| - | ACCENTS: 4 # 0~3 단계 (pp, mp, mf, ff) | + | OHH: .... .... .... .... || .... .... .... .... |
| + | LowTom: .... .... .... .... || .... .... .... .... | ||
| + | CHH: o.o. o.o. o.o. o.o. || o.o. o.o. o.o. o.o. | ||
| + | Snare: | ||
| + | Kick: o.o. ..o. o.o. ..o. || o.o. ..o. o.o. ..o. | ||
| - | [NOTE MAP] | ||
| - | 0: 36 Kick | ||
| - | 1: 38 Snare | ||
| - | 2: 42 Closed HH | ||
| - | 3: 46 Open HH | ||
| - | 4: 49 Crash | ||
| - | 5: 50 High Tom | ||
| - | 6: 45 Low Tom | ||
| - | 7: 51 Ride | ||
| - | |||
| - | [PATTERN GRID] | ||
| # row = 파트(악기), | # row = 파트(악기), | ||
| # 32스텝 = 2마디 (4/4 × 2) | # 32스텝 = 2마디 (4/4 × 2) | ||
| # 기호(대소문자 무시): | # 기호(대소문자 무시): | ||
| - | # X/x = ACC3 (강박) | + | # ^ = ACC3 (강박) |
| - | # O/o = ACC2 (중간강) | + | # X/x = ACC2 (중간강) |
| - | # . = ACC1 (약박) | + | # O/o = ACC1 (약박) |
| - | # - = ACC0 (무음) | + | # . = ACC0 (무음) |
| - | Crash: X------------------------------- | ||
| - | Kick : X-----o-X---o---X-----o-X---o--- | ||
| - | Snare: ----X-------X-------X-------X--- | ||
| - | CHH : x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x- | ||
| - | OHH : ------------------------------o- | ||
| </ | </ | ||
| Line 249: | Line 245: | ||
| ^ 기호(Symbol) ^ ACC ^ Velocity 예시 ^ 의미(Meaning) ^ | ^ 기호(Symbol) ^ ACC ^ Velocity 예시 ^ 의미(Meaning) ^ | ||
| - | | X / x | 3 | 112 | 강박 (forte) | | + | | ^ | 3 | 112 | 강박 (forte) | |
| - | | O / o | 2 | 96 | 중간강 (mezzo forte) | | + | | X / x | 2 | 96 | 중간강 (mezzo forte) | |
| - | | . | 1 | 64 | 약박 (mezzo piano) | | + | | O / o | 1 | 64 | 약박 (mezzo piano) | |
| | - | 0 | — | 무음 (rest) | | | - | 0 | — | 무음 (rest) | | ||
| Line 292: | Line 288: | ||
| - | * Unordered List Item{{ : | + | * {{ : |
| + | * {{ : | ||
| * {{ : | * {{ : | ||
| + | * {{ : | ||
| + | * {{ : | ||
| + | |||
nano_ardule_midi_controller/drum_pattern_player_design.1761524294.txt.gz · Last modified: by hyjeong
