Start from a just lattice. Find the MOS scales that hold every tone of the lattice within a tolerance. An MOS is a chain of one generator with two step sizes, and equal temperaments are the MOS with one step size. The fit has three controls: the generator, the level (how many notes) and the murchana (which chain position is the 1/1). Within 2 cents counts as at least as good as 12-ET.
Every error on this page is the distance in cents from a just tone to the nearest scale degree. For a reference, here is 12-ET fitted to the harmonics 3, 5, 7, 9 and 11. The fifth is good. The major third is poor. The harmonic seventh is bad. The tolerance slider in station 3 starts at 2 cents, which is the quality of 12-ET's fifth.
The lattice supplies the harmony. Its tones are the targets of the fit in station 3.
The page reduces each tone to one octave and sorts them. It removes duplicates.
| # | ratio | cents |
|---|
A generator g in octaves. The chain is g, 2g, 3g and so on, reduced to one octave. The generator and its complement 1 − g make the same scales, read from the other end.
How to read the chart: the axis is the note count N. A dot at N means that N consecutive generators, reduced to one octave, make a scale with exactly two step sizes, L and s. Those scales are the MOS of this generator, and their N values are the levels. The page finds them by the scale tree. It walks the Stern–Brocot tree toward g. Each fraction p/q on the path is an MOS with q notes. The fraction p/q is also the equal temperament that the MOS approximates: q-ET, with p steps per generator. Erv drew this walk by hand as the "zig-zag pattern" on his pages.
| level | N | p/q | ET generator ¢ | L ¢ | s ¢ | L : s |
|---|
Two searches. The first table takes the station 2 generator and, for each level, finds the murchana that holds the lattice best. The second table is the free search: for each N it finds the best generator of all, with its murchana. Select a row to see the scale against the lattice, then rotate its murchana.
What the fit searches, in Wilson's terms. A scale here is a chain: N consecutive generators, reduced to one octave. The octave is the period, and it does not change. The generator g runs over 0 to 600 cents in the free search, and its complement covers the rest. The note count N is the level. The "only MOS" switch keeps the N values that are levels on the scale tree. The window start is the murchana. The chain contains the lattice's 1/1 at one of its N degrees. The search tries all N positions, which is the same as trying every mode of the chain. For each N the free search is exact. For a tolerance ε, each tone and each degree k allow g to lie in an interval of half-width ε/|k|. A sweep over the interval endpoints finds the first g where some window of N degrees holds every tone. A bisection on ε then finds the smallest ε that works. A final refinement moves g to minimize the largest tone error.
What the fit does not do. It does not change the period. It does not place the lattice's 1/1 between two degrees. It fits tones and not triads, and it reports the triads that survive so you can see the difference. The count objective (CPSFIT-003) ran offline, and its fits are station 2 presets. It uses one generator, so it is rank 2 with the octave. A lattice that needs two generators, such as a 7-limit CPS at a small N, gets a large error here.
2 cents is below the 12-ET error of 3/2 (1.96 cents) and far below its error of 5/4 (13.7 cents).
Press Run. Large lattices at large N take a few seconds.
No chain selected.
Move the slider to rotate the mode. Each step drops one tone from one end of the chain and adds one at the other end. The step pattern rotates with it, and the lattice errors show which modes hold the lattice.
| lattice tone | A error | B error |
|---|
Move over a point to read it. Click a point to select that chain.
| N | type | level | murchana (1/1 at degree) | max err | mean err | captured | triads kept |
|---|
Every N is listed with the generator that makes the largest lattice error as small as possible at that N. The max error column is that smallest possible error, so it is often above the tolerance. A row above the tolerance says that no chain of N notes holds the lattice any closer. The page highlights rows within the tolerance and lists them first.
A golden generator is one whose scale-tree path alternates forever from some point. Its levels then grow like Fibonacci numbers and the step ratio L : s tends to φ. Erv listed 64 of them in 1993. The formula is g = (a + φc) / (b + φd) for the two path fractions a/b and c/d where the alternation starts. Silver uses 1 + √2 in place of φ, so the path turns every two steps: Erv's "2-zig/2-zag". Bronze uses (3 + √13) / 2. Equal temperaments are the paths that stop. This search tries every such generator up to a seed denominator bound and reports the first level that holds the lattice.
Press Run. Golden with denominators up to 36 tries about 800 generators.
| generator ¢ | octaves | seeds | Erv 64 | first level within tol | murchana | max err | captured | triads kept |
|---|
| N | type | level | murchana (1/1 at degree) | generator | cents | max err | mean err | captured | triads kept |
|---|
A chain is N consecutive multiples of one generator, reduced to one octave. When the chain has exactly two step sizes it is an MOS, and N is a level of that generator. The levels are the denominators on the Stern–Brocot path toward g. Erv called this path the scale tree and drew it as a zig-zag on each of his generator pages.
An equal temperament is the MOS with one step size. N-ET is the N-note chain of the generator 1200/N cents. Treating ET as a separate category is a preference of the musician, not a fact of the mathematics. This page shows ET rows separately because some artists prefer ET.
Murchana is the mode of the chain. The chain holds the lattice's 1/1 at one of its N generator positions. Moving that position by one drops a tone from one end and adds one at the other end, which rotates the step pattern. For a fifth generator at N = 7 the seven positions give the seven diatonic modes, Lydian through Locrian.
Inverting the generator inverts the lattice. The chain of 1 − g is the chain of g reflected about 1/1. So a lattice fits the complement generator exactly when its reflection fits g, at the mirrored murchana, with the same errors, and with proportional and subcontrary triads swapped. For a CPS built from factors F, the reflection of CPS(n, k) is CPS(n, n − k) transposed by the product of F. The transposition matters. The chain is pinned to contain the lattice's 1/1, so a transposition by an interval that is not a chain degree changes the fit. The dekany CPS(5, 3) gets different fits from CPS(5, 2) at 10 of the 20 note counts where both are feasible. One fit of a dekany solves its reflection. It does not solve its partner.
Counting the triads changes the answer. With the number of exact lattice triads within 2 cents as the objective, the best generator agrees with the tone fit at no N up to 22, and with the worst-triad fit only where every triad already survives. The hexany keeps 10 of 12 from N = 16: the miracle generator moved to 116.68 cents, with one tone out at 5.2 cents. At N = 18 to 21 the chain of 77.82 cents keeps 10 of 12, where miracle kept 6 and orwell kept 8. The dekany 1·3·5·7·9 fits a schismatic chain of fourths at N = 26, 498.07 cents, keeping 32 of its 41 triads, and reaches 37 at N = 35. The frozen scorer counts triads of the image, so it can exceed the lattice's count when the tempering creates new ones. The page reports the lattice's count.
The free search gives a staircase of smallest errors. For the hexany it is 18.85 cents at N = 11 and 13.73 at N = 12 to 14. It is 4.82 at N = 15, 4.77 at 16 to 17 and 3.27 at 18. It is 2.57 at N = 19 to 21, 1.37 at 22 to 30 and 0.74 at 31. Every optimum from N = 11 up is a val: an integer mapping of the primes 3, 5, 7 to generator counts. The N = 15 fit at 502.86 cents is a septimal meantone and is Erv's 0.418935 generator to 0.14 cents. The N = 22 fit at 193.79 cents has kernel 2401/2400 and 3136/3125. No equal temperament below 73 notes holds the hexany within 2 cents.
Fitting tones is not fitting triads. A prime mistuned in all three tones of a triad cancels in the mean condition. So a chain with large tone errors can keep triads. A chain with small tone errors can lose them. At N = 22 the tone fit keeps 10 of the hexany's 12 triads at 2 cents. Minimizing the worst triad instead moves the generator to 193.91 cents, keeps all 12, and lets one tone out to 2.22 cents. The worst triad is still not the count: at N = 18 to 21 the chain with the smaller worst triad keeps fewer triads. This page reports tones and triads side by side.
A golden generator is a noble number: its scale-tree path alternates forever from some point. The formula is g = (a + φc) / (b + φd) for the two path fractions where the alternation starts. The levels then grow like Fibonacci numbers. The step ratio L : s tends to φ at every level, so the MOS looks the same at every depth. Erv listed 64 of them in 1993, with the path of each. This page regenerates all 64 from the formula. Silver generators use 1 + √2 and turn every two steps, which is Erv's 2-zig/2-zag page, and √2 − 1 is the pure silver number. Equal temperaments are the paths that stop.
Erv's recurrence generators, which he found by optimizing proportional and subcontrary triads, sit next to golden generators. 0.418935 is 0.09 cents from the golden generator seeded by 18/43 and 13/31. 0.415227 is 0.07 cents from one. Meta-meantone is 0.11 cents from one. 0.328173 is 0.17 cents from one. 0.238186 is 0.61 cents from one. The harmonic search and the melodic search nearly agree on where the good generators are.
The hexany needs the primes 3, 5 and 7, which is rank 4 with the octave. One generator and the octave is rank 2. So the hexany fits a rank-2 chain only with error, or only at a large N where the chain's commas vanish. A fit with two generators is rank 3 and is the natural next search.
This text describes the current state of the page in plain language. Copy it into Claude to continue the work.