# Military Fanfare / March # Reference: Drum cadence (Wikipedia), Scottish pipe band rudiments, historic drumming # Defines the classic military march feel: bass drum on beats 1 & 3, snare backbeat # with a grace-note "flam" just before beats 2 and 4, hi-hat on the 8th-note upbeats. # A "press roll" variation adds soft 16th-note texture between the main strokes. # GM notes: 36=kick (bass drum), 38=snare (flam grace + accent), 42=HH (upbeats), 49=crash # # ── Step grid notation ──────────────────────────────────────────────────────── # Each character in a step grid represents one subdivision of the bar. # Resolution controls how many steps per bar (16 = 16th notes in 4/4; 12 = 16th notes in 6/8). # # X Strong accent — velocity = base_velocity × 1.00 (full hit / downbeat) # x Medium accent — velocity = base_velocity × 0.75 (firm stroke / upbeat) # o Soft hit — velocity = base_velocity × 0.55 (brush / light touch) # g Ghost note — velocity = base_velocity × 0.28 (barely audible, mostly felt) # . Rest — no note fired at this step # # Beat positions — 4/4 at resolution 16 (one char per 16th note): # pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 1 e1 +1 a1 2 e2 +2 a2 3 e3 +3 a3 4 e4 +4 a4 # (1/+/2/+/3/+/4/+ = quarter beats; e = "e of"; a = "and-a of") # # Beat positions — 6/8 at resolution 12 (one char per 16th note): # pos 0 1 2 3 4 5 6 7 8 9 10 11 # C1 . e1 . a1 . C2 . e2 . a2 . # (C1/C2 = compound beat downbeats; each compound beat = 3 eighth notes = 6 steps) # # Swing / feel: the 'feel' field shifts odd-indexed steps (1,3,5,7…) forward in time. # straight — no shift (all steps exactly on the grid) # swing_soft — odd steps delayed ~16 % of a step (light swing) # swing_hard — odd steps delayed ~34 % of a step (jazz/shuffle triplet feel) # laid_back — same as straight with slower humanisation envelope # ───────────────────────────────────────────────────────────────────────────── name: Military March family: march bpm_range: [80, 140] time_signature: [4, 4] resolution: 16 feel: straight instruments: kick: { note: 36, base_velocity: 108, velocity_range: 10, timing_jitter: 0.012, duration_beats: 0.15 } snare: { note: 38, base_velocity: 105, velocity_range: 12, timing_jitter: 0.014, duration_beats: 0.10 } hihat: { note: 42, base_velocity: 72, velocity_range: 10, timing_jitter: 0.012, duration_beats: 0.07 } crash: { note: 49, base_velocity: 100, velocity_range: 8, timing_jitter: 0.010, duration_beats: 0.25 } humanization: timing_jitter: 0.014 velocity_jitter: 12 velocity_drift: 0.05 sections: intro: type: count_in hits: 4 note: 37 groove: bars: 1 variations: - name: flam weight: 4 # Flam rudiment: grace (g) at pos 3 before beat 2 (pos 4), # and grace at pos 11 before beat 4 (pos 12). # HH: 8th-note upbeats at pos 2, 6, 10, 14 ("and" of each beat) kick: "X.......X......." snare: "...gX......gX..." hihat: "..x...x...x...x." - name: roll weight: 2 # Press roll texture: soft hits fill the 16ths, giving a continuous swell. # Grace notes before beats 2 and 4 still define the backbeat accent. kick: "X.......X......." snare: "..ox.gX.o.ox.gX." hihat: "..x...x...x...x." - name: strong weight: 1 # Full-force bars: no hi-hat, every beat accented — peak energy passages kick: "X.......X......." snare: "...gX...X...gX.." fill: bars: 1 variations: - name: paradiddle # Paradiddle fill — standard military snare rudiment kick: "X..............." snare: "XxxxXxxxXxxxXxX." - name: roll_out # Crescendo roll landing on crash downbeat of next bar kick: "X..............." snare: "oxoxoxoxXXXXXXXX" crash: bars: 1 variations: - name: standard crash: "X..............." kick: "X..............." snare: "...gX......gX..." hihat: "..x...x...x...x." structure: fill_every: 8 break_every: 0 break_length: 1 crash_after_fill: true dynamic_build: true