The field guide — a series that opens up one piece of the machinery at a time

Half an Hour with Dead Composers

exhibit thirty-five The field guide
Published 2026-09-02 (UTC)
A small (human) team and a fleet of AI agents.

Part one of this series taught a music model Chopin in five minutes and handed you a dial. This is the rest of the story: two more dead composers taught the same way — a hundred and six marches, then Bach — and then the part we've been building toward: blending composers with linear algebra, where the obvious method is mathematically wrong, the correct one costs a measurable one percent to squeeze back into a single file, and a sentence already staged for publication had to be taken back before you ever saw it. Every claim carries a receipt, including the retraction.

Previously, in five minutes

If you read part one, you know the machinery: an open-weights music generator (ACE-Step 1.5), a small detachable adapter trained with LoRA in under five minutes on a five-year-old consumer graphics card, and a strength dial that provably changes the sound — with the honest line that nobody has yet proven the far end of the dial sounds like Chopin. One more part-one mechanic rides along: each adapter answers to its own made-up name tag — part one's was pd-shakedown, and the two below are sousa-shakedown and bach-shakedown. That piece ended with a promise: the other dead composers are coming. Here they are — trained the same week, by the same recipe, on the same card, so the runs are comparable by construction.

Sousa: a hundred and six marches

The second corpus could not be more different from twenty-four solo-piano recordings: the complete marches of John Philip Sousa — 106 recordings by a full military band, 4.4 times as many recordings as Chopin's corpus whether you count what was fetched or what was trained on. The rights chain has two layers, and both are clear: the recordings are works of the United States federal government, which by law cannot carry copyright at all, and the compositions left copyright by age. (The archive mirror adds a third, independent stamp — a public-domain mark on every one of the 106 items, verified per item, not sampled.)

One beat from that verification is worth retelling. The band's own website answered our fetcher — which identifies itself honestly, by name — with HTTP 403. We don't dress our tools up as browsers to get past a filter, so the corpus came from the Internet Archive's mirror instead: every one of the 106 files checked against the archive's published checksums and byte lengths, 106 of 106, zero mismatches. Slower, and proven.

🔊 Listen 1 — a probe, the stock model with no adapter attached · sha256 (first 16) 1bcc23ac3fa0b85e — just ask the stock model for a Sousa-style march, in plain words. A probe with its own request, not a control — the switched-off renders below are this page's baselines. 🔊 Listen 2 — the march request, adapter attached but turned to zero · f8490e7086b88ac5 — part one's cleanest kind of baseline: everything held fixed, the adapter contributing nothing. 🔊 Listen 3 — the same request, the Sousa adapter at full strength · c617868d661a4112 — the one to hold against Listen 2: same request, the adapter contributing all of it instead of nothing.

🔊 Listen 1 — a probe, the stock model with no adapter attached · sha256 (first 16) 1bcc23ac3fa0b85e — just ask the stock model for a Sousa-style march, in plain words. A probe with its own request, not a control — the switched-off renders below are this page's baselines.
🔊 Listen 2 — the march request, adapter attached but turned to zero · f8490e7086b88ac5 — part one's cleanest kind of baseline: everything held fixed, the adapter contributing nothing.
🔊 Listen 3 — the same request, the Sousa adapter at full strength · c617868d661a4112 — the one to hold against Listen 2: same request, the adapter contributing all of it instead of nothing.

Each code is the first 16 characters of that file's sha256; every clip on this page is AI-generated.

Training: ten passes over 84 recordings (22 held back by piece, same rule as part one), 14 minutes 36 seconds by the trainer's own clock — the longest run in this story.

And now the confession this section owes. The Sousa run produced the arc's first real process lesson: select the checkpoint you ship on its measured loss, never on recency. Its halfway checkpoint — pass five of ten — carries better training loss than the "final" pass-ten file (0.8768 against 0.8839). The lesson was written down the same day. Here is the honest part: it was written from Sousa and never applied to Sousa. The shipped adapter is the pass-ten file, byte for byte — and every artefact downstream used it: the duet, the trio, the full-strength march above. The lesson was a lesson for the next run, not a description of what shipped.

We did render the road not taken. The halfway checkpoint's render sits 0.10629 from the shipped one on the same request and seed — more than half either one's distance from its own switched-off baseline — so the loss plateau did not mean the adapter stopped moving. Which of the two is the better adapter is an ears question, and no ear has ruled; nothing downstream was rebuilt on it. Judge for yourself:

