Highly Symmetrical 12-Note Scales from 30-EDO


...in which I sift through 1,073,741,824 possibilities to find 12 interesting ones for the good of humanity. Results and some Scala tuning files inside.

So for the last few months I've been enjoying 10pq and, more recently, 12pq, which are tunings derived from 30-EDO that can fit easily on a standard keyboard (described here). What I like about them is that their notes are well spread-out and they have a lot of symmetry, so exploring their sounds isn't too intimidating and they have a lot of internal consistency. I thought I'd try to figure out how many similar possibilities are out there.

On paper there are 230 = 1,073,741,824 ways to choose some notes from 30-EDO, but of course this is ridiculously unhelpful. I decided to narrow my search using three rules, which is very similar to the ones I ended up using in my scale book all those years ago:

  • Exactly 12 notes, so the result fits on a standard piano keyboard with octaves preserved and no duplicated notes (I might look at 10-note versions later).
  • No interval bigger than 160 cents, which is 4 steps of 30-EDO. Allowing bigger intervals might be interesting but I want reasonably "spread out" results and I think this is about right.
  • At least order 3 transpositional symmetry.

My script found just 12 candidates -- about one in a hundred million of the possibilities. Of these two have order of symmetry 6, and these are just 12-pq and 12-pr from the previous post (I was disappointed not to find any more like this, but it's not very surprising given that I asked for symmetrical scales and they were the basis of the previous post as well).

Here are the ten scales with order 3 symmetry. Each sub-list has three numbers identifying it: the order of symmetry (6 or 3), the largest interval size (2 or 3) and the longest run of consecutive notes (where 2 means 2 consecutive notes, so in a sense 1 means none), then the total number of scales. The scales are given in binary form where each note in 30-EDO gets a 1 if it's in the scale and a 0 otherwise:

3, 3, 3 Total: 1
      ['100010001110001000111000100011']       Very lumpy
3, 3, 2 Total: 6
      ['100010010110001001011000100101']       
      ['100011010010001101001000110100']      

      ['100010011010001001101000100110']
      ['100010110010001011001000101100']

      ['100010100110001010011000101001']
      ['100011001010001100101000110010']
3, 2, 2 Total: 1
      ['100100100110010010011001001001']       
3, 3, 1 Total: 1
      ['100010101010001010101000101010']       Very smooth
3, 2, 1 Total: 1
      ['100100101010010010101001001010']       Also very smooth

As you can see, the "3, 3, 2" category accounts for half of them, but they come as three pairs that are inversions of each other. All the scales in the "3, 3, 2" category contain a sequence of one each of the intervals of 4, 3, 2 and 1 steps; that sequence is repeated three times. and the difference between the scales is in the ordering of the steps within the sequence. the possible ways to order 4, 3, 2 and 1 in a circle (i.e. not caring about modality) are 1234, 1243, 1324, 1423, 1432 and 1342; the fourth, fifth and sixth of these are just the first, second and third read "backwards round the circle" starting from 1. So that checks out.

I used the same script to generate some Scala files -- here they all are in a zip file for your delectation. The choice of instrument really matters when you try them out; like a lot of way-out tunings they sound lovely on a fairly harmonically pure instrument like harp or flute, but pretty gross on piano. However, I've found instruments with so-called "inharmonic" overtones (e.g. bells or brass) can sound great with these tunings too; as with everything else, experiment and follow your ears.

[UPDATE]

Of course I couldn't resist doing it with 10-note scales as well, but only found two using the same rules as above:

      ['100010100010100010100010100010']
      ['100100100100100100100100100100']

The first one is just 10pq (or similar) from the earlier post and the other one is just 10-EDO. So not very interesting, but that's hardly a surprise since the rules above were based on scales of 12 notes. So I relaxed the second rule a bit, allowing intervals of up to 240 cents to reflect the fact that we have fewer notes to spread out, but the result was just one additional scale:

     ['100001100001100001100001100001']

The last thing I've tried (so far) was more successful -- I looked for order 2 symmetry and again restricted the maximum interval to be 160c, yielding two groups of 10 tunings that might be worth a look at some point:

10from30_2_3_2 Total: 10
      ['100010001000101100010001000101']
      ['100010001000110100010001000110']
      ['100010001001001100010001001001']
      ['100010001001100100010001001100']
      ['100010001010001100010001010001']
      ['100010001100010100010001100010']
      ['100010001100100100010001100100']
      ['100010010001001100010010001001']
      ['100010010001100100010010001100']
      ['100010010010001100010010010001']
10from30_2_3_1 Total: 10
      ['100010001001010100010001001010']
      ['100010001010010100010001010010']
      ['100010001010100100010001010100']
      ['100010010001010100010010001010']
      ['100010010010010100010010010010']
      ['100010010010100100010010010100']
      ['100010010100010100010010100010']
      ['100010010100100100010010100100']
      ['100010100010100100010100010100']
      ['100010100100100100010100100100']

Scala files for these are here; I've used my usual convention for 10-note scales of mapping the E/F keys to the same pitch, and also the B/C keys; you could also add any other two notes of your choice to bump one of these up to 12 notes of course.