HF_MT_03_BATTLE_ORDINARY.json

music/complete_tracks/cards/HF_MT_03_BATTLE_ORDINARY.json

{
 "card_id": "HF_MT_03_BATTLE_ORDINARY",
 "cue_role": "battle_ordinary",
 "cue_class": "combat_loop",
 "working_title": "Ordinary Violence",
 "chapters_served": [
  "CH_03",
  "CH_07",
  "CH_12",
  "CH_13"
 ],
 "target_duration_s": 158,
 "loop_class": "short_loop_composed_seam",
 "in_game_loop_span_s": 28,
 "bpm": 152,
 "tempo_band": "T6_fast",
 "key": "E dorian",
 "modal_colour": "Dorian; the raised 6th keeps it from reading as grief",
 "instrumentation_family": "full_orchestra_tutti",
 "instrumentation": [
  "horns",
  "trombones",
  "strings ostinato (spiccato)",
  "low winds",
  "timpani",
  "snare",
  "bass drum",
  "cymbals"
 ],
 "voice_count_target": 12,
 "energy_class": "E14_driving_combat",
 "dynamic_range_target_db": 14,
 "total_bars": 100,
 "form": [
  {
   "label": "attack",
   "bars": 4,
   "function": "one-bar hit figure x4; the entry, never looped into"
  },
  {
   "label": "A",
   "bars": 16,
   "function": "ostinato established, head fragment in horns"
  },
  {
   "label": "B",
   "bars": 16,
   "function": "counter-line in trombones against the ostinato -- contrary motion (ECON-08)"
  },
  {
   "label": "break",
   "bars": 16,
   "function": "ostinato alone, brass silent -- the relief before the wrap (LOOP-05)"
  },
  {
   "label": "A_prime",
   "bars": 16,
   "function": "A re-scored, strings take the fragment, horns take the ostinato"
  },
  {
   "label": "C",
   "bars": 24,
   "function": "escalation block: harmonic rhythm doubles, then doubles again"
  },
  {
   "label": "turnaround",
   "bars": 8,
   "function": "composed seam; half cadence, dominant held across the loop point"
  }
 ],
 "motif_stated": [],
 "motif_developed": [
  "PROTAGONIST_THEME"
 ],
 "motif_operation": "fragmentation -- the declared combat-layer form of the protagonist head",
 "distinct_motifs": 4,
 "anti_tiling": "The 28-second in-game loop span is bars 5-32; the full composed track is the presentation form and is NOT a tiling of that span. A_prime is a re-scoring, not a repeat.",
 "laws": [
  "SNES LOOP-01 (combat 15-30s)",
  "SNES LOOP-05",
  "SNES LOOP-06",
  "SNES ECON-08",
  "KONDO FORM-01",
  "KONDO PHRASE-05"
 ],
 "canon_refs": [
  "docs/proposals/music/LEITMOTIF_ARCHITECTURE.md section 3.1",
  "T0_Chapter_Index.dominant_combat_mode = direct"
 ],
 "care_notes": "",
 "substrate_confidence": "full",
 "reveal_gate": "NONE",
 "short_loop_justification": "LOOP-01 prescribes 15-30 s for combat. The card therefore declares a 28 s in-game loop span AND a full composed presentation track; the seam between them is composed, not faded (PIPE_AUDIO_MUSIC section 8.1).",
 "region": null,
 "region_page": null,
 "interactive_hook": null,
 "_doc": "A per-track IDENTITY CARD. It says what the track IS on the axes a listener hears in the first four seconds, so that no two tracks in the roster read as the same track. Consumed by the composition lane; scored against build/audio/complete_tracks/SAMENESS_BASELINE.md.",
 "_emitter": "harness/music_gen/emit_identity_cards.py",
 "_ruling_served": "Josh 2026-08-05 -- 12 to 20 complete tracks with real orchestral complexity, not one 30-second texture fifteen times.",
 "tempo_band_range_bpm": [
  144,
  172
 ],
 "instrumentation_family_meaning": "the whole symphonic body sounding together -- strings, winds, brass, timpani, doublings.",
 "energy_class_meaning": "sustained forward attack; the ordinary fight.",
 "time_signature": "4/4",
 "beats_per_bar_quarter_equivalents": 4,
 "bar_seconds": 1.5789,
 "_duration_is_derived": "total_bars x beats_per_bar x 60 / bpm -- not hand-declared",
 "target_duration_mmss": "2:38",
 "form_summary": "attack(4) - A(16) - B(16) - break(16) - A_prime(16) - C(24) - turnaround(8)",
 "section_count": 7,
 "loop_point_cadence": "weakened -- half cadence or a bVII substitution, never a perfect authentic cadence (KONDO PHRASE-05, the anti-fatigue law)",
 "stack_coverage": {
  "current_stack": "sfizz 1.2.3 + VSCO2-CE + VCSL (23 instruments, CC0; CPU render)",
  "renderable_today": false,
  "missing_classes": [
   "orchestral percussion and full brass (trumpet, tuba)"
  ],
  "sourcing_action": "Wave-two entry condition: extend the sfz stack with CC0 / public-domain percussion, choir and period sample sets, recorded in docs/licence_records/ with the same hash discipline as the landed stack. No sample from any set is ever a conditioning, fine-tune or LoRA input to any generator.",
  "honest_note": "The shipped cohort's 'one instrument set' is PARTLY a stack constraint: the landed 23 instruments contain no percussion, no choir, no trumpet, no tuba and no period instrument. A card that names them is naming what has to be acquired, not claiming it exists."
 },
 "order": 3
}

Generated by harness/site/structure_site.py — the URL path is the repo path. review root