🔊 Listen 4 — the halfway checkpoint, same request · 817694f173534e85 — against Listen 3 above, which is what shipped.

🔊 Listen 4 — the halfway checkpoint, same request · 817694f173534e85 — against Listen 3 above, which is what shipped.

The next run that finally applied the lesson — a fourth adapter, whose story is a later piece — promptly met the sequel: its true best pass was never saved at all, because snapshots were written every five passes and its best loss landed on pass nine. The training ledger we now keep has a column whose whole job is recording how the shipped checkpoint was chosen.

Bach: the pianist who freed her own recordings

The third corpus solves the licensing problem the most direct way imaginable: the performer gave the recordings away herself. Kimiko Ishizaka's crowd-funded "Open" Bach projects — the Open Goldberg Variations and the Open Well-Tempered Clavier, 79 recordings — exist precisely so that studio-grade Bach can be free: the Goldberg files carry the CC0 public-domain deed outright, and the Well-Tempered Clavier files carry a public-domain mark whose own rights field asserts the same dedication. The dedication is in the archive items' metadata, not inferred from reputation. And one tempting copy of the same music, offered under a licence requiring attribution, was declined on purpose — this arc wanted corpora with zero obligations, so that every credit on this page is paid voluntarily.

One defect in the source material, caught by two independent receipts: the Goldberg album ships 31 files for 32 pieces — one file is two variations joined together, found because its duration matches the sum of the two movements on a sibling release to within a tenth of a second, and because its own filename names both. Our train/held-out splitter as written would not have seen it, so the split machinery had to grow: Chopin's corpus had one piece recorded twice; Bach's had the mirror image, one file carrying two pieces; the unit of splitting became the connected group of files-and-pieces, which handles both directions at once. The rule stands: the same piece never sits on both sides of the test, whatever shape the files arrive in.

Training: 63 recordings in, 16 held back, 8 minutes 23 seconds.

🔊 Listen 5 — the Bach adapter, solo · 0356a72033c3d301 — this pair runs the other way round from Sousa's: the adapter first, its switched-off baseline second. 🔊 Listen 6 — the same request, the adapter attached but turned to zero · 85e1dcd0ad099540

🔊 Listen 5 — the Bach adapter, solo · 0356a72033c3d301 — this pair runs the other way round from Sousa's: the adapter first, its switched-off baseline second.
🔊 Listen 6 — the same request, the adapter attached but turned to zero · 85e1dcd0ad099540

The bill

ChopinSousaBach
corpus → training files24 → 19106 → 8479 → 63
held back, by piece52216
training passes101010
training time (the trainer's own clock)4m 49s14m 36s8m 23s
training error, first pass → last0.94 → 0.611.24 → 0.880.93 → 0.57

Total: 27 minutes 48 seconds of training for three composers — the half hour of the title, on one five-year-old card. (Two honesty notes on the table: clock-on-the-wall timings run a few seconds longer per run, counting model load and adapter save, and the table quotes the trainer's own clock; "training error" is the trainer's per-pass mean loss throughout — its log also prints per-step figures, and the kit carries both.) What that half hour costs per second of music — and why the second, not the track, is the honest unit — has a piece of its own coming.

You cannot average two composers

Now the part we saved for last. Each adapter is a file. Two adapters trained on the same model, in the same shape — surely you can just average the two files and get a blend? No — and the reason is the good part.

An adapter changes the model through a product of two learned matrices: A squeezes the signal down into the adapter's small space, B projects it back out. Average A with A and B with B across two adapters, and the multiplication turns on you:

(½·B₁ + ½·B₂) × (½·A₁ + ½·A₂) = ¼·(B₁A₁ + B₁A₂ + B₂A₁ + B₂A₂)

Those middle terms pair Chopin's squeeze with Sousa's projection and vice versa — mathematical chimeras that belong to neither composer and to no blend of them. The correct target is to add the adapters' effects, not their pieces — and that sum is too big to fit back in an adapter-sized file, so it gets squeezed to fit: a standard technique (truncated SVD) finds the best small stand-in by one exact measure — least squares, matrix by matrix — and the tool that does it then prices its own approximation against the exact sum it could not keep:

mergeparentsmean error vs the exact blendworst matrix
Bach + Chopin21.1 %3.6 % — a key projection, layer 17
Chopin + Sousa21.2 %3.4 % — a key projection, layer 7
the trio31.5 %4.3 % — a key projection, layer 17

Two parents cost about one percent of error; a third adds about 27 % more. And a pattern we did not expect: in all three merges, the hardest thing to squeeze is a key projection — three for three. Whatever the attention mechanism's "keys" are doing for these adapters, that projection is the least compressible part of them. (Fine print: parents must share the same capacity settings so the scaling cancels; the whole operation runs offline on the CPU — a weight merge touches no graphics card; a merged adapter comes out as an ordinary adapter file — same size, same shape as its parents. And one disclosure: one of the three merges has no surviving build log — the Chopin+Sousa error row comes from the merged adapter's own records, which is what the kit carries.)

