Help for Tune Smithy Koch snowflake icon.gif

Sort Scales

From Tune Smithy

Jump to: navigation, search


Sort scales or arpeggios list

This is background information for Sort Scales or Arpeggios (Ctrl + 15). See the help for Sort Scales or Arpeggios (Ctrl + 15) to get started.


If you choose to sort the scale descriptions by any other method except alphabetical, it's assumed you want to apply the sort methods to the definitions rather than the description.

So e.g. you could sort the scales alphabetically by the descriptions, and then according to the number of notes all in one go.

Some of the sort methods refer to ratios - these of course have no meaning for arpeggio definitions, - if you sort the arpeggios by the number of superparticular intervals, or the max factor for ratios, that will be ignored.

Complete list of codes you can use

Sort methods:

n = number of notes, i = smallest steps, s = largest superparticular intervals, t = no. of superpart. ints, a = alphabetic / numeric order for descriptions, b = alphabetic / numeric order applied to the definitions rather than the descr., r = max factor for ratios. v = sort by valency - whether a scale has equal numbers of interval sizes in each interval class, and number of interval sizes e.g. 2-valent, 3-valent etc.

x = sort by closeness to current scale, y = closeness to any rotation of current scale

Options that affect the sort.

prefix - to reverse sort, + to sort normally, < to order normally, > to reverse order, ~ to apply to 2nd part of sort token pair, o to seach beyond octave for superparticular intervals.

