COUNTERPOINT_AND_VOICE_LEADING.md

music/COUNTERPOINT_AND_VOICE_LEADING.md

Counterpoint and Voice-Leading for Game Scoring

CANON SUBORDINATION — this document is PROPOSAL-TIER: it serves canon and never outranks it.
Canon served: the composition floor at docs/spine/DECISIONS_PENDING_JOSH.md (commit da627060), and the
interlocking-polyphony anchors of docs/spine/CH_04.md and docs/spine/CH_11.md.
If this document disagrees with canon, CANON WINS and this document is the defect.

TIER: RESEARCH SYNTHESIS — PROPOSAL-TIER. This document is HOW, never WHAT. It sets no canon, names

no region content, and changes no spine or registry row. Every substantive claim carries a source

(URL, or book plus author plus chapter); where sources disagree the disagreement is stated; where a

statement is craft consensus rather than evidence it is labelled CRAFT CONSENSUS. Every principle

carries a PIPELINE HOOK line declaring whether our stack can COMPOSE it as a constraint, MEASURE it

from the formula card, or neither — and where neither, the missing measurement is named rather than

proxied.

WHAT THIS LANE ANSWERS. Josh's composition floor says a track may carry dozens of layers and an

orchestra's worth of instruments, and then says the thing that makes the whole floor hard: there

cannot just be stacked noise. Layer count is not the variable. Forty layers that fuse into one

undifferentiated mass and forty layers that read as an orchestra differ only in whether the layers

are perceptually separable and whether each one is doing something a listener could follow. That is

counterpoint and voice-leading, and it has an actual science under it, not just a rulebook.

1. What species counterpoint teaches, and which constraints survive

1.1 The five species and their real curriculum

Fux's Gradus ad Parnassum (1725) is the source text; the standard English partial translation is

Alfred Mann's The Study of Counterpoint, and the Latin original is on IMSLP

