melchordgendaily · 02
← all reports

Report 02 · July 7, 2026 · restructured July 10 per editorial review

The climb to six fives

In one day the recipe went from a single rated 4 to six clips the producer rated 5, across two samples. This report covers the seven findings and decisions that did it, with everything else in a collapsed timeline at the bottom. Terms of art are defined on the methodology page.

TL;DR

6
clips rated 5 today (across 17 batches, b28-b44)
a maximized metric lost to the ear
2
new taste laws (L19, L20)
90%
of the training corpus was duplicate saves
014:12 am → 11:30 pmRESULTthe arc

The whole day, wrong turns included

Owner rating per batch, all seventeen batches. The two red dips were both caused by trusting a number over the ear, and both recovered within a batch. The dashed line marks the standing rule (D082): ratings are stage-relative, so the bar a 4 must clear keeps rising.

One point per batch (best-rated clip). Red = wrong turns, green = 5-rated wins, blue = holds. Each label names what changed in that batch.
024:12 am / 6:48 amFINDINGcohesion

Made together beats statistically matched

b28 held the highest "him-score" the taste fingerprint had ever produced (0.91), a chord voicing built to match his aggregate statistics. He rated it down, the voicings reading as odd. b29 generated the melody and chords together (the connections model: chords first, melody conditioned on them, trained on 20,178 section-aligned pairs from his own projects). It matched his statistics less and he liked it more, recovering the scores to 3s and a 4, then all 4s once timing-grounded.

b28 · stat-matched voicing
0.91
highest him-score; rated 2-3
b29 · generated together
4
lower him-score; the first sign of the model listening

The explanation is context: his real chords are sparse because the rest of a mix fills them in, so stat-matched voicings sound incomplete played alone. Decision (D081): the fingerprint is a selector among real generations, never a synthesis target, and cohesive generation became the recipe's core. The same lesson repeated four times during the day (him-score, melodic interest, out-of-key percentage, wide voicings); each metric was demoted to a diagnostic.

037:42 am / 10:01 amFINDINGthe first fives

The first 5s, and the moderate rule

b31 produced the project's first 5 (read as delicate and intentional) by generating many candidate melodies and selecting on a melodic-interest metric. The selection data showed the shape of the rule: the maximum-interest take (12.7) rated 4, too much of a good thing; a moderate one (9.9) took the 5. The relationship between the metric and his ear is an inverted U, so selection targets the middle of the metric, never its extreme (D083). b33 brought the second 5 on the D-major sample by adding a harmony adapter trained on his liked tracks, closing a major-key blandness gap his own corpus data had predicted. His note marked the jump: this was loop-level now.

0410:34 amDECISIONcolor

L19: his "color" is in-key richness, not chromaticism

The team had been measuring harmonic "color" as out-of-key content. b34 tested that directly by forcing 33% out-of-key material, and he rated all three clips 1, hearing them as harsh and menacing. The rich in-key progression of b33 had taken a 5 the same morning. The law that resulted (L19): color means consonant extensions (7ths, 9ths, 6ths) and interesting in-key progressions; out-of-key notes are acceptable only when they resolve. The out-of-key percentage metric was retired as a wrong proxy. Next action taken: progression variety within the key became the working lever (b35-b37 all pointed the same way, with avoid the plain dominant in major as a sub-rule).

0512:42 pm → 1:52 pmFINDINGgroove

Call and response: two 5s from chord timing

With harmony settled, the remaining ceiling was groove. b38 tested four chord-timing feels; b39 refined the winners. Measured on the clips (melody and chords as separate tracks), the winning mechanism is temporal separation: the melody speaks in the front of the bar and the chords answer in the back, instead of stacking on the same beats. His verdict on b39: two 5s, with the interplay between melody and chords drawing the highest praise yet.

melody attackchord attackshaded = back half of the bar
clipchord-timing feelchord attacks on melody attacksrating
b38-02rigid, every half-bar39%3
b39-02response, answers at cells 8 and 12 of the 16-cell bar grid47%5
b39-03breathe, syncopated answers33%5