Where the blends actually sit

Three clips on one request and one pinned seed: the duet, then each parent alone as its control. Whether the first sits between the other two is what the numbers below ask.

🔊 Listen 7 — the 50/50 Chopin + Sousa duet · 82b09312c1365513 🔊 Listen 8 — the same request, Sousa alone · 300deb847f8597e2 🔊 Listen 9 — the same request, Chopin alone · eec9348b428bc7dd

🔊 Listen 7 — the 50/50 Chopin + Sousa duet · 82b09312c1365513
🔊 Listen 8 — the same request, Sousa alone · 300deb847f8597e2
🔊 Listen 9 — the same request, Chopin alone · eec9348b428bc7dd

First, the guard that makes any of these numbers readable: every comparison in this section holds the request and the random seed fixed, and moves only the adapter — the single-adapter versions were rendered specifically as controls for these comparisons. By part one's crude ruler — lining clips up and adding up how far apart the waveforms sit — the duet behaves like a genuine middle: its render is closer to each parent than the parents are to each other (0.112 and 0.127, against 0.152 between the parents). That claim is clean and survives its own numbers.

Separately, and on a completely different kind of evidence: one of us — the one who runs the machines — listening informally, off-gate and unblinded — said this about the same clip, quoted exactly as typed: "the 50/50 chopin/souza duet is the best imo, truely unique". That is a preference, not a measurement; it is on this page because the house reports what its own ears said and labels it exactly what it is.

Equal weights, by the way, do not buy an equal blend. The trio below, asked for at equal thirds, leans toward Bach by waveform closeness (38.8 % where an even split predicts 33.3 %) — while by brightness it sits 35.9 % of the way from its darkest parent to its brightest, where an equal blend predicts 56.3 %. Two axes, two answers; we report both and reconcile neither.

The sentence we took back

The trio's clips share one payload — 60 seconds, 96 BPM, C minor, one fixed seed — with all three parents rendered alone on the identical request as controls.

🔊 Listen 10 — the trio: three composers at equal thirds · f6d6d2e74801f888 🔊 Listen 11 — the trio's request, everything turned to zero · 52dded99ece5bf25

🔊 Listen 10 — the trio: three composers at equal thirds · f6d6d2e74801f888
🔊 Listen 11 — the trio's request, everything turned to zero · 52dded99ece5bf25

And here is the sentence that was staged for publication — "the trio is closer to each of its three parents than any two parents are to each other"and it is false on its own numbers. One of the nine comparisons breaks it: the trio sits 0.11358 from Chopin, while Bach and Sousa sit 0.11120 from each other. A reader with the table in hand breaks the sentence in one subtraction, so we broke it first. The honest replacement survives: for each parent, the trio sits closer to that parent than that parent sits to either other composer — three for three, same geometry. The margin the false version failed by, 0.00238, is nearly two orders of magnitude below the seed-to-seed spread our ruler carries — we retracted the sentence because it fails arithmetically, not because the geometry swung. A published claim that loses to its own table by any margin does not ship. That is the rule, not the physics.

The ruler's noise floor

And now the caveat that governs every distance on this page, stated beside the numbers. We measured our ruler's own noise floor, and it is humbling: four Sousa renders differing only in the random seed sit 0.18225 apart on average — while the Sousa adapter itself moves a render 0.19274 from its own baseline. The floor is 95 % of the largest adapter effect we measured — and the Chopin and Bach adapters pull 0.077 and 0.093, less than the floor. What that floor forbids is reading any distance as an amount of style. What it does not forbid are the orderings above, because the seed was pinned in every comparison those orderings rest on — the floor itself was measured by deliberately letting the seed move, and nothing else. The ruler counts moment-by-moment difference; whether any of these clips sounds like a blend belongs to ears, and to a sealed listening test this series still owes itself.

The blend that wasn't

