YuE2 Field Report 3: Hook Repetition Closed, Preference Contradicts
Hook written four times moves the top repeated 8-note pattern from median 6 to 31, reaching the released floor in 5 of 5 runs. First listening test disagreed.
TL;DR — Lyric-level intervention moves the top repeated 8-note pattern from median 6 to median 31, reaching the released-music floor in 5 of 5 runs against 2 of 5, at zero measured cost to lyric fidelity. Listener preference on the first informal check went the other way.
Third field report on local YuE2. One long-standing metric closed; one preference signal that contradicts it. Reporting date: 19 September 2026.
Intervention
Write the chorus hook four times inside each [Chorus] block instead of twice. No change to the style prompt, sampling parameters, seed, or any other section.
Result
- hook x2 — 4 / 6 / 6 / 12 / 22 → median 6, reaches 12 in 2 of 5 runs, fidelity 33.2%
- hook x4 — 12 / 12 / 31 / 55 / 75 → median 31, reaches 12 in 5 of 5, fidelity 33.6%
- released reference — 12 to 33
Mean difference 27.0, standard error 12.8, t = 2.11 at n=5. Marginal on means; unambiguous on the floor.
Read the floor, not the mean. Standard deviation rose from 7.3 to 27.6 — the intervention does not tighten the distribution, it lifts its lower bound. Worst case moves from 4 to 12.
Lyric fidelity, five seeds each: 33.2% vs 33.6%, t = +0.05. No cost. Correlation between hook repetition and fidelity across all ten runs: +0.29.
Near-miss on the analysis
First-seed-only comparison showed fidelity 47% → 24%, which reads as a repetition-versus-diction tradeoff. Prior measurement put this model's per-cell standard deviation on that metric at 12-18 points, so a 23-point gap at n=1 is uninformative. Replication returned a null. Third instance this month of seed variance presenting as a finding; the previous two were published and retracted.
Metric disambiguation
Two repetition statistics were being conflated:
- Top repeated 8-note pattern — does a single phrase dominate. Was stuck at 6; released 12-33.
- 8-note self-repetition rate — is the melody repetitive overall. Was 70%; released 55-77%, already in band.
The intervention moved the first 6 → 31 and the second 70 → 76%. Only the first was the deficiency.
Chorus density is orthogonal
| Lyric change | Top 8-note pattern | Chorus/verse note ratio | Chorus range |
|---|---|---|---|
| verse doubled, hook x2 | 6 | 1.9 | 12 st |
| hook x4 | 31 | 6.5 | 12 st |
| hook x4 + verse x3 | 12 | 2.1 | 15 st |
| hook x5 + verse x2 | 34 | 4.0 | 9 st |
| released reference | 12 to 33 | 2.0 to 2.6 | 12 to 14 st |
Verse-doubling alone hits the released note ratio and leaves hook repetition unchanged. Hook x4 alone fixes repetition and overshoots ratio to 6.5. Hook x4 plus verse x3 satisfies both. Hook x5 exceeds the released ceiling on both repetition measures (34 patterns, 82% self-repetition against 33 and 77%).
Contradicting signal
First informal listening test preferred the hook x2 render — the one that fails the metric — without hesitation. n=1, no protocol, not weighed against the replication. Logged because it matches a prior pattern in this project: five rule-based melody generators hit every target band and were rejected on listening, and the cause turned out to be a property none of the metrics covered.
Claim limited to: the intervention reliably moves a structural score property into the released range at no fidelity cost. Not claimed: that it improves the song. The proxy-to-preference link is now itself an open measurement problem.
Reference: metric definitions
How the two repetition numbers are computed, and the request they came from. Full set: Axortex.
Measuring it
# top repeated 8-note pattern, computed from the generated score, not the audio
iv = [b - a for a, b in zip(pitches, pitches[1:])]
c = collections.Counter(tuple(iv[i:i+8]) for i in range(len(iv) - 7))
top = max(c.values()) # released K-pop: 12 to 33
rep = 100 * sum(v for v in c.values() if v > 1) / sum(c.values()) # released: 55 to 77%
These two numbers measure different things. top asks whether one hook dominates; rep asks
whether the melody is repetitive overall. Ours was already fine on rep and stuck on top.
The request
{
"style": "Korean, K-pop girl group dance, bright confident female vocals, 126 BPM, punchy kick, deep synth bass, crisp claps, glossy synth plucks, catchy repeated hook, no electric guitar",
"lyrics": "[Intro]\n\n[Verse]\n...",
"cot": "full",
"seed": 831001
}
Keep the lyrics in one language, put the tempo in the style as a single number, and aim for 1.0 to 1.3 notes per syllable. Five seeds minimum before believing any comparison.
References: repo · generation · benchmarks.
Image: Klaus-Dieter Keller, Galton box, Public domain, via Wikimedia Commons.
← Back to all posts