music/complete_tracks/COMPOSED_TRACKS_ARM_A.md
CANON SUBORDINATION — this document is PROPOSAL-TIER: it serves canon and never outranks it.
The canon: the CVD · the T1 foundation docs · the T0 registries · the spine · the region pages.
Authority order: docs/DOC_MAP.md § 0. **If this document disagrees with canon, CANON WINS and
this document is the defect.**
Emitted by harness/music_gen/complete_track.py. Measured against
build/audio/complete_tracks/SAMENESS_BASELINE.md, which is the arithmetic of Josh's ruling.
---
RECOMPOSE_RUNG_TWO_FINDINGS.md § 5.3 named the one thing the identity cards did not deliver:
"F8 is NOT discharged. A specification is not a sound." The cards specified twenty tracks with
zero variety-matrix collisions. Nothing had been composed or played.
This arm composes and plays the ten ODD-indexed cards, end to end: score, orchestration, render,
records, teeth.
---
The baseline measured the shipped cohort on the axes a listener hears in four seconds. The same
axes, measured on this arm's ten renders:
| Axis | Shipped cohort (15 tracks) | Arm A (10 tracks) |
|---|---|---|
| Composed sections per track | 1 distinct value, 15/15 — no B section anywhere | 4 distinct, 5–9, mean 7.4 |
| Duration | mean 29.3 s, 15/15 under a minute, 0/15 over 150 s | mean 251.5 s, 10/10 in the 150–300 s band |
| Instrument signature | 4 distinct, modal share 12/15 | 10 distinct over 10 tracks |
| Voice / part count | 2 distinct, modal 4 at 14/15 | 5 distinct, 7–19 stems per track |
| Time signature | 14/15 in 4/4 | 4 distinct — 4/4, 12/8, 7/8, 6/8 |
| Dynamic range (p95−p10) | mean 9.1 dB | mean 23.5 dB, range 14.6–33.9 |
| Crest factor | mean 14.2 dB | mean 21.6 dB |
| Percussion | none anywhere in the cohort | present on 8 of 10 |
| Key | — | 10 distinct over 10 |
Duration is 8.6× the cohort's. Dynamic range is 2.6×. Every track has a real form.
| Card | Duration | Sections | Metre | BPM | Stems | Dyn | Longest verbatim run |
|---|---|---|---|---|---|---|---|
| HF_MT_01_TITLE | 221.5 s | 7 | 4/4 | 104 | 18 | 24.2 dB | 0 bars |
| HF_MT_03_BATTLE_ORDINARY | 157.9 s | 7 | 4/4 | 152 | 16 | 14.6 dB | 0 bars |
| HF_MT_05_BOSS_APEX | 240.0 s | 9 | 4/4 | 176 | 19 | 33.9 dB | 6 bars |
| HF_MT_07_TRADE_AND_FESTIVAL | 261.8 s | 8 | 12/8 | 132 | 13 | 31.2 dB | 3 bars |
| HF_MT_09_WONDER_DISCOVERY | 240.0 s | 5 | 4/4 | 72 | 7 | 21.4 dB | 2 bars |
| HF_MT_11_REGION_FLORES | 243.8 s | 8 | 4/4 | 126 | 13 | 19.3 dB | 1 bar |
| HF_MT_13_REGION_SUMATRA_JAVA | 282.4 s | 7 | 4/4 | 68 | 8 | 18.0 dB | 1 bar |
| HF_MT_15_REGION_SOUTH_INDIA | 282.7 s | 8 | 7/8 | 104 | 13 | 22.3 dB | 1 bar |
| HF_MT_17_REGION_ETHIOPIA | 293.7 s | 7 | 6/8 | 76 | 11 | 24.3 dB | 2 bars |
| HF_MT_19_REGION_WEST_AFRICA | 291.6 s | 8 | 12/8 | 158 | 15 | 25.4 dB | 0 bars |
---
§ 5.1 said it plainly: the landed 23-instrument stack held no percussion, no choir, no trumpet, no
tuba and no period instrument, so part of "one type of sound" was what the renderer could
physically play.
harness/music_gen/extend_stack_wave2.py added 71 instruments, 1928 files, 1.77 GB, at the SAME
pinned CC0 commits as rung one, every byte hashed into
build/audio/stack/sfz_stack_extension_wave2.json:
rope-tension snare, toms, clash and suspended cymbals, gong, tambourine, triangle, woodblock,
claves, shakers, cabasa, agogo, cowbells, finger cymbals, anvil, brake drum, claps, bell tree,
slit drum.
vibrato.
plus the FULL-dynamic section sustains. The cohort's modal signature was three QUIET sustains
plus a carrier: one articulation.
upright piano, piccolo, staccato winds.
strumstick, plucked psaltery.
sfz_palette.py excluded VCSL's world-instrument half on a reason that was correct then: the region
cells that would carry those cards "are explicitly NOT COMPOSED yet". Those cells now exist as
cards — so the rule adopted here is narrower than "the cards exist, load everything":
A VCSL instrument carrying a NAMED LIVING TRADITION in its own file name (Kalimba Kenya, Mbira
dzaVadzimu Zimbabwe, Nyunga Nyunga Mozambique, Balafon, Darbuka, Dan Tranh, Didgeridoo, Nepalese
hand bells) is loaded ONLY for a card whose region page attests that instrument class FOR THAT
REGION.
None of the five region cards in this arm attests one, so none was downloaded. Using a
Zimbabwean mbira to score Ethiopia, or a Middle-Eastern goblet drum to score Tamil Nadu, is a worse
care outcome than absence: it puts a real tradition's instrument in another tradition's mouth and
calls it research. The region cards are served by the generic organological class the card itself
names — "a graded drum family", "struck iron bell", "a large floor harp", "double-reed lead" — and
every substitution is written onto that track's generation record with its entry condition.
That is the cards' own instruction; Ethiopia's card says the instruments are named "in their generic
organological form so a builder sources or models them rather than lifting a recording."
Neither sample set contains a human voice. Verified against both pinned trees. Two arm-A cards
name a choir or a solo voice. Both compose those parts as written and render them on a NAMED
stand-in, recorded per track, so the gap stays visible until a CC0 voice set is sourced. Six of ten
tracks carry declared substitutions.
---
A card that says "brass silent", "four bars of silence written into the score", "the flute drops out
entirely", "the timeline displaces by one stroke", "the cycle shortens by two beats each repetition"
has already composed the architecture in prose. A generator that ignored those strings and applied
one template to twenty cards would reproduce the exact defect Josh named, with better paperwork.
So section_orders() parses them into 23 recognised orders — SILENCE, RECEDE, SOLO, TUTTI,
FRAGMENT, AUGMENT, INVERT, OCTAVE, OSTINATO, COUNTER, PERCUSSION, RUBATO, DISPLACE, MODE_SHIFT,
REHARMONISE, SEAM, ESCALATE, LIQUIDATE, DRONE, THIN, RESCORE, ENTER, BEND, SPOKEN — and **every
order read is written onto the artifact**, per section, so a reader can check the score against the
card without trusting the code.
Above that: Caplin sentences rather than tiles (basic idea — varied repetition — fragmentation —
cadential descent); harmony per bar with modal mixture as the default colour source; a weakened
cadence at every loop point (PHRASE-05, the anti-fatigue law); development by inversion,
fragmentation, augmentation, liquidation, metric displacement and mode migration; and a motif set
whose four-motif floor is measured (worst-pair unlikeness ≥ 0.55 on a combined interval and
rhythm edit distance), not counted.
Layer one is per-note velocity — metric weight, phrase arch, section crescendo, and a small human
inconsistency. Layer two is a composed section-by-section envelope, interpolated across bar lines
and written into the MIDI as CC11 expression so the notation carries it.
The envelope carries 62% of the card's target and density plus velocity carry the rest, because
most of a real orchestra's dynamic range comes from how many players are playing and how hard. The
first title render put its solo horn intro 36 dB under the tutti — wider than any orchestra
plays — because three reductions were compounding. That is a fix with a number, not a taste.
---
--selftest is 35/35, and the anti-tiling tooth is mutation-proved in both directions: forced
to FIRE on a deliberately tiled score and to read CLEAR on a genuinely varied one.
T1 anti-tiling. Reduces every bar to a signature over (part role, pitch, onset-in-bar,
duration). **Velocity is deliberately excluded, so "the same bar played louder" cannot launder a
repeat.** Refuses any contiguous run of 8+ bars occurring twice — the exact defect
RECOMPOSE_RUNG_TWO_FINDINGS § 1.3 hand-verified ("bars 9-16 are a verbatim repeat of bars 1-8").
T2 duration in the 150–300 s band and within 3 s of the card's derived target. T3
instrumentation family resolves. T4 four-motif floor with unlikeness measured. T5 section
count matches the card. T6 ≥ 5 orchestrated roles. T7 measured dynamic range, on the
rendered audio, against a card-relative floor.
1. The melody left every second bar EMPTY — a 2.5-beat head cell inside an 8-beat Caplin idea
wrote 2.5 beats and stopped. Bars 9, 11, 13 and 15 of every sixteen were silent in the lead.
RHYTHM-04 says rests are structural; five and a half beats of nothing is a hole. Fixed by
_fill_idea, which occupies the idea with an ECON-06 answer and leaves one pulse of rest.
2. The three inner voices moved across THREE SEMITONES for an entire piece. Nearest-tone voice
leading with no register band collapses the frame into a pad. Fixed with a band per voice.
3. A trumpet doubled the horn for all 96 bars — including the eight the card scores as "horn
call alone, no accompaniment". A doubling is a section decision; it is now gated to the sections
whose orders ask for weight.
4. A returning section re-STATED its motif instead of re-scoring it — sections 0 and 3 of the
wonder cue drew the same motif under the same SOLO order and came out bar-for-bar identical, a
10-bar verbatim run. Caught by T1. Fixed by the cards' own doctrine ("A_return re-scores A
rather than restating it"): a reused motif returns transposed, which LEIT-03 licenses because
the interval spine is the invariant.
5. A section's second 8-bar sentence restated its first — the cohort's defect reappearing one
level down, and § 1.3's finding exactly ("L1's own citation reads the exemplar's A section as TWO
8-bar SENTENCES, not one 8-bar unit stated twice"). Caught by T1 on the South India cue. Each
successive sentence now takes its own pitch level and continuation treatment.
Two further calibrations were made honestly rather than by moving a pass line: the dynamics floor is
card-relative — max(11, min(15, card_target − 2)) — because a flat 15 dB floor failed the
ordinary-battle cue at 14.7 against a card that ASKS for 14, and a driving-combat cue is
deliberately compressed. And SILENCE was split from RECEDE, because conflating "four bars of
silence written into the score" with "the working sounds take over; the score gives way" had put 32
seconds of dead air in the festival cue's break. On that card's own instrumentation the working
sounds are the anvil and the drums — so the section is scored for them.
---
Records paired 10/10; each record's sha256 matches its WAV byte-for-byte (verified). Reveal
firewall: 13 held tokens scanned across all 20 record files, 0 hits — the pattern fragment stays
unnamed and no record names the House parent theme.
6dd651d5. VCSL — CC0-1.0 at commit dfcf4a49. Nothing triggers.lane redistributes rendered audio only.
other generator.**
played by sfizz from notes composed in complete_track.py.
recorded orchestra and no line of any record claims it is.
.mid + both records are committed, WAVs are gitignoredunder the same contract as every other audio lane, and the audio re-renders from the tracked
notes.
Gates: 9/9 music gates PASS. The three suite failures (boards, ledger, line_citations) are
pre-existing and read nothing under build/audio or docs/proposals/music.
---
artifacts, not a listening verdict. A specification was not a sound; a measurement is not one
either. The listening pass in front of Josh remains the gate.
discipline, would retire six of the declared substitutions.
stand-ins. The honest resolutions are sourcing or modelling those instruments, or a performance
licensed by the community that holds it — not reaching for a differently-attributed sample.
reasons and entry conditions are on the record in cards/INDEX.json.
RECOMPOSE_RUNG_TWO_FINDINGS § 2 states them.
complete_track.py / extend_stack_wave2.py; they are not written here because this lane's declared write scope is
build/audio/ and docs/proposals/music/.