These apply to all the options following them in the token - see examples below.

] = do alphabetical sorts with entries that start wih numbers last, [ = normal alphabetical sort

^ = skip details for some options, d = show number of step sizes.


The lists are sorted by making a sort token for each entry, then sorting those alphanumerically. This can give you useful information about the results of the searches, so will be described here in some detail.

Look at the Result sort tokens list to see these tokens. If you select an entry in the Result sort tokens list, the corresponding scale will be selected in the main window.

A typical entry might be

n___17_ 22

That means, the sort method used was n (number of notes) , and the scale has 17 notes, and was the 22nd entry in the list before sorting.

Other sort methods are

i = smallest steps first

typical entry:

i___1.01364____5___1.05350___12_ 22

This means it had 5 intervals of size 1.01364 and 12 of size 1.05350, and was the 22nd entry before sorting. This is shown in decimal notation - where 1.5 means 3/2 - it happens to be a useful notation for making sort tokens if you want to use them to sort intervals by size.

t = most superparticular intervals first.

typical entry:

t___31_ 22

That means, it had 31 superparticular intervals.

a = alphanumeric ordering of the entries.

typical entry:

a_Arabic_17-tone_Pythagorean_(M) 22

s = largest superparticular intervals first - looks for any intervals between any pairs of notes in the scale.

typical entry:

s___3.0____7___4.0___11___9.0___13_ 22

The numbers shown are the denominators.

So it had 7 3/2 s, 11 4/3 s, and 13 9/8 s

If you look at it in SCALA, you will see that the 17 tone Arabic Pythagorean scale has 16 3/2 s - all except one of the fifths is pure. However the ' s ' search is only for intervals within the scale, and doesn't take account of the octave repeat.

To search beyond the octave, add an o before the s

The o only applies to entries after it. With this modification we get the expected result.

Search: os

typical entry:

s___3.0___16___4.0___16___9.0___15_ 22

Use k if you want to switch the o option off again later in the token.

v = sort by whether a scale has equal numbers of interval sizes in each interval class; if so, order by the number of interval sizes per class.

Typical entry:

v____2___12_ 26

This means that the Arabic Pythagorean scale has 2 interval sizes for each interval class.

A scale that has two interval sizes in each class is known as Myhill. If it has three sizes, it can be called trivalent.

If the number of interval sizes in each class is the same as the number of notes in the scale, an = is added:

Keyboard Shortcut

This is the Xylophone from West Africa - there are no two intervals the same size in any of the classes. It follows that there are no two intervals the same size in any of the classes.

Such scales are very common, and this is not a particularly special property of a scale. Adding an = for these scales means that they are all sorted together, so you can ignore them easily if of no interest.

Sometimes, a trivalent scale, say, can have just three interval sizes, but one of them can be made up in different ways from smaller intervals within the scale.

For these, sorts by number of duplicated intervals.

E.g. for this 6 note trivalent mode in 20-et (by Dan Stearn):

2 4 3 3 4 4

with intervals
LL LM MM LS = 8 7 6 6
LLM LLS LMM LMS = 11 10 10 9

Although there are apparently four types of interval rather than three in these classes, it is trivalent because LS = MM and LLS = LMM.

This will be listed as having four duplicated intervals (the ones shown, and their complements).

For the scales with an even number of notes, another distinguishing feature is whether or not the scale includes its midpoint as an interval (i.e. the tritone for octave repeating scales).

If it does, it will have m added after the first number.

^ = skip some of the details for some options. In particular, leaves out the interval size tokens.

So to take an example, if used with i , as i^ , it sorts the scales according to the number of the smallest step size for the scale. For instance, all the scales that have two steps in the smallest step size will be grouped together, whatever the actual sizes of the steps.

Amongst those with the same number of smallest steps irrespective of the size, sorts by number of next smallest step size, and so on.

d = include token for the total number of distinct step sizes before the interval results. Result is, all scales with same number of step sizes will be grouped together.

^ and d apply to t , s , and i .

Resolution used for the step sizes when counting how many there are of each size: two steps are treated as identical if when expressed in decimal format (1.25 for 5/4 etc) they differ by at most 0.00001 = between 0.0173 and 0.01 cents depending on step size.

You can change the resolution using the % sign:

% 0.001 to use coarser resolution of about 1.73 cents. As usual, applies to sort tokens that follow it in the expression.

Reverse sort

You can use ' - ' to reverse sort. This works by subtracting all the numbers from 1000 (for ' a ', it replaces A by Z , B by Y , and so on, and ' 0 ' by ' 9 ', ' 1 ' by ' 8 ' and so on, so it reverse sorts within letters, or numbers, but keeps the numbers before the letters). It applies to all tokens that follow, until a ' + ' is encountered.

So for example -ni+a will sort by most notes first, then by largest steps first, but then because of the +a , will sort alphabetically rather than in the reversed alphabetic order.

To sort the descriptions for that search, choose " Scale descriptions for the List to sortbox. The options which make no sense for a description such as the number of notes will be applied to the definition instead, whatever your selection. So you can do mixed sorts in this way, e.g. by number of notes, then alphanumercially by description.

typical entry:

n__983_i_998.98636__995_998.94650__988_a_Arabic_17-tone_Pythagorean_(M) 22

The intervals, and numbers of notes have all been subtracted from 1000. For instance, the 983 is 1000-17 for the number of notes.

You can use ' ~ ' to apply what follows to the second half of the next token only.

For instance: o~-s will apply the ' - ' to the second half of the ' s ' token only, replacing an entry like s___3.0___16 with s___3.0__984

typical entry:

s___3.0__984___4.0__984___9.0__985_ 22

This o~-s is a useful option because it shows the scales with the largest superparticular intervals first, and amongst ones with the same largest superparticular interval, the ones with most instances of it first.

Combine it with ' t ' as: o-t+~-s and you have the scales with the most superparticular intervals first, then of those, the ones with the largest ones first, and amongst those, the ones with most of the largest ones first.

For the options ' s ' and ' i ', which produce lists of several numbers, you can use ' < ' or ' > ' to change the order in which they are shown.

The standard setting is ' < '

For instance: >i to show scales with smallest maximum size of step first

typical entry:

i___1.05350___12___1.01364____5_ 22

You can search the mode / arpeggio list in the same way.

Some of the modes lists, the ones linked to the original list of scales, were sorted using:


typical entry:

n____7_i___1.00__998___2.00__995_ 9

This shows least numbers of notes first, smallest steps first, and amongst those, the ones with most of the smallest steps first.

This one had 7 notes, 2 one note steps, and 5 two note steps. In fact, it was the diatonic major scale, steps 2 2 1 2 2 2 1.

The Valency 'v' option - interpreting the sort token

Introduction to n-valency

First, if the idea is new to you - a bivalent scale is a scale that has two sizes of interval for each number of steps.

For instance, in the normal pentatonic scale say C D E G A C there are two sizes of one step intervals - the whole tone (C-D) and the minor third (E-G) - and two sizes of two step interval - major third (C-E) and fourth (D-G).

The diatonic scale e.g. C D E F G A B C has two sizes of one step interval (whole tone or semitone), two sizes of two step interval (major third and minor third), two sizes of three step interval (fourth and tritone).

Other scales have three sizes of interval for every number of steps.

An example there is the just intonation 5 limit pentatonic scale 1/1 9/8, 5/4, 3/2, 5/3, 2/1 Step sizes 9/8, 10/9, 6/5, 10/9, 6/5 call those a b c then there are three one step intervals and the scale pattern is abcbc Two step intervals are either ab, bc, or ca Then - you don't need to go on and test the three and four step intervals because they are the complements of the two and three step intervals.

For some reason, a lot of scales in the SCALA archive are either 2-valent or 3-valent, and many are 4-valent or even 5-valent, suggesting that humans for some reason have a preference for making n-valent scales.

How to read the sort tokens for the 'v' option

If you just want to read off the valency that's easy - bivalent scales start v 2, trivalent scales start v 3 and so on.

But you also have a lot more information in the sort token which you can read off as well if you know what it means about what was found.

To start with, if you have too many details, just prefix the token with ^ and then you get simpler version - so describe that first.

Typical entry:

v___3md_n_12_class_5_aaaaaaaaaba_class_7_aaaaaaaaaba_ arabic1.scl | From Fortuna. Try C or G major

v___3 = valency 3 n_12 = number of notes in the scale.

arabic1.scl is the name of the SCALA scale. (the definitions are left out to make the file much smaller, and because it is then easier to read).

m = includes the midpoint 2^(1/2) as one of the interval sizes in one of the classes.

d = has a duplicated interval size in at least one class. interval size that can be made from the steps in more than one way. Ex, LMMMS = MMMMM for this scale. (L, M, S = large, middle and small step sizes).

The class_5_aaaaaaaaaba shows a pattern of generators that can be used to make this scale, where the generators a and b are both intervals of interval class 5 (i.e. made up of 5 steps of the scale).

By repeatedly adding the intervals in the pattern showing, and reducing into the octave (or more generally, the formal octave), you can generate the scale.

Some n-valent scales need n generators to generate them for every class. No generator info is shown for these.

If you use the option to show details you get more details for each entry v___3md_n_12_class_5_z_550_a_500_[10]_b_450_aaaaaaaaaba_class_7_z_750_a_700_[10]_b_650_aaaaaaaaaba_Dupl._10__0__1__1__1__1__2__1__1__1__1__0_ 99 arabic1.scl | From Fortuna. Try C or G major

class_5_z_550_a_500_[10]_b_450_aaaaaaaaaba - all numbers are in cents unless shown in ratio notation as 3/1 etc. a, b, ... are the generators in decreasing order of size. Herem, 500 and 450 are the sizes of the generators in cents.

Numbers in square brackets show how many times the generator is used - if none shown,it is used once. So here, a is used 10 times, and b, once.

z is the interval that closes the cycle to get back to the note you started from.

Dupl._10__0__1__1__1__1__2__1__1__1__1__0_ lists the number of duplicated interval sizes for each class. The first 0 is for the steps themselves, and the last 0 is for their complements.

Personal tools
How to use the wiki