From the help for Tune Smithy
Skip navigation Overview Seeds etc User guide Main Window Musical note intervals Scales Midi in Analyse sound
Hide Contents

Making Moments of Symmetry and Hyper-MOS scales

Background, How to make the scales , How to find the generator of a MOS scale, Hypermos, Four interval sizes, Discussion

Back to Scales window


Moment of Symmetry, or MOS for short, is a term coined by Erv Wilson.

Let's take an example

Go up by a pure fifth five times,

1/1 3/2 9/4 27/8, 81/16,...

Reduce all the notes into the octave

1/1 3/2 9/8 27/16, 81/64

And you get

1/1 9/8 81/64 3/2 27/16 (2/1)

This is the pythagorean pentatonic scale.

The number five here is special, because you find you have only two step sizes, the pythagorean whole tone 9/8 and the pyth. minor third 32/27.

Another moment of symmetry happens at seven notes - you get the pythagorean diatonic scale with the pythagorean tone and semitone, 9/8 and 256/243.

Another one happens at twelve notes, which gives the usual twelve tone pythagorean scale with two sizes of semitone, 256/243 and 2187/2048, and if one uses seventeen notes, one gets the Arabic pythagorean scale with a semitone at 256/243, and smaller step at 531441/524288

A special feature of MOS scales - Myhill's property

Usually (though not always) whenever you get two step sizes by this procedure, you also have two sizes of interval for each interval class. Here, the interval class of an interval is the number of steps in the scale. For instance, in the diatonic scale, the tone and semitone are both of class 1, as they consist of a single step, so there are two interval sizes in class 1.

Similarly, class 2 gives you the major and minor thirds, two interval sizes again. The fourth and tritone are in class 3. The complements of those intervals form the remaining classes 4 to 7.

A scale with two interval sizes for each interval class is known as a Myhill scale. So such a scale is rather special, and is known as an MOS, or moment of symmetry. A search through the SCALA archive will show that a surprising number of scales have Myhill's property - given what a strict requirement on a scale it is. Suggests that there is something about this property that is connected with features of scales that humans find pleasing or useful.

For more about the mathematics behind this, see

Carey, Norman and David Clampitt. "Self Similar Pitch Structures, Their Duals, and Rhythmic Analogs",     Perspectives of New Music vol. 34 no. 2, summer 1996, pp. 62-87.

(from the Tuning & temperament bibliography )

He asserts that every non degenerate well formed scale has Myhill's property, and vice versa.

By well formed, he means that the generator spans the same number of steps in all its locations. E.g. in twelve tone scales such as Pythagorean twelve tone, the generator 3/2 spans seven semitone steps. So any scale like that has Myhill's property so long as it isn't an equal temperament (12-et is well formed since each fifth spans 7 semitones - but trivially so with all the steps the same size).

By a degenerate well formed scale he just means an equal temperament - i.e. a scale with only one interval size.


How to make the scales:

Bs | Scales Options & Explorations  |  MOS or Hyper-MOS...

Enter the Generating Interval , e.g. 3/2 for a pythagorean MOS. Then also enter the desired number of notes, and then click the apply buttons to apply it to the main window or a new scale window - or copy it to the clipboard.

The number of notes here is the maximum number, e.g. if you try for a 20 note pythagorean scale, you will make the 17 note one instead, because that is the highest numbered pythagorean MOS before 20.

Another way to make these scales is via a shortcut in a New Scale window ( Buttons | Scale...) . Make a two note scale in the Select from box, E.g. 1/1 3/2 . Then to make a 7 note scale, type #mos 7 into the Name box.

You can search for MOS scales with up to 1000 notes. To interrupt the larger searches, hold down the escape key.

To make the golden ratio MOS scales, which are of special interest, try g*1200 cents as the generating interval,(g = golden ratio), and larger and larger values of n. You can enter this generator into the text field as

g*1200 cents

because you can use g as an abbreviation for the golden ratio here - and indeed, in any of the boxes in FTS that accept numbers.

The special thing about these golden ratio MOS scales is that you can get of them to the next by subdividing the steps like this, where L is the large step size of the scale, and S is the small step size:

L-> L S

S-> L