A second fix rode along: a surgical post-pass that snaps only semitone-clashing melody notes to a chord tone ended a wrong-notes-near-the-end complaint that had recurred across many batches. Both mechanisms later became plugin code.

066:07 pmFIXtraining health

The models were undertrained, badly

Instrumenting training with a held-out validation split exposed the day's biggest hidden problem: the old 4-epoch training runs stopped far too early. Retraining the harmony adapter to a 40-epoch ceiling, held-out loss at the old stopping point read 1.74; at epoch 40 it read 0.69 and was still falling. The weak, sparse melodies that had been treated as a style limit were a training-length symptom.

train lossvalidation lossdashed = the old stopping point
The harmony adapter retrained with a validation split. Both curves still dropping at epoch 40; the old stop at epoch 4 left more than half the loss on the table.

Fix adopted: every training run gets a validation split and stops at the validation minimum (the "sweet-spot" discipline). The prediction that this would produce the next 5 was confirmed the same evening (section 08: b43).

072:42 pmDECISIONthe library

A library, not a loop

When one b40 take came out sparse and held, the producer did not rate it as a failure; he kept it, naming it a bridge section, a styling option. That reframe moved the project's target from perfecting one loop to building a library of section types, and (his product direction) each style that survives his ear becomes a user-selectable preset in the VST. Plotted on note density against melodic leap size, the day's rated takes cover two distinct pockets, and the F-minor batch lands in the same pocket as the D-major 5s, which is what recipe generalization looks like.

rated 5rated 4rated 3
Each rated take on two axes. Dense-and-smooth holds the 5s ("main" sections); the sparse-and-leapy point is the bridge. The F-minor takes (same recipe, different key) land in the main pocket.

Next action taken: a draft preset taxonomy was written (7 parameters, 4 seed styles, each seeded by a rated clip); the producer ratified it that evening.

088:12 pm → 9:16 pmDECISIONevening laws

Three verdicts: a new law, a proven fix, a style named

b42 (F-minor progressions): two 4s and a 2, and the 2 taught the law. The failing clip held a chord voiced with a flat-9 against its root for two bars; the identical cluster held for one bar inside the winning clip read as color; same cluster, same key, duration the only difference. L20: dissonance may pass (one bar), never hold. A mechanical guard shipped the same hour.

The same dissonant cluster in both progressions. One bar inside the winner rated 4; two bars rated 2. Duration is the discriminant.

b43 (melody A/B): the sweet-spot-retrained models with a densest-take pick beat the old undertrained path, 5 and 4 against 4, confirming section 06's prediction within hours. Sweet-spot training plus density became the default melody path. b44 (third-chord test): 5, 5, and a 4 whose note named a new style: rated fire, with a feel that escapes straight 4/4. Off-kilter, named by the producer himself, produced by early-resolving passing chords, joined bridge and delicate as the third style the producer has named himself. The F-minor melody problem that opened the day closed with F-minor rated 5.

099:30 pm → 11:30 pmFIXthe night

The corpus audit: 90% of the training data was duplicate saves

The producer approved the whole-loop "stacks" model that evening, approving the cook and topping up the pod, and preparing its dataset exposed a corpus-wide problem: the file glob was sweeping in Ableton backup saves, near-identical copies of the same sections. Left alone, duplicates landing on both sides of a train/validation split would make validation loss read low and break the sweet-spot discipline adopted in section 06. The fix (D105) became a hard precondition for every future training run: skip backup directories, drop exact duplicates, and hold out validation by whole projects.

8,605
raw files
1,485
real files (backups dropped)
5,932
stacks · 364 projects
3,086
after exact dedupe
2,455 + 631
train + val (39 unseen projects)

Two more pre-compute catches landed the same night: a preflight decoder found a silent token overflow before the training run could spend 6-18 GPU-hours learning corrupted data, and the first stacks model (trained after both fixes) was evaluated, found below the bar for the producer's ear (wrong key centers, 1 of 3 takes passing screens), and held back rather than delivered. Its successor launched with three recorded lessons. Next action: the stacks verdict resolved the following day (report 03).