(https://imslp.org/wiki/Gradus_ad_Parnassum_(Fux,_Johann_Joseph); biography and reception at

https://en.wikipedia.org/wiki/Johann_Joseph_Fux). The five species are a graded curriculum, and each

grade isolates exactly one problem.

independence of two lines: how to begin, how to end, and how to keep the second line from being

heard as a thickening of the first (https://viva.pressbooks.pub/openmusictheory/chapter/first-species-counterpoint/).

therefore the idea that a dissonance is legal when its approach and departure make it a

by-product of stepwise motion rather than an event

(https://en.wikibooks.org/wiki/Music_Theory/Counterpoint/Species_Counterpoint).

cambiata. This is where a line acquires interior shape rather than merely legal notes.

tonal music, taught as a three-part object: preparation, suspension, resolution

(https://hellomusictheory.com/learn/species-counterpoint/).

PACING: when to be plain and when to be busy inside one line.

1.2 Which constraints survive into film and game writing, and which do not

CRAFT CONSENSUS, with a real split in the sources. Film composer Robin Hoffmann states plainly that

thorough knowledge of classical counterpoint sharpens musical understanding but that the strict

classical rules have little application in modern film writing

(https://www.robin-hoffmann.com/dfsb/classical-counterpoint-in-film-scoring/). Beth Denisch, whose

Contemporary Counterpoint: Theory and Application is the Berklee text, argues the opposite emphasis

— that contrapuntal principles transfer intact into film, rock and EDM, and that what changes is the

style layer, not the principles

(https://online.berklee.edu/takenote/contemporary-counterpoint-interview-beth-denisch/). Both are

practitioner positions, not evidence.

The reconciliation this lane adopts, and the reason is section 2: the rules that survive are the ones

Huron shows to be derivable from PERCEPTION, because those are about whether a listener can hear two

things at once. The rules that do not survive are the ones that encode a specific historical style

— the modal cadence formulas, the prohibition on the unaccented unison, the ban on the melodic

tritone, the requirement that a piece begin and end on a perfect consonance, the strict ratio of

consonance types. Those are Palestrina-idiom constraints, and a game score that obeys them sounds

like a conservatory exercise, which is a different failure from stacked noise but still a failure.

perfect consonances as a fusion hazard; dissonance as a prepared and resolved OBJECT; the rule

that each line must be singable on its own.

the cantus-firmus-shaped melodic arch; the prohibition on leaping to and from dissonance in a

gesture that a modern ear reads as an appoggiatura.

voice_chord(sym, tonic_pc, low, high, n, prev=...) routine that chooses each voicing by minimum

total motion from the previous one rather than by root-position stacking. That is first-species

discipline expressed as code, and it is the right place to add the surviving rules as filters on

the candidate voicing set rather than as post-hoc checks.

2. Voice-leading proper, derived from perception rather than from authority

2.1 Huron's six core principles

David Huron, Tone and Voice: A Derivation of the Rules of Voice-Leading from Perceptual Principles,

Music Perception 19(1), 2001, pp. 1-64

(https://online.ucpress.edu/mp/article/19/1/1/62106/Tone-and-Voice-A-Derivation-of-the-Rules-of-Voice),

expanded as Voice Leading: The Science Behind a Musical Art, MIT Press 2016 (review:

https://rpm-ns.pt/index.php/rpm/article/download/320/509/1069). Six core principles account for most

of the traditional rule set:

between F2 and G5. Outside that band a note is a colour, not a voice.

roughly 800 milliseconds break the perceived continuity of a part.

simultaneous notes must be spaced more widely as register descends.

them between parts intended to be heard as separate.

fracturing into two apparent voices.

amounts fuse; independent contours segregate.

The derivations that matter to us fall out directly. Registral compass and textural density limits

come from toneness plus masking. Chord spacing — wide low, close high — is minimum masking. Common-

tone retention and conjunct motion are pitch proximity. The parallel-fifths and parallel-octaves

prohibitions are tonal fusion plus co-modulation acting together, which is why parallel motion at a

third or sixth is harmless and parallel motion at a fifth is not: the interval is the fusion hazard,

the parallelism is the co-modulation hazard, and the classic error stacks both.

2.2 The acoustic reason parallel perfect intervals kill independence

This is the part the rulebooks state as prohibition and the literature states as mechanism. A perfect

fifth's two fundamentals coincide at low harmonic-series positions (2:3), an octave at 1:2, a unison

at 1:1, so their partials overlap heavily and the auditory system's harmonicity cue votes to fuse

them into one complex tone. Huron ties the prohibition specifically to preserving perceptual clarity

of individual voices by avoiding tonal fusion, and notes the desirability of fusion is context-

dependent: Debussy and Chopin use parallel fifths deliberately, and Huron's reading is that they

WANTED the fused, single-voice colour (summarised at

https://en.wikipedia.org/wiki/Consecutive_fifths and

https://www.schoolofcomposition.com/whats-wrong-with-parallel-fifths/). The octave case is even

starker: because an octave is the same pitch class in another register, a passage in parallel octaves

temporarily REDUCES the voice count — in a two-part texture one voice simply disappears

(https://www.ars-nova.com/cpmanual/independence.htm).

The operational consequence for us is not a ban. It is a switch. Parallel fifths and octaves are the

instrument for deliberately COLLAPSING two layers into one thicker layer — an organum colour, a

power-chord brass mass, a doubled hero statement. Used unconsciously across forty layers, they are

exactly the mechanism by which forty layers become one wall.

parts is computable from the symbolic score before render, and should be classified into DECLARED

(a fusion the card asked for) and UNDECLARED (a defect), the same declared-versus-undeclared

discipline compose_arm_b.py already applies to verbatim repeat runs. From RENDERED audio the

formula card cannot see this at all: lane_analysis reads ten spectral bands, and the card's own

method note says bands are not instruments. Detecting parallel perfects in a generated render needs

multi-f0 polyphonic transcription, which is the single largest measurement gap in this lane.

2.3 The four motions and the rest of the rule set

Contrary motion (voices move oppositely), oblique (one holds, one moves), similar (same direction,

different interval), parallel (same direction, same interval) — definitions and the associated

prohibitions on direct and hidden fifths and octaves, on voice crossing and on voice overlap, are set

out with their exceptions at https://www.ars-nova.com/cpmanual/independence.htm. Two of these deserve

comment because game scoring gets them wrong in a specific way.

outer voices — is a weaker version of the same fusion hazard, and the traditional exception is

instructive: it is tolerated when the upper voice arrives by step. Step arrival preserves pitch

proximity for the upper stream, so the stream survives the fusion moment.

reassigns the crossed notes to the wrong parts. McAdams notes that sufficient TIMBRAL difference

between the instruments defeats this, which is why orchestral practice crosses voices freely when

the parts have distinct timbres (https://mtosmt.org/issues/mto.22.28.3/mto.22.28.3.mcadams.html).

This is a licence our SFZ palette can actually cash: crossing is safe between a plucked part and a

bowed part, and unsafe between two string sections.

parallel) is trivial from the authored score and is a strong single-number health check on a

homophonic-leaning texture. CRAFT CONSENSUS target rather than measured law: a texture claiming

independent voices should not be running above roughly half its adjacent-part motion in the

similar-plus-parallel category.

3. Voice-leading in a homophonic, pad-heavy texture

This is the section that governs most of what a game score actually is. Almost nothing in a modern

score is strict counterpoint; most of it is melody plus sustained harmony, and the difference between

a live-sounding pad bed and a dead one is entirely interior.

3.1 Why static block chords read as dead

Two mechanisms, both from section 2. First, a block chord that changes all voices simultaneously in

the same direction is maximal pitch co-modulation, so the chord fuses into a single object with no

interior — there is nothing to follow. Second, temporal continuity is satisfied trivially by a

sustain but the stream carries no INFORMATION, so attention has nothing to track and the texture

recedes to background. Bregman's framework treats this directly: perceptual organisation groups

sound into events and streams, and a stream with no differentiating change is simply absorbed

(Bregman, Auditory Scene Analysis, MIT Press 1990; encyclopedia summary at

https://themusiclab.github.io/bregman-archive/pdf/2008-New-Encyclopedia-Neuroscience.pdf).

3.2 The devices that keep inner voices alive

the standard prescription and the reason smooth voice-leading reads as sophisticated rather than

merely correct (https://learningmole.com/using-music-theory-to-explore-film-scoring/).

the tune and often in contrary motion to it. Because it is contrary and rhythmically offset, it

breaks co-modulation and creates a second followable stream at low cost.

change becomes a dissonance and resolves down by step, and a chain of them makes harmonic rhythm

audible without any new instrument entering.

changing harmony is oblique motion by definition, and oblique motion is the cheapest guaranteed

independence in the catalogue (https://filmmusictheory.com/article/pedal-point/,

https://en.wikipedia.org/wiki/Pedal_point).

continues while the timbre stream changes. Our own doctrine already names both at

docs/proposals/MUSIC_COMPOSITION_DOCTRINE.md section 5.3 as the cheapest way to make a short tune

survive long form; the perceptual reason is that sequential grouping binds on pitch proximity while

segmental grouping chunks on timbre change, so the two cues are deliberately put in opposition.

non-melody part carries stepwise motion in every bar where the harmony is static. As a measure: the

formula card's texture_and_density.note_rate_per_s combined with melodic_salience is a blunt but

real proxy — a high sustained voiced_fraction with a low note_rate_per_s and a high

melodic_salience is the signature of melody-over-dead-pad. GAP: the card cannot separate inner-

voice motion from melody motion, because extract_melodic_line in harness/music_gen/feature_rig.py

is explicitly a PREDOMINANT-pitch tracker and harness/music_gen/to_midi.py declares in its own

header that polyphony below the predominant voice is dropped. Inner-voice liveness is therefore

measurable in the authored lane and NOT measurable in a generated render.

4. Counterpoint as texture strategy: complexity without spectral crowding

The reason this section exists: every device below raises perceived complexity by adding STRUCTURE

rather than by adding energy in new frequency bands. That is precisely the trade Josh's floor

demands.

content per voice, but the listener hears a relationship, and relationship is what reads as

craft. The delay itself is the information.

overlap (https://www.puzzlecanon.com/glossary). Because the entries crowd, stretto is the natural

intensifier for a boss phase transition — it raises density without a single new instrument.

octave, thirds become sixths and sixths become thirds; at the twelfth the sixth becomes the

problem interval, since it inverts to a seventh (https://www.teoria.com/en/reference/i/invertible-counterpoint.php,

https://rothfarb.faculty.music.ucsb.edu/courses/103/invertible-cpt.html,

https://musictech.ithaca.edu/MusicTech/ICTheory/OnlineText/Form/Unit%20I/InvCpt/DblCpt.html). For an

adaptive score this is the highest-value classical device we have: a pair written invertibly gives

two genuinely different-sounding statements of the same material, which is exactly what the 3-to-5

cycle variation law asks for, at zero new asset cost.

produces a composite faster and more intricate than any part, and each part is sparse — the

cheapest possible complexity per unit of spectral occupancy. Section 7 treats the living traditions

that use it as a first-class system rather than an effect.

across Middle Eastern, Balkan and Indonesian practice, and hard to describe in Western terms

precisely because it has no direct Western written analogue (Pärtlas, Theoretical Approaches to

Heterophony, Res Musica 8, 2016, https://resmusica.ee/wp-content/uploads/2017/04/rm8_2016_44-72_P%C3%A4rtlas.pdf;

https://en.wikipedia.org/wiki/Heterophony). Musically it is a middle setting between unison and

counterpoint: the parts share identity so they never fight, and differ in detail so they never

fuse.

compose_arm_b.py already models: it has a Cell object with interval and duration vectors, a

motif corpus loaded as interval spines, and a Score in absolute beats. Canon, stretto, inversion

and hocket are transformations of a Cell placed at offsets in a Part; invertible counterpoint

is a constraint on the interval census between two Part objects. MEASURE, partially: an imitative

or hocketed texture raises motif_economy.interval_3gram_repetition and

interval_4gram_repetition while keeping the verbatim-bar-run tooth quiet, so the existing card can

distinguish imitation from tiling. It cannot tell canon from unison doubling.

5. Register, spacing, and the actual science under "there cant just be stacked noise"

5.1 Auditory scene analysis is the governing theory

McAdams's taxonomy of orchestral grouping effects (Music Theory Online 28.3, 2022,

https://mtosmt.org/issues/mto.22.28.3/mto.22.28.3.mcadams.html) organises the whole problem into three

levels, and it is the most directly useful single source in this lane.

within roughly 30 to 50 milliseconds, harmonicity, and parallel change in pitch and loudness. The

three outcomes are named: timbral AUGMENTATION (one dominant instrument coloured by others),

timbral EMERGENCE (a genuinely new sonority whose components cannot be identified), and timbral

HETEROGENEITY (synchronous, harmonically related parts that stay separate because their timbres

differ enough).

timbre, register and dynamic integrate a stream; contrast segregates. Two failure-adjacent

outcomes are named and both are legitimate: SURFACE TEXTURE INTEGRATION, where many parts merge

into one shimmering surface nobody tracks individually, and STRATIFICATION, the foreground-

middleground-background layering that Koechlin analysed via extensity (apparent auditory size) and

intensité (inherent force).

juxtapositions, and sectional boundaries marked by orchestration change.

The direct reading for a forty-layer track: stacked noise is SURFACE TEXTURE INTEGRATION arrived at

by accident. The fix is not fewer layers, it is deliberate STRATIFICATION — assigning each layer a

declared tier and giving the foreground tier the cues (onset asynchrony against the mass, timbral

contrast, independent contour) that pull it out of the surface. McAdams's 2025 empirical follow-up on

blend in real orchestral excerpts is the evidence layer under this

(https://journals.sagepub.com/doi/10.1177/20592043251326391).

rolecompose_arm_b.py's Part dataclass already has one — and the render pass is required to

give foreground roles at least one segregation cue that no background role has. Measure: the card's

lane_analysis.interlap_matrix is the closest existing quantity. On EX_124 the low_mid-to-mid

overlap is 0.9694 and mid-to-air is 0.9065, which says the mid and upper regions are occupied

simultaneously almost the whole time; the sub band's overlaps sit near 0.10, which says the bottom

is used as an event, not a bed. That contrast is exactly the shape a stratified track should have,

and a flat high-overlap matrix across all ten bands is the measurable signature of the wall.

5.2 Spacing: wide low, close high, with a computable floor

The pedagogical rule keeps adjacent upper voices within an octave while allowing more than an octave

between bass and tenor, justified by the harmonic series: intervals between low partials are wide and

narrow as the series ascends, so chord spacing that mimics the series rings and spacing that does not

muddies (https://musictheory.pugetsound.edu/mt21c/RulesOfSpacing.html,

https://www.orchestrationresources.com/introduction-chapters/chapter-5b-spacing-and-balance). Huron's

minimum-masking principle gives the same answer from the other end: equal energy per critical band

requires wider spacing as register descends.

The low interval limit chart is the craft form of this. Published charts list, per interval, the

lowest position at which it can sound without mud, and every source that carries one attaches heavy

caveats — Funnell's chart states in its own footnote that these are loose guidelines, that instrument

and dynamic change the answer, and that deliberate violation for effect is legitimate

(https://funnelljazz.eu/wp-content/uploads/2020/12/Low-Interval-Limits.pdf); Hoffmann adds that

mud depends on dynamic and on how many upper partials the timbre carries, so soft low string

voicings are far more forgiving than loud low brass

(https://www.robin-hoffmann.com/dfsb/low-interval-limits/). The published charts are images and the

pitch values differ between sources, which is itself the honest finding: there is no single canonical

table.

So compute ours. Sensory roughness peaks when two partials fall within one critical band, with

maximum roughness near a quarter of the critical bandwidth (Plomp and Levelt 1965; the standard

computational treatment is Sethares, Tuning Timbre Spectrum Scale,

https://sethares.engr.wisc.edu/consemi.html, with the pairwise curve and its parametrisations

discussed at https://www.uni-weimar.de/kunst-und-gestaltung/wiki/images/Dissonance_Model_Toolbox_in_Pure_Data.pdf).

Using the Glasberg and Moore equivalent-rectangular-bandwidth formula, ERB(f) = 24.7 times

(0.00437 f + 1) Hz, the lowest pitch at which an interval's two FUNDAMENTALS separate by at least one

ERB comes out as:

intervallowest pitch clearing one ERBfundamentalERB at that pitch
minor 2ndnever, at any audible registerseparation always below one ERB
major 2ndA61760.0 Hz214.7 Hz
minor 3rdD#4311.1 Hz58.3 Hz
major 3rdE3164.8 Hz42.5 Hz
perfect 4thA2110.0 Hz36.6 Hz
tritoneE282.4 Hz33.6 Hz
perfect 5thC265.4 Hz31.8 Hz
minor 6thG#151.9 Hz30.3 Hz
major 6thF143.7 Hz29.4 Hz
minor 7thD136.7 Hz28.7 Hz
octaveA#029.1 Hz29.1 Hz

Two honest notes. This computed floor is MORE conservative than the published craft charts for the

narrow intervals, because it looks only at the two fundamentals and ignores that in a real timbre the

fundamental is often not the dominant partial and that higher partials supply their own separation.

And the minor-second result is not a bug: a semitone's frequency difference grows more slowly with

register than the ERB does, so a minor second between two fundamentals is inside one critical band

everywhere. That is the physical statement of why a semitone always beats, and it is also why a

semitone clash is an EXPRESSIVE object rather than a spacing choice.

authored score, evaluated per simultaneity, and it belongs in compose_arm_b.py beside

voice_chord as a filter on candidate voicings with a per-part licence to violate when the card

declares a mud effect. MEASURE, weakly: the card's register.octave_band_profile and

lane_analysis.register_spacing_octaves describe energy distribution but cannot see which two

notes are a minor third apart at 90 Hz.

5.3 Doubling that reinforces versus doubling that muddies

CRAFT CONSENSUS with strong practitioner agreement. The named failure is dogpile orchestration —

choosing a note and having everyone pile onto it — and its companions: doubling the third of a triad

in too many voices because piano and guitar voicings tolerate thirds and orchestras do not, and

misjudging balance by counting players rather than weighing register and dynamic

(https://vi-control.net/community/threads/most-common-orchestration-mistakes.88073/,

https://www.evenant.com/articles/3-beginner-orchestration-mistakes). The same threads land the

sharpest single sentence available on this whole lane: the root problem is usually not orchestration

but harmony, voicing, voice-leading and weak melody, and orchestration cannot rescue a compositional

defect. Our own doctrine section 5.3 already states the balance-is-register-dependent rule and the

avoid-over-doubling-the-third rule; this document supplies the perceptual why: a doubled third at

close spacing in the low-mid puts three or four partial sets in the same critical bands, which is

minimum-masking violation, and it fuses by harmonicity, which is a tonal-fusion violation.

many parts sound each chord member, and flag third-doublings above a declared threshold and any

doubling that also lands inside the ERB floor. MEASURE: none available; band energy cannot report

chord-member identity.

6. Dissonance treatment and the deliberate clash

6.1 The vocabulary, stated as job descriptions

Non-chord tones are dissonances with defined approach and departure: the passing tone is approached

and left by step in the same direction; the neighbour steps away and returns; the appoggiatura is

approached by leap and resolved by step, and is accented; the suspension is prepared as a consonance,

held into the new harmony where it becomes dissonant, and resolves down by step; the anticipation

arrives early (https://pressbooks.pub/harmonyandmusicianshipwithsolfege/chapter/nonharmonic-tones/,

https://elliotthauser.com/openmusictheory/embellishingTones.html,

https://www.ars-nova.com/cpmanual/dissonancerules.htm). Palestrina's dissonance handling is regular

enough that machine learning has recovered its rules from the corpus as explicit symbolic constraints

(https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10319261/), which is direct evidence that this

vocabulary is formalisable and therefore encodable in our authored lane.

6.2 What makes a clash read as intent rather than error

Josh asks explicitly for harmonies AND clashes. The distinction is not the amount of dissonance; it is

whether the dissonance is a structured event. Four discriminators, the first three derivable from the

sources above and the fourth from section 5:

device; one that arrives differently on every occurrence reads as noise. This is what the

species vocabulary actually encodes.

two beats is a colour; the same semitone for a sixteenth in passing is a mistake-shaped event.

hypothesis for harmony: masterpieces PLACE a surprise chord at a position, they do not sprinkle it

(docs/proposals/music/MASTERPIECE_PROGRAM.md section 11.5).

region is already beating reads as mud; the same minor second at E5 over a clean low register reads

as a deliberate bite. Same interval, different verdict, and the difference is computable.

vocabulary above from its own approach and departure intervals, and anything unclassifiable is

either an authored exception carrying a declared reason or a defect. MEASURE — GAP, and this is the

second big one. Sensory roughness IS computable from rendered audio via the Plomp-Levelt-Sethares

spectral model, and a roughness-over-time curve would tell us where a track clashes and how hard,

which the current card cannot report at all. It would NOT tell us whether the clash resolved,

because that needs the symbolic layer.

7. Non-Western polyphony as counterpoint, with its own rules

Three living traditions are canon-anchored in the slice, so they enter here as counterpoint systems

with their own theory, not as colour. Canon anchors: docs/spine/CH_11.md line 237 names the Baka and

Aka polyphonic yodelled counterpoint and the liquindi water-drumming and the molimo forest-song,

drawn from the documented tradition at reference register with no reproduction of protected sacred

music; docs/spine/CH_04.md line 242 names the interlocking kotekan register rising at the

shadow-duel; docs/spine/CH_02.md line 234 and docs/spine/CH_03.md line 245 name the Flores

gong-waning tradition at reference register, and

_source/02_Tier_2_Region_Pages/flores_island.md Section 10 names its interlocking-cycle structure

and flags that the gong-waning musical theory is thin in the processed corpus.

7.1 Aka and Baka forest polyphony

Simha Arom's African Polyphony and Polyrhythm: Musical Structure and Methodology (Cambridge, 1991)

established the analytical method — treating the music as a grammatical system and separating the

invariant model from its realisations — and Arom's own assessment is that the polyphonic complexity

of this repertoire was reached in Europe only in the fourteenth century

(https://en.wikipedia.org/wiki/Simha_Arom, https://www.cirmmt.org/en/events/distinguished-lectures/arom).

Susanne Fürniss's Aka Polyphony: Music, Theory, Back and Forth analyses the system as four named

constituent parts, each with distinctive features: mòtángòlè, the principal voice; ngúé wà lémbò,

functioning roughly as a bass; òsêsê, a middle voice; and dìyèí, literally yodel, the upper part sung

by women. Each part carries its own essential melodic pattern with tones systematically located at

specific positions in the cycle, and the whole sits inside an anhemitonic pentatonic system in which

melodic minor seconds never appear as such. The dìyèí is defined by the yodel technique itself — a

constant alternation between laryngeal mechanisms one and two. Analytically, the opening of a cycle

is dominated by derivations of mòtángòlè and òsêsê, while middles and ends are dominated by segments

derived from dìyèí (https://www.semanticscholar.org/paper/2badb87022a5f88145038b2fcd9f94ff1813618b;

the HAL full text at https://shs.hal.science/halshs-00453689/document was access-blocked at time of

writing and the analysis above is from the indexed abstract and figure captions, which is a weaker

citation and is declared as such).

The rules that transfer, stated as composition constraints:

happens within a fixed period rather than by extending the form.

arbitrarily. This is contrapuntal variation over a shared model, which is the same idea as

heterophony operating on four models at once instead of one.

independent parts cannot produce the minor second that section 5.2 shows is always inside one

critical band. The scale is doing the anti-mud work that spacing rules do in orchestral writing.

identifiable by its VOCAL MECHANISM, which is a timbre cue in McAdams's sense, so it stays a

separate stream even when it crosses others in pitch.

liquindi consistently report voices entering successively, each with its own repeating melody and

its own rhythm and cycle, converging into one song

(https://en.wikipedia.org/wiki/Baka_music, https://thekidshouldseethis.com/post/baka-forest-people-water-drumming).

Popular-source descriptions of this repertoire are uneven in quality and the ethnomusicological

sources are the ones to weight.

inventory and a set of cycle positions it may occupy, and a variation operator that reorders or

substitutes within the part's own inventory. That is directly expressible in the Cell plus Part

model. MEASURE: motif_economy.recurrence_lag_s should land at the cycle length and

duration_and_structure.repeat_map should show high similarity with the cycle as its period — a

real, checkable prediction.

7.2 Balinese kotekan

Kotekan is two interlocking parts, polos and sangsih, each incomplete alone, whose composite reads as

one line faster than any single player could produce; polos is generally on-beat and sangsih generally

off-beat (https://en.wikipedia.org/wiki/Kotekan). The named figuration types are precise rules, not

styles:

the middle pitch shared in unison.

shared pitch, and the outer notes typically struck together.

elaboration is locked to a slower structural melody rather than free.

Two things make this the single most valuable non-Western import for our problem. First, it is

hocket with an explicit pitch-allocation rule, so the complexity is generated by CONSTRAINT rather

than by addition. Second, the shared middle pitch in kotekan telu is a deliberate fusion point in an

otherwise segregated texture — the two parts touch, then separate — which is exactly the controlled

use of fusion that section 2.2 argues for.

Given a pokok line and a subdivision factor, kotekan telu and empat are deterministic part-splitting

functions. Two thin parts, one dense composite, no new spectral territory. MEASURE:

tempo_and_time_grammar.groove.onset_rate_per_s rises sharply while per-part note density stays

low — but the card measures the mix, so the per-part half of that check only exists in the authored

lane.

7.3 Gong-chime interlocking and colotomic time

Javanese and Balinese gong-chime practice organises time colotomically: the largest gong marks the

cycle, and smaller gongs subdivide it at fixed positions, so the metrical structure is stated by

INSTRUMENTATION rather than by accent (https://www.newworldencyclopedia.org/entry/Gamelan,

https://www.britannica.com/art/gamelan; Sumarsam on temporal and density flow,

https://sumarsam.faculty.wesleyan.edu/files/2023/01/4_Temporal_and_Density_Flow.pdf). Imbal is the

Javanese interlocking technique, described by Yampolsky as a simpler form of unimprovised hocket, and

it produces its rippling effect at moderate to fast irama levels (https://grokipedia.com/page/imbal —

a lower-tier aggregator source, flagged; the Yampolsky attribution should be confirmed against his

own writing before this line is treated as settled).

For Flores gong waning specifically, the canon page already declares the substrate thin. This lane

does not fill that gap and must not invent it. What it can say is structural and general: a

gong-chime ensemble gives us a ready-made STRATIFICATION — a cycle-marking layer, a slow structural

melody layer, and a fast elaborating layer — which is the same three-tier foreground-middleground-

background architecture McAdams describes, arrived at independently.

it is a few lines against Score's absolute-beat model and gives a track an audible formal clock

without a drum kit. MEASURE: colotomic articulation should appear in the card as periodic

low-band events — lane_analysis.entry_exit_map segments for the sub and low_bass lanes recurring

at the cycle period — which is one of the few non-Western structural features the current card can

actually see.

8. What a composition doctorate drills, and what a self-taught pipeline misses

CRAFT CONSENSUS, assembled from the pedagogy sources cited throughout rather than from a curriculum

survey; treat as informed synthesis, not evidence.

its first grade on this and nothing else. The self-taught failure is a beautiful melody over parts

that are chord-tone filler nobody could sing.

failure is dissonance as a texture setting.

that the skeleton is correct. Our doctrine already asks for this at section 5.3. The self-taught

failure is a page that has no skeleton, which is the technical definition of stacked noise.

returning to the same diagnosis: composers who cannot hear the balance count instruments instead.

that masterpieces step complexity at structural boundaries and hold it flat inside sections, with

variation coming from orchestration rather than constant churn — is the same claim from the

measurement side, and EX_124's complexity_law.boundary_step_share of 0.333 is a datum against it,

not for it, which is worth noting honestly.

layering. A game layer must be musically complete when the layers above it are muted, which is a

constraint no concert score ever faces. Vertical layering requires all stems to share tempo, metre

and harmony (https://www.thegameaudioco.com/making-your-game-s-music-more-dynamic-vertical-layering-vs-horizontal-resequencing,

https://splice.com/blog/adaptive-music-video-games/). Counterpoint is the discipline that makes this

possible rather than merely legal: a texture built from independent, individually-singable lines

degrades gracefully when lines are removed, and a texture built by dogpile doubling collapses into

a fragment of itself.

9. The measurement ledger: what the card sees, and what it cannot

Stated plainly, because a proxy invented to fill a gap is worse than the gap.

spacing in octaves; band-pair simultaneity via interlap_matrix; lane entries and exits; onset

rate; melodic salience and voiced fraction; the predominant melodic line's contour, interval

vocabulary and range; motif recurrence and n-gram repetition; sectional structure and repeat map;

complexity per bar and its step map; dynamics arc; loop seam. These support stratification checks,

wall-detection via a flat interlap matrix, and cycle-period verification.

chord-member doubling, voice crossing, cadence census and dissonance classification all require

knowing WHICH NOTES ARE SOUNDING, not which bands are energised. The current rig is explicitly a

predominant-pitch tracker (harness/music_gen/feature_rig.py extract_melodic_line), and

to_midi.py declares in its own header that it drops everything below the predominant voice. The

2025 multi-instrument transcription challenge results state the honest position: several systems

now beat the MT3 baseline, but dense polyphony and timbrally similar instruments remain the

persistent weaknesses, and all systems degrade as instrument count rises

(https://ai4musicians.org/transcription/2025transcription.html, https://arxiv.org/pdf/2603.27528;

survey at https://arxiv.org/html/2406.15249v1). For a forty-layer orchestral render this gap will

NOT close by transcription alone in the near term.

9.2 dB with per-source fine-tuning, and the six-source variant adds piano and guitar with the piano

source acknowledged as weak (https://github.com/facebookresearch/demucs). Separating first and

transcribing the separated stems is the standard path, and per-stem monophonic tracking is far more

reliable than polyphonic transcription of a mix. This is worth building, with the honest caveat

that Demucs is trained on popular-music stems and orchestral separation is out of its distribution.

Plomp-Levelt-Sethares model is implementable directly from an STFT and needs no transcription: sum

pairwise roughness over detected partials, frame by frame. This is the CHEAPEST high-value

measurement addition in this document and it speaks directly to the clash question.

chroma and MFCC self-similarity, so a motif restated a fourth higher scores as new material. A

transposition-invariant recurrence plot — cross-correlating chroma across all twelve rotations and

taking the maximum — would let the card see sequence and development, which is precisely the

device that satisfies the 3-to-5 cycle variation law without adding an instrument. Currently the

card would score a good sequence as a novelty event and a bad one identically.

method note says so: two instruments in one octave read as one lane and one instrument spanning two

octaves reads as two. Non-negative matrix factorisation over the spectrogram would give component

activations that approximate part count and per-part sparsity, which is what the hocket and kotekan

checks in section 7 actually need. NMF components are not instruments either, and the honest tier

of that measurement must say so on the artifact the way lane_analysis.confidence already does.

10. Where this lane pays: constraints beat measurements

The asymmetry is the practical conclusion. Almost every principle in this document is expressible as

a CONSTRAINT on authored symbolic material, and only about half are recoverable as MEASUREMENTS from

rendered audio — and the measurable half is mostly the coarse half. A principle enforced at

composition time is guaranteed; a principle checked after generation is a rejection filter that

throws away tokens. For a text-prompted generator such as Stable Audio 3 or ACE-Step, no counterpoint

constraint can be enforced at all — the prompt can request imitation or interlocking and the model

may or may not deliver, and the only recourse is a post-hoc filter built on the gaps above. That

argues for the authored lane carrying the contrapuntal load and the generative lane carrying beds,

colour and ambience, which is what our current split already does; this document supplies the

technical reason it is the correct split rather than merely a convenient one.

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