Start with L S as the first scale, with L/S = golden ratio, then proceed in this fashion, and you will get them all. You can keep on making golden MOS scales with more and more notes in this way as long as you like.

E.g. the 13 step scale iis



How to find the generator of a MOS scale

If you look at any of the MOS scales in SCALA using SH OW I NTERVALS, you will find one size of interval that only occurs in one place in the scale. For instance, in the pythagorean diatonic (i.e major) scale, you'll find that the tritone occurs in only one place/

Now, since a special feature of an MOS is that each interval class has two interval sizes ( Myhill ), the other interval size in this class will occur in all the other available positions in the scale. This makes it the generator.

Let's see how this works in the major scale, taking C major as an example. You'll find that the tritone occurs in only one place in the scale, and spans four notes, from F to B. So the other interval in this class is the fifth, which also spans four notes, C to G say.

Then, if you start from any other white note, and go up four steps, that has to be a 3/2, since it is the only other possibility apart from the tritone. So there must be six 3/2s joining pairs of notes of the pythagorean diatonic scale, one less than the total number of notes in the scale.

So it follows, the fifth must be a generator. In fact, if you start from the F and go up the circle of fifths, you make the pythagorean diatonic scale. F C G D A E B.

The same principle applies for any of the MOS scales - if you are given such a scale, and don't know the interval that was used to construct it, look to see if you can find an interval that occurs only once in the scale. Having found that, look for the other interval in the same class, and there it is, the generator.



One wonders then if one can generalise this somehow? Instead of using a two note scale, how about trying a three note one?

This is just a description of my own candidate for a hyper MOS. It is moderately successful as you see but not outstandingly so. It was part of a discussion with Dan Stearns. He has come up with another way of making Hyper MOS scales which can generates many trivalent scales to order in a heirarchical way. I hope some time to be able to program his method here in FTS at a later date.

You can  generate these hyper mos scales from

Bs | Scales Options & Explorations  |  MOS or Hyper-MOS.. | More.

To have a go at making these scales yourself, make a two note generator, e.g. 5/4 and 3/2 as the generating intervals .

Then enter 3 as the Number of step sizes to look for .

For 1/1 5/4 3/2, that will give you

1/1 9/8 5/4 45/32 3/2 27/16 15/8 2/1

which is a mode of the just intonation diatonic scale.

1/1 9/8 5/4 4/3 3/2 5/3 15/8 2/1

(in the sense of a mode meaning the same scale, but starting from another note in the scale as the new 1/1).

You can rotate your scales to get the other modes (in this sense) by clicking the scroll bar to right of the New scale box.

The interesting thing is, it has three sizes of interval for each interval class, so this parallels the two interval sizes of the ordinary mos scales.

One can check this by showing the scale in SCALA and using SH OW I NTERVALS and looking at the list of interval classes in the first column, which goes 1 1 1 2 2 2 3 3 3, .., so three of each.

You can also add this command to the file show_xx.cmd which FTS makes / uses in the SCALA directory - add a new line SHOW INTERVALS at the end. To do this go to Bs | Scales Options | SCALA Scales | Make / Remake scales / modes drop lists and select SCALA .cmd file, select one of the three .cmd files listed, edit it, and add the relevant line to the end:


Then when you want to use it, just select that cmd file before you click the Show current Scale in SCALA button.

Tip: here is an easy way to check for trivalence for a large scale in SCALA: at the end it says Highest number of intervals for each interval class 3 , and average number of intervals per interval class 3.00000 - since these numbers are the same, all the interval classes must all have the same number of interval sizes.

Now, with the same generator, try a larger number of notes. Set the number of notes to 17 and you get a mode of:

wilson_17.scl | Wilson's 17-tone 5-limit scale :
1/1 135/128 10/9 9/8 1215/1024 5/4 81/64 4/3 45/32 729/512 3/2 405/256 5/3 27/16 16/9 15/8 243/128 2/1

steps 135/128 256/243 81/80 135/128 256/243 81/80 256/243 135/128 81/80 256/243 135/128 256/243 81/80 256/243 135/128 81/80 256/243

(from SCALA archive)

Again, this has three sizes of interval for each interval class. However this is the last such scale found before the maximum for the searches of 1000 notes.