One more receipt, because it explains why the merges exist at all. The serving engine that renders these clips accepts two loaded adapters with a strength for each, and reports exactly what you asked for — and silently plays only the last one you touched. We know because the "both adapters at 0.6" render came back byte for byte identical to the Sousa-only control: 11-crossover-nocturne-brass.wav and ctrl-sousa-only-0.6.wav, one sha256 (206f174346f91448) between two files requested as different things — while the Chopin-only control hashed differently (30073e5ebdfbeffc). The engine's status report was bookkeeping, not truth. Blending is a merge-time operation, full stop — and both files stay on the access-controlled review shelf under both names, because a duplicate that proves something is worth more than a tidy directory.

What we did NOT measure

Whether any merge sounds like a blend of its parents — no formal, blinded listening test has been run on any clip in this series; the one listening event on this page is a single person's off-gate preference, labelled as exactly that. Style claims from distances — the noise floor forbids them. Whether the pinned key was honoured: the estimator confidently reads F major against a pinned D♭ on every solo-piano clip, and we cannot tell from this evidence whether the pin carries little weight or the estimator is the wrong instrument for sixty seconds of one texture — we did not pick the flattering reading. (Tempo pins, by contrast, came back honoured, allowing for the beat-tracker's standard octave ambiguity.) Whether the better-loss Sousa checkpoint is the better adapter — its render exists and you heard it, but no ears have ruled between the two, and nothing downstream was rebuilt. And the held-back pieces of all three corpora are still waiting for their test.

What to take with you

  • Three dead composers cost just under half an hour of training on one five-year-old card — the same recipe, unchanged, three times.
  • Read the rights chain, not the licence flag: one corpus was cleared on two layers at once, one was freed by its own performer, and a tempting copy with strings attached was declined on purpose.
  • You cannot average two adapters — the multiplication manufactures cross-terms that belong to no composer. Add the effects, squeeze honestly, and the squeeze bill is measurable: about one percent for two parents.
  • A distance ruler proves change, never style — ours has a noise floor that is 95 % of the largest effect we measured, and every claim on this page respects it.
  • The sentence that failed by 0.00238 did not ship. What ships is the version that survives its own table — and the retraction, printed with the same care.

How to check our work

Every number on this page traces to a training log's own per-pass lines, a measurement record, or a rights receipt read at acquisition time. The data kit beside this article carries the full fingerprints of every clip and the map from each player to its file, the render requests behind every clip verbatim, the training logs' pass lines for all three runs, the merge error tables, the distance tables behind the geometry claims — including the one that killed the retracted sentence — the corpus manifests with their checksums, and the rights-chain receipts. Where two honest instruments disagree, the kit carries both readings.

Who ran this, and thanks

The corpora: the United States Marine Band's complete Sousa marches, via the Internet Archive's mirror — "Audio and scores courtesy of the one and only, the President's Own, The U.S. Marine Band"; Kimiko Ishizaka's Open Goldberg Variations and Open Well-Tempered Clavier — dedications that are the whole point of those projects; and Musopen's Set Chopin Free recordings, carried over from part one. None of the three demands credit, which is exactly why we give it. The model: ACE-Step 1.5 (MIT — its row on our licence ledger) — every clip on this page is AI-generated, and says so. The trainer: Side-Step (github.com/koda-dernet/Side-Step), the corrected-timestep LoRA trainer vendored in ACE-Step 1.5; its upstream licence is CC BY-NC-SA 4.0, though the vendored copy says it follows ACE-Step's MIT — we proceed on the stricter reading, and wrote to ask.

And beneath all of it, the open tools this work stood on without modifying: PyTorch and torchaudio, which ran the training, and PyTorch again for the merges' arithmetic; Hugging Face's PEFT library, the LoRA machinery itself; FFmpeg, the decoder that read every training file; and the Internet Archive, three times over — the two items that carried the Bach recordings, the mirror that carried the marches, and the Wayback Machine that held part one's licence page. None of them owed us anything. A small team and a fleet of AI agents did the work; the humans signed the numbers — how that works is next door.

The rest of the seminar

Part one — Teaching a Music Model Chopin in Five Minutes — is the field guide this piece stands on: what the model is, what an adapter is, and the strength dial from 0 to 100 %. Coming next: what a corpus actually costs to teach — which turns out to be bought by the second of audio, not by the track, and which pays off the bill above; the memory question part one left open, with the queued test's answer either way; and the fourth adapter — a genre this time, not a composer. One piece at a time.

elsewhere in the workshop

a strata→signal property · hello@strata2signal.com · say hello