10all daytimeline

Everything else, one line each

the full chronological timeline (17 entries)
~4:00aFirst live measurement of the duration lever: overlap with his leads doubled (25% to 52%); density overshot in the trade and was recalibrated.
7:03ab30 locked the denser melody fill (his leads run ~3.0 onsets/second; the model sat at 2.2 and read as sparse to his ear).
8:13ab32 exposed the major-key blandness gap (all 3s); his own corpus is equally colorful in major and minor, so the gap was learned, not his taste.
10:52ab35: avoid the plain dominant (V) in major; substitute vi. Minor v stays liked.
11:22ab36: conditioning the melody on the chords (not the sample) fixed a recurring wrong-notes bug and produced call-and-response on its own.
12:32pb37 backed progression variety; winners I-vi-IV and I-vi-IV-ii; the producer named chord initiation times as the next lever.
2:56pb41 (F-minor, same recipe): 3/4/4, structural generalization confirmed; melody quality was the weak axis.
6:42pReport compiled; the full techniques writeup is in the appendix below.
8:22pb42 and b43 pre-screened by the library gate before rating; the screen's calls were later graded against his verdicts (1 hit, 2 instructive misses, logged as divergence #5).
8:55pThe draft preset map charted: the 4 seed styles do not fully separate on melody statistics; the differences live in chord timing.
9:30pOwner ratified the preset taxonomy and the stacks model, approving both; pod topped up.
10:08pPreflight decoder caught the silent token overflow (section 09); rebuild ordered before the training run.
10:30pOwner to sleep with standing orders to continue working without holding gates for him. Overnight protocol engaged.
10:36pThe 40k-sequence build identified as backup-save pollution; dedupe and split-by-project requested, adopted as D105 within the hour.
11:00pClean corpus landed within 8% of the original projection; composition better than expected (42% true multi-melody sections).
11:15pStacks v1 training launched on the verified split.
11:30pv1 finished fast (validation minimum at epoch 2), its evaluations were held back from the producer, and v2 launched with lessons recorded.
116:42 pmappendix

How the whole thing works

the techniques writeup, in full (plain language)

His catalog becomes training data: every project is cleaned and split, melody and chords are what the model generates, drums and bass are context it hears but never writes (2,094 projects, 50,412 clean clips, 19.6k leads and 6.7k chord clips, three LoRA adapters).

The base is a pretrained Anticipatory Music Transformer, about 360M parameters, predicting the next token the way a language model does. A MIDI note becomes three tokens (start, length, pitch); a four-bar loop is a few hundred in a row. His 2,000 projects are tiny next to what the base saw, so full retraining would overfit; LoRA freezes the original weights and trains a small set of new ones beside them, about 1% of the total. The base keeps general musicality; the adapters carry his style, swappable like presets.

The key-bias fix: he writes in C and pitch-shifts with an Ableton device, so training reads the device's offset to recover true sounding keys, then transposes every clip into all twelve keys so the model learns shape, not a home key. The cohesion fix: chords are generated first and the melody is generated while seeing them, which killed wrong notes and produced call-and-response on its own.

A single generation is a dice roll, so the system generates many and filters: a taste fingerprint scores how "him" each candidate is, quality screens drop clashes and lifeless takes, and the survivors go to his ear. Training health is watched on a held-out validation split (stop at the minimum). To eventually run in real time, the plan of record is 8-bit quantization on a runtime built for it.

None of these techniques is exotic alone. The system property is the loop between them and one person's ratings: measure, pull one lever, generate, listen, keep what the ear likes, never trust a number over the sound.

1211:45 pmcarried forward

What this day left the project

Six 5-rated clips across two samples. Two taste laws (L19 in-key color, L20 tension-passes-never-holds). The sweet-spot training discipline and the deduplicated corpus it depends on (D105). The library direction with its preset taxonomy ratified and a producer-named style (off-kilter). And one running bet: the stacks whole-loop model, cooking into the night, resolved in report 03.

Sources