If one tries other generating scales from three note generators, some of them make trivalent scales, and some don't.

To do it from a New Scale window, make a three note scale in the Select from box.

E.g. 1/1 5/4 3/2 .

Then type #hypermos <max notes> , e.g. #hypermos 7 into the Name box.

Other options from a New Scale window:

#hypermosm = shows a message box with the minimum step size found for all the scales constructed and tested in the search.

#hypermosn = don't re-order in ascending order when showing the results.

These scales are all made using alternating generators, e.g. with 1/1 5/4 3/2, you are alternating between 5/4 and 6/5. There are other patterns that work well, e.g a long chain of 5/4s, then a long chain of 6/5s (which is Dan Stearn's method).


Four interval sizes

You can also make scales with four interval sizes - one can try a three note generator for these, e.g. 1/1 5/4 3/2 7/4, and look for a 5 note hyper MOS, and you'll get

1/1 35/32 5/4 3/2 7/4 2/1

which does indeed have four interval sizes for each interval class, but the next scale you can make

1/1 35/32 5/4 21/16 3/2 49/32 7/4 2/1

doesn't have this property. So again some are quadrivalent and some are not.

To make these, just enter 4 as the Number of step sizes to look for .

To make a hypermos scale with four or more notes from a New Scale window, use

#mos <max steps> <max number of step sizes.

E.g. with 1/1 5/4 3/2 7/4 you'd use #mos 5 4 , to get

1/1 35/32 5/4 3/2 7/4 2/1

and #mos 7 4

to get 1/1 35/32 5/4 21/16 3/2 49/32 7/4 2/1



The notion of a hyper-MOS scale is a subject of discussion at present, and doesn't seem to be thoroughly understood yet.

Whether any of this is of relevance to making nice music is a matter of debate. A search of the SCALA archives, which one would think would be biased towards nice sounding scales, has many trivalent scales, and a huge number of scales with four interval sizes in each interval class. It also has some with all the interval classes the same size, with more step sizes than four. But, whether that is a result of some other factor that makes good sounding scales and as a biproduct happens to give rise to this, or whether such scales are intrinsically nicer for playing in and composing in, I don't know.

Another example of a trivalent scale is the one shown in FTS as the Japanese Koto scale,

1/1 9/8 6/5 3/2 8/5 2/1

and as I think that is particularly beautiful, I do wonder if the trivalence does have something to it.

As steps it is

1/1 9/8 16/15 5/4 16/15 5/4

so clearly can be generated using alternating 16/15 and 5/4s - try using 1/1 16/15 4/3 as the scale (as steps, 1/1 16/15 5/4) and #hypermos 5 .

This is rather like pure and applied maths - some people explore mathematical properties of scales just for their intrinsic mathematical fascination. Then sometimes you get surprising applications from these researches, for the world of practicing composers and musicians.

Anyway if this sort of thing is of interest to you, I expect you'll find good company at the yahoogroups tuning or tuning-math lists.


#hypermos <max notes> <steps>

New scale will show first hyper MOS scale of at most <max notes> and exactly <steps> steps found. Search is made from the number given downwards, so you will find the largest scale found with at most that number of notes.

The standard setting is to reduce the notes into the octave.

To reduce into some other interval, select Scale | Options | Add Reduce buttons to New Scale windows . Then you can use the New Scale | max ratio box to change the interval to reduce into, say, to 3/1. This interval is only used for as long as you can see the box, i.e. , while you have Add Reduce buttons to New Scale windows selected.

To test if it is a hyper-MOS scale, show it in SCALA and use SH OW I NTERVALS and see if you have exactly three of each size.

You can also add this command to the file show_xx.cmd which FTS makes / uses in the SCALA directory - add a new line SHOW INTERVALS at the end.

The name for this file can be changed using Buttons | Scales Options | SCALA scales | Make / remake scales / modes drop lists and select SCALA .cmd file... | Scala .cmd file to run - one could have several such files, and change the name depending on what one wants to do, e.g. make one called sh_i_xx.cmd (or whatever) to do a SHOW INTERVALS.

Other options:

#hypermosm = shows a message box with the minimum step size found for all the scales constructed and tested in the search.

#hypermosn = don't re-order in ascending order when showing the results.