BWV 988 · Literature Review
What is known about the nine canonic variations, and what a visualisation can honestly show — research in service of a tool for seeing how Bach did it.
22 July 2026 · twenty-four sources · nine canons
One line, its own copy, and a harmony fixed before either was written. Nine times, at nine widening distances.
Every third variation of BWV 988 is a canon, and the interval widens by a step each time — unison, second, third, on to the ninth. In each, Bach writes a single line; the second voice is that line again, displaced. Both must fit a harmonic scheme he had bound himself to before he began. Every note has to work twice: where it is put, and wherever its copy lands.
That is what the Canon Machine sets out to make visible. This document is the reading behind it: what the scholarship establishes about these nine movements, what it leaves open, and the few places where note-level data settles a question the prose leaves ambiguous.
Two structural readings the project once presented as its own — Variation 24’s alternating leadership and Variation 27’s change of direction at the double bar — turn out to be established. Both are credited on the page now, and below.
Tepfer’s sister-canon idea falls straight out of data already in the repository — and it is the strongest thing the piece could build next.
Reduce every canonic region to its diatonic degree shift, take that modulo seven — octave equivalence in degree space — and keep the direct/inverted distinction. Counting Variations 24 and 27 by region, the nine canons collapse to exactly five transformations, each containing exactly two canons.
data/canons.json and data/notes/v*.json with no new
assumptions; independently reproduces Tepfer’s count.The machine already computes in scale degrees. It could sort the nine plates by transformation rather than by interval name and show the collapse directly. Nobody has visualised it.
Why this matters for the ladder. The project’s next-step list already has “separate Bach’s nominal interval from his actual regional transformation.” This is the argument for making that the headline rather than a caption fix — and it changes what the ladder should be sorted by, so it wants deciding before the visual pass, not after.
Verified, and about as well known as a fact about this piece can be.
Three independent descriptions, none of them specialist:
“it is the only canon of the variations in which the leader alternates between voices in the middle of a section.” Wikipedia, Goldberg Variations
“1st quarter —> below / 2nd quarter —> above / 3rd quarter —> above / 4th quarter —> below” Dan Tepfer, “Sister Canons in the Goldberg Variations”
“Initially, the canonic line is answered at the octave below, and the second canonic line is answered at the octave above… this procedure is predictable for Bach, reversed in the second half.” “My favorite Canons and other Musical Puzzles II”, Interlude
The four-region reading and the −7 / +7 / +7 / −7 fit are consistent with all of it.
Describing this variation in words is genuinely awkward, and the sources show it. Tepfer’s BachUpsideDown page gives the shape as “↑ ↓ ↓ ↑” — above, below, below, above — where his Sister Canons post gives below, above, above, below. The difficulty is real: “an octave away” is direction-neutral until you fix which voice you are measuring from, and a canon that swaps leader mid-movement makes that choice slippery in a sentence.
Our note data resolves it. Median semitone interval from leader to follower across the paired
notes of each quarter of data/notes/v24.json:
| Region | Paired notes | Median follower − leader | Direction |
|---|---|---|---|
| First quarter | 60 | −12 | below |
| Second quarter | 16 | +12 | above |
| Third quarter | 46 | +12 | above |
| Fourth quarter | 23 | −12 | below |
Below, above, above, below — agreeing with Sister Canons and with the Interlude description. This is not a correction so much as a disambiguation: it is exactly the kind of question that is hard to pin down in prose and trivial to read off a plate, which is a fair summary of what the tool is for.
Described by Tepfer, and largely absent from the general reference literature — which makes it one of the most rewarding things a visualisation can show.
“the direction of the canon changes in this variation: in the first half, the answer occurs a ninth above, in the second half a ninth below.” Dan Tepfer, “#BachUpsideDown”
Wikipedia does not mention it. Neither does the Interlude survey, which discusses Variation 27 at length but only to say the voices do not cross. So it is genuinely unremarked in the general literature — but it is published, by the one writer the project already names.
The reason he cares about the flip is not the flip. It is that the flip changes which canon this is:
“The canon at the 9th does double sisterly duty. It’s the only canon where the switch of direction actually changes the transformation.” Dan Tepfer, “Sister Canons”
A ninth above maps G to A — the same degree transformation as the canon at the second, Variation 6. A ninth below maps G to F — the same transformation as the canon at the seventh, Variation 21. Variation 27’s two halves are Variations 6 and 21 wearing a different interval name.
Seven claims checked against the literature.
Tepfer on Variation 15: “the second of only two inverted canons in the set, meaning the second canonic voice repeats the first in diatonic inversion.” Wikipedia describes both as contrary motion and no others. Uncontested.
Standard descriptions call it “strict imitation at the half bar.” No other canon imitates at a sub-bar distance relative to the fundamental bass.
A useful side result came out of checking this. FACT_LOCK.md marks the
canon-parameter recovery unverified — script missing. The
method is still unreproducible, but the parameters now have independent
external corroboration: every one of the nine delays matches its published verbal
description, nine for nine.
| Var | Metre | delay_quarters | = | Published description |
|---|---|---|---|---|
| 3 | 12/8 | 6.0 | 1 bar | “a bar later” |
| 6 | 3/8 | 1.5 | 1 bar | “repeated a bar later … a step above” |
| 9 | 4/4 | 4.0 | 1 bar | “repeated a bar later a third down” |
| 12 | 3/4 | 3.0 | 1 bar | “the follower enters in the second bar” |
| 15 | 2/4 | 2.0 | 1 bar | “enters in m. 1 and is answered … in m. 2” |
| 18 | 2/2 | 2.0 | ½ bar | “strict imitation at the half bar” |
| 21 | 4/4 | 2.0 | ½ bar | “two beats later a seventh above” |
| 24 | 9/8 | 9.0 | 2 bars | “repeated two bars later an octave away” |
| 27 | 6/8 | 3.0 | 1 bar | consistent with the half-by-half account |
This does not un-mark the FACT_LOCK entry — the blind-recovery claim still needs committed code — but the parameters the machine runs on no longer rest only on a missing script.
“The only pure canon of the work, because it does not have a bass line.” It is also the only canon where two manuals are specified for a reason other than hand-crossing. Widely stated; sayable, but not as a finding.
The measurement holds up. In data/notes/v03.json the voice labelled
follower sounds from quarter 0.0; the leader does not enter until quarter
6.0, which in 12/8 is the downbeat of bar 2.
But no published description says anything of the kind, and the note in
data/canons.json — “‘The leader enters first’ is false
for this canon as engraved” — is wrong as written. Every source states the
canonic relation: leader first, follower a bar later. That relation is not in dispute and our
data does not dispute it. What the data shows is narrower — the staff that will carry the
answer is already sounding, freely, before the subject is stated. The two statements are
compatible; the note in this project’s data phrased a narrow observation as though it
overturned the standard description, and has been reworded.
The Handexemplar was found in 1974 at Strasbourg by Olivier Alain and is now at the Bibliothèque nationale de France. Christoph Wolff introduced it to scholarship in the Journal of the American Musicological Society 29/2 (1976), 224–241. Fourteen perpetual canons on the first eight bass notes, written on the inner back cover, ending not with Fine but with etc.
And here a live scholarly disagreement worth having. Wolff and most subsequent writers treat the fourteen canons as foundational — preparatory work feeding the Canonic Variations and the Musical Offering. Elise Crean argues the reverse:
“I will suggest that the Fourteen Canons should be viewed as the culmination of Bach’s engagement with strict counterpoint.” Elise Crean, “The Fourteen Canons (BWV 1087): Foundation or Culmination?”, Understanding Bach 5 (2010)
The 960-bar / 480:480 reading requires counting Variation 22 alla breve; as notated
the total is 976 and the split is 480:496. That caveat is already in
FACT_LOCK.md and must stay attached to the number wherever it appears.
Ruth Tatlow’s Bach’s Numbers (2015) is the primary statement; Alan Shepherd’s Let’s Calculate Bach (2021) is the quantitative test, applying Monte Carlo simulation and hypothesis testing to ask how often such proportions arise by chance.
One caveat on our own file. FACT_LOCK records a 7.3% Monte Carlo probability attributed to Shepherd. That passage could not be reached from any freely accessible source this session — Springer’s full text is paywalled. The figure is contradicted nowhere; it is simply not independently confirmed here, and wants a page citation from the book before it is quoted as settled.
Worth knowing as background: Herbert Anton Kellner’s Mathematical Architecture of Bach’s Goldberg Variations is the older genre Tatlow’s work displaced — it derives significance from JSB = 29, CREDO = 43, DEUS = 47. A useful negative example of what this counting looks like without statistical discipline. The project should not cite it approvingly.
Qualified yes. The precise term is fundamental bass, but the page’s prose already does the work the term alone cannot.
Peter Williams prints the extracted line in the Cambridge Handbook under exactly that heading. The reason is that the thing is not an ostinato:
“The extracted fundamental bass shown above never occurs in this pure form, not even in the opening aria which first presents this bass pattern. Despite this, it is this fundamental bass that acts as the harmonic framework for thirty variations.” Richard Lee-Thai, J. S. Bach’s Goldberg Variations, citing Williams pp. 36–38
“the ostinato bass patterns in a chaconne or passacaglia are relatively short, ranging from a 2 to 8 bar pattern, whereas the fundamental bass of the Goldberg Variations is 32 bars long. Due to its extended length, any element of ostinato it may have had is removed…” ibid.
But ground bass is not an error. It is current in the specialist literature: Crean writes of “the eight note ground bass” throughout her 2010 article, and Wikipedia says “the ground bass on which the entire set of variations is built.”
No variable renaming is warranted. groundQuarters, gcol and the rest
stay as they are.
Two papers arrived after this review was first written. Between them they supplied the sentence the piece had never had about itself, and exposed a defect in a rule it displays.
Hane Htut Maung argues that composing a canon involves modal property perception — perceiving not only how a thing is but how it could be, a notion he takes from Jessie Munton’s work on vision. A skilled contrapuntist does not merely see the subject as notated; he sees the transformations it will tolerate. Maung likens it to a Tetris player seeing a piece already rotated into the gap.
That is almost exactly this machine’s interaction model, and it gives the piece its missing thesis: Bach perceived the combinations the reader has to search for, and the distance between those two is the subject. It is now the closing paragraph of the page’s front door.
Maung also states the machine’s argument independently. He works a small example: a rising scale admits imitation at the fourth below on the third beat, but not on the second, where it makes parallel fifths — so which settings survive depends on the shape of the subject. Arrived at from philosophy rather than from code.
And it answers the obvious objection. One could say trial and error is anachronistic — that Bach did not fumble through settings. Maung concedes exactly our case: because the eight notes of the ground were pre-given rather than freshly composed, he thinks composing BWV 1087 plausibly did involve post hoc experiment.
A canon whose subject admits more than one solution has been called a polymorphic canon since Ebenezer Prout in 1891. Robert Gauldin writes the interval of imitation as P and the temporal distance as T — which are precisely this machine’s two steppers, in a published notation. He also writes melodic intervals as signed diatonic steps, the same convention the whole pipeline runs on.
The best line in it is a footnote: three-voice settings can be computed with mod-7 algorithms, but the complexity makes it tedious. A theorist saying the calculation is well defined, done in degree space mod 7, and too tedious by hand. That is this project’s reason to exist, written by someone who had no machine. Gauldin also notes that Marpurg counted 392 realisations of a seven-bar Stölzel subject by hand, so enumerating a solution space is not a computational novelty imposed on the repertoire.
Rachel Wells Hall gives the two-part Baroque condition in scale steps: pitches may differ mod 7 by zero, two, four or five — but not by one, three or six. Allowed: unison, third, fifth, sixth. Forbidden: second, fourth, seventh. Maung lists the same dissonances requiring preparation.
The page’s rule counts the perfect fourth as consonant. Adding it takes the total across the nine canons from 429 collisions to 605 — a 41% increase. But it must not be added globally: eight canons are in three voices, where a supported fourth is ordinary. It matters in exactly one place — Variation 27, the only canon with no bass — where the count goes 35 to 54. The page now names the rule in force and gives that figure.
A false finding, caught by its own control. Variation 27 first appeared to be by far the most consonant canon at 14.3% against a mean near 29% — which invited a lovely reading about the bass-less canon being self-sufficient. It is an artifact: no bass means fewer notes to collide with. Re-scored follower-against-leader-only it is fourth of nine and unremarkable. The real outlier is Variation 24 at 6.1%.
Also from Crean, read in full. Wolff’s Bärenreiter edition is titled Vierzehn Kanons über die ersten acht Fundamentalnoten der Aria, and Bach’s own heading reads über die ersteren acht Fundamental-Noten vorheriger Arie. Bach called them fundamental notes. The term is not Williams’s coinage; it descends from Bach’s inscription — far stronger support for the legend change than anything else in this review.
Three of the figures the piece relies on had been computed once and never committed. They were re-derived so anyone can run them.
Because the code was missing, nobody could examine how these numbers were arrived at. All three now have scripts in the repository. Two came out differently once the method was written down; one came out exactly as reported. The general lesson is worth more than any of the three numbers, and it is why each script prints its own sensitivity rather than a bare figure: with measurements like these, the definition is where the number comes from.
| As previously stated | On re-derivation | What the measurement shows |
|---|---|---|
| Bach’s intervals rank 2nd–14th of 27 by consonance — never uniquely best | artifact | Least-dissonant available in all nine, by 2.6–12.5 points |
| The average variation shares about half the Aria’s downbeat bass notes | held | 51–58% depending on the reading |
| …and just two of the thirty share more than four in five | wrong | Two of twenty-seven, or one under the better definition |
| Parameters recovered blind, 8/9 rank-1, V18 needing octave folding | reproduced | Exactly that, including the V18 detail |
Onset collisions compare pitch classes, so transposing an answer by an octave — seven diatonic degrees — cannot change a single collision. The 27 candidate shifts collapse to seven distinct outcomes, in groups of about four that score identically: in Variation 18, shifts −9, −2, +5 and +12 all give exactly 20 collisions. A rank out of 27 spreads seven real results across 27 slots, and position inside a tie-block is decided purely by enumeration order. An unstable tiebreak over redundant candidates would produce precisely the scattered range that got recorded.
Ranked over the seven real classes, Bach’s interval is the least-dissonant available in all nine canons — with one exception that appears only when the regional canons are scored properly. Variation 24’s two values are the same degree class, so its whole-movement figure was already right; Variation 27’s are classes 1 and 6, genuinely different. Scored region by region, its first three regions are best of seven and its fourth is second.
Read each of the thirty-two positions as the note the lowest voice holds longest and the Aria’s own bass comes back as G–F♯–E–D–B–C–D–G — the head motif exactly, the eight notes BWV 1087 is built on. Read it as whatever happens to be sounding on the downbeat and position seven returns E, because in that bar the Aria sounds E on the beat and reaches its D mid-bar as a half-note.
Even the Aria does not state its own fundamental bass on the downbeat — which is precisely Williams’s point about it being an abstraction, here measured rather than quoted. Control: the Aria da capo, the same music, scores thirty-two out of thirty-two. Three movements are excluded rather than guessed at — the French Overture, Variation 26 with its two metres, and the Quodlibet, written as eighteen measures for sixteen bars.
Chasing why Variation 6’s cursor crawled through its shaded bars turned up the four-clock confusion twice more. The page inked by printed position rather than ground position; and the aligner thinned each pass to points whose printed position increased, which on a repeat with a lead-back bar runs backwards. Variation 6’s second pass kept seven warp points where it should have kept about fifty, and playback pinned the cursor inside two bars for twenty-three seconds while sixteen bars played. Both fixed; every DTW cost identical before and after, which is the control.
The through-line. Printed order is not a clock. That mistake has now cost this project three separate times — the original Variation 6 breakage, the aligner’s thinning filter, and the page’s ink engine.
What this reading changed on the page, and what it left to do. Most of it is attribution: naming who established what.
The technical note presented Variations 24 and 27 as things the extraction found rather than as readings already in the literature. Both are established; Tepfer’s account of Variation 27 is sharper than the page’s, and says so now.
The only place the page asserts the loose term without qualifying prose.
Then add one clause to the paragraph beneath, after “…not the Aria’s tune.”:
In data/canons.json, the Variation 3 note field, and anywhere it
surfaces.
The page links its score, recording, licence and tools, but cites nothing for the musical claims. Now that several of those claims are established as belonging to named writers, a bibliography is what makes the attribution in item 1 checkable rather than merely stated.
Add a <h3>Sources</h3> block at the end of the technical note,
before the colophon, carrying the list below. Every entry a live link; publisher pages
marked where they are paywalled.
The 960 / 480:480 figure must never appear without the alla breve condition and Shepherd’s counter-test. It is not on the live page today; this is a guard against it arriving later. The 7.3% figure should not go public until someone confirms the page reference in Shepherd.
The five-transformation collapse changes what the nine plates should be ordered by. Worth settling before the visual pass starts rather than after it.
In strict two-part writing the fourth is a dissonance (Hall; Maung). Adding it globally would be wrong — eight canons are in three voices, where a supported fourth is ordinary. The page now names the rule in force and gives the one case where it bites: Variation 27, the only bass-less canon, 35 to 54.
The front door explained what the canons are and what the reader does, but never what the machine is for. It now closes on Maung: Bach could see what a line would do against itself, and this page hands you the same question and none of the ability.
A canon admitting more than one solution has been called polymorphic since 1891, and the interval and delay of imitation are conventionally P and T — which are the two steppers. Using the existing terms costs nothing and connects the interface to a literature it currently sits outside.
Hall’s transformation algebra is R, I and their composite. The machine implements I and has no R — which is what BWV 1087’s first two canons are built on. This is the door to the fourteen canons.
Variation 6’s cursor crawled through its shaded bars for twenty-three seconds. Two bugs, one on each side of the data: the page inked by printed quarter rather than ground position, and the aligner discarded any warp point whose printed position fell — which is every bar of a repeat that follows a lead-back. Its repeat passes went from 7 and 6 points to 51 and 56; every DTW cost identical.
Every link verified to resolve on 22 July 2026.
research/sources/crean.pdf. Argues against Wolff’s foundational reading.research/sources/bridges2021-261.pdf. The X ♥ Y affinity notation and the R/I transformation algebra — the closest thing in print to a formal statement of what the Canon Machine does.research/sources/. The modal property perception argument — composers perceive a subject’s latent combinatorial possibilities rather than finding them by search. The best available statement of what the Canon Machine is for, and of the gap between its user and Bach.research/sources/. The term polymorphic canon (a canon whose subject admits more than one solution), the P/T notation for interval and delay of imitation, and the observation that three-voice settings are computable by mod-7 algorithms but tedious by hand.On the paywalled links. The JAMS article, the Chabora dissertation and Springer’s full text block automated requests and return 403 to a command-line fetch. They open normally in a browser. Their metadata was confirmed from publisher listing pages.
Literature review conducted 22 July 2026 for the Canon Machine, canon-machine.pages.dev.
Twenty sources consulted, sixteen read directly. Measurements quoted from
data/canons.json and data/notes/v*.json; the transformation classes in
the figure are computed, not asserted. Set in Hoefler Text; the red, blue and ochre follow
Oliver Byrne’s 1847 Euclid.
Companion file: research/canons-lit.md. The three re-derived analyses are
tools/rank_intervals.py, tools/bass_fidelity.py and
tools/recover_canon.py; each prints its own caveats and takes
--json. Sources archived under research/sources/.