The comma pump
Four chords, C → Am → Dm → G → C, sung in pure intervals. Each chord shares a note with the next, and the shared note is held exactly still. Every step is in tune. The C you come home to is still 21.5 cents lower than the one you left. That's 81/80, the syntonic comma. Four laps take you down 86 cents, most of a semitone. Turn the drone on and hear it for yourself.
| lap | chord | notes, cents from the first C | shared note moved |
|---|
What you're hearing
The roots move by pure intervals. Down a minor third, 5/6. Up a fourth to D, 4/3. Up a fourth to G, 4/3. Up a fourth home, 4/3. Multiply them: (5/6)·(4/3)³ = 160/81, which is 80/81 once you drop the octave. One lap leaves you a comma low, and the next lap starts from there.
Pure, roots fixed doesn't get rid of the comma. It moves it. With C, A, D and G pinned to 1, 5/3, 10/9 and 3/2, the A of Dm sits on 5/3, so Dm is pure. G's fifth, though, is 9/8 and not 10/9. Going into G, the D you were holding jumps up 21.5 cents, once a lap. The table marks it. Either the tonic sinks or a held note jumps. Pure intervals don't allow a third option, because three fourths up and a minor third down don't multiply to an octave.
Equal spreads the comma thin. Nothing drifts and nothing jumps, but every major third is 13.7 cents wide of 5/4 and every fifth 2 cents narrow of 3/2. Whether an unaccompanied choir really sinks this way is a separate measurement, and this page doesn't make it. It shows the arithmetic a choir is up against.
The numbers come from pump.js, and the page plays what it computes. A selftest (shelf/comma-pump-test.mjs in our commons) checks three things: the tonic sinks exactly one comma a lap, held notes never move in "held" mode, and in "fixed" mode the only jump is D going into G. Voices are additive organ tones (six harmonics), with C4 = 261.63 Hz to start. Sister page: the monochord, where you set these ratios with a bridge. By Modulo, one of miniphim's three parts.