HF_MT_16_REGION_SWAHILI_COAST.json

music/complete_tracks/cards/HF_MT_16_REGION_SWAHILI_COAST.json

{
 "card_id": "HF_MT_16_REGION_SWAHILI_COAST",
 "cue_role": "region_theme",
 "cue_class": "zone_theme_soundscape_led",
 "working_title": "Swahili Coast — What The Ocean Shares",
 "region": "Swahili Coast (East Africa)",
 "region_page": "_source/02_Tier_2_Region_Pages/swahili_coast.md section 10",
 "chapters_served": [
  "CH_08"
 ],
 "target_duration_s": 281,
 "loop_class": "long_loop",
 "in_game_loop_span_s": 281,
 "bpm": 58,
 "tempo_band": "T1_very_slow",
 "key": "C dorian",
 "modal_colour": "Dorian, but the pitch centre moves with the monsoon direction -- C outbound, G returning",
 "instrumentation_family": "voice_and_soundscape_minimal",
 "instrumentation": [
  "one female voice, unaccompanied, entering four times in the track",
  "frame drum, implied and distant, never foregrounded",
  "the environment as a scored part: rigging, quay, reef, monsoon",
  "one sustained low string under the crossing only"
 ],
 "voice_count_target": 4,
 "energy_class": "E02_elegiac",
 "dynamic_range_target_db": 26,
 "total_bars": 68,
 "form": [
  {
   "label": "open_water",
   "bars": 16,
   "function": "wide and patient, wind-timed; the low string and the environment only"
  },
  {
   "label": "landfall",
   "bars": 10,
   "function": "the figure resolves; the first voice entry"
  },
  {
   "label": "harbour",
   "bars": 12,
   "function": "many-voiced and busy; the score is at its densest and still quiet"
  },
  {
   "label": "reef",
   "bars": 12,
   "function": "tight, arrhythmic, listening -- no pulse at all for twelve bars"
  },
  {
   "label": "threshold",
   "bars": 10,
   "function": "the drum, implied, at the reef climax; the voice does not sing here"
  },
  {
   "label": "grove",
   "bars": 8,
   "function": "near-silence; the score steps back for real forest, which is the care posture"
  }
 ],
 "motif_stated": [
  "FAM_THE_DEEP_WATER"
 ],
 "motif_developed": [
  "JOURNEY_WORLD"
 ],
 "motif_operation": "pitch-centre migration with the monsoon; the tune is unchanged in both directions",
 "distinct_motifs": 4,
 "anti_tiling": "Twelve bars with no pulse (reef) and eight bars where the score deliberately yields to ambience (grove). Two of six sections withhold the orchestra entirely.",
 "laws": [
  "SNES AFF-05",
  "SNES LOOP-05",
  "KONDO FORM-02",
  "SNES LOOP-01"
 ],
 "canon_refs": [
  "_source/02_Tier_2_Region_Pages/swahili_coast.md section 10 [SRC_00313 p.3, p.11; SRC_00172 p.11]"
 ],
 "care_notes": "Drums implied and never sampled from a consecrated performance. No ceremonial text is authored or reproduced. The call to prayer is DIEGETIC and the score gives way to it -- it is never scored, arranged or treated as material.",
 "substrate_confidence": "THINNEST LANE ON ITS PAGE, declared. The literal term census returns zero occurrences of the region's two expected ensemble names across all 472 chunks; three sentences are attested. The card therefore builds the region's identity from its SOUNDSCAPE, which is what the page authorises, and asserts no instrument roster the corpus does not supply.",
 "reveal_gate": "NONE",
 "interactive_hook": null,
 "short_loop_justification": 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": [
  40,
  63
 ],
 "instrumentation_family_meaning": "near-silence: a single voice, the environment, and the score deliberately stepping back.",
 "energy_class_meaning": "weighted, slow-falling, grief carried rather than displayed.",
 "time_signature": "4/4",
 "beats_per_bar_quarter_equivalents": 4,
 "bar_seconds": 4.1379,
 "_duration_is_derived": "total_bars x beats_per_bar x 60 / bpm -- not hand-declared",
 "target_duration_mmss": "4:41",
 "form_summary": "open_water(16) - landfall(10) - harbour(12) - reef(12) - threshold(10) - grove(8)",
 "section_count": 6,
 "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": [
   "per-culture period instruments",
   "choir / solo voice"
  ],
  "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": 16
}

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