Another Look at Wilson’s Keyboard Mapping System

1. Introduction

A portion of Erv Wilson’s keyboard mapping system can be expressed in a few equations. Personally I find that the equations help to apply and understand the system. This article presents the equations and gives examples of their use. Section 2 gives some context. Section 3 defines lattice bases. Section 4 presents mapping based on scale degree. Section 5 presents mapping using harmonic templates, including an optimization problem for finding nice keyboard mappings. Section 6 discusses chain position and keyboard coordinates. Section 7 describes musical notations based on keyboard mappings. Section 8 discusses playing the keyboard mappings on a Launchpad MIDI controller (the fun part!).

2. Context

By keyboard mapping I mean laying out a scale on a two-dimensional keyboard (Narushima 2017). For example, Figure 1 shows one possible mapping for Harry Partch’s 43-tone scale (Partch 1979). The general question is, given a particular scale, how can we go about mapping it onto a keyboard? Of course we could just place the notes at random; the problem is to find mappings which are easy to play and, perhaps, give some insight into the structure of the scale.

Figure 1. One possible keyboard mapping for Partch’s 43-tone scale.

3. Lattice bases

The keys on the keyboard are labeled by pairs of integers (x, y), their x and y coordinates. The set of all these integer pairs is called a lattice (Cassels 1959; Schrijver 1998).

Wilson’s keyboard mappings often place 3/2 at (a, b) and 2/1 at (c, d) such that ad − bc = −1. This relation is fundamental in Wilson’s keyboard mapping theory (Wilson, n.d.-h). To understand it, we can use the concept of a lattice basis.

For two lattice points (a, b) and (c, d), if we can write any lattice point (x, y) as

image(1)

with integer p and q, we say (a, b) and (c, d) form a basis for the lattice.

The one fact we need about lattices is that (a, b) and (c, d) form a basis if and only if ad − bc = ±1. So a lattice basis is quite a special thing.

We’ll see exactly how lattice bases come up throughout Wilson’s keyboard mapping theory. For now I’ll just note that Wilson’s Gral spectrum (Wilson, n.d.-k) is effectively a gallery of lattice bases, and that a basis allows us to define Wilson’s chain position, which appears to be fundamental in his thinking.

4. Scale degree mapping

One way to map a scale is to always go up the same number of scale degrees when going one key along a row or up a column. So a mapping of this sort is determined by two numbers, the x and y step sizes — call them s and t. For example, we could map Partch’s scale by taking the x step as s = 2 and the y step as t = 7 to give the mapping in Figure 2. Here each key is labeled with the ratio in the middle, cents at the bottom, and scale degree at the top followed by a dot (e.g. 2.). You can see that the scale degree always goes up by 2 going one key along a row, and that it goes up by 7 going one key up a column. The mapping in Figure 2 works well for playing Partch’s scale on a Launchpad (see Section 8).

Figure 2. Partch’s scale mapped by scale degree with x step size 2 and y step size 7.

4.1. The Gral method

When mapping by scale degree we can pick whichever step sizes s and t we like. But if we choose scale degrees m and n which we want to form a basis on the keyboard, we can solve for s and t. Say the basis is (a, b), (c, d). The conditions that scale degree m is mapped to (a, b) and scale degree n is mapped to (c, d) give two equations

image(2)–(3)

which we can solve for the step sizes s and t to give

image(4)–(5)

where Δ = ad − bc, and Δ = ±1 since (a, b), (c, d) form a basis.

Now say we want the step sizes to be positive, so scale degree (and so pitch) increases along a row and up a column. This gives the conditions

image(6)–(7)

If Δ = −1, c > 0, and d > 0, these conditions are equivalent to

image(8)

So if we want positive step sizes then our choice of basis is restricted. Wilson’s Gral method (Wilson, n.d.-e, n.d.-k) finds all bases with Δ = −1 which satisfy a/c < m/n < b/d and which also have non-negative coordinates (a, b, c, d ≥ 0).

The Gral method is a binary search for the fraction m/n, starting with the interval [0/1, 1/0] and ‘bisecting’ each interval [a/c, b/d] with the mediant (a + b)/(c + d). For a wonderful discussion of the algorithm and its relation to Farey series and the Stern-Brocot tree see (Knuth et al. 1994, 121). It turns out that each interval [a/c, b/d] we encounter in the search has ad − bc = −1, so (a, b), (c, d) form a basis, and a/c < m/n < b/d since m/n is in each search interval.

Table 1. The Gral method applied to 25/43.

For example, say we’re mapping Partch’s scale and we want 3/2 (scale degree 25) and 2/1 (scale degree 43) to form a basis on the keyboard. Table 1 shows the Gral method applied to m/n = 25/43. Here Left and Right are the endpoints of the search interval; a blank means the same value as the row above (this lets you see at a glance which endpoint moved to form each row). The columns a, b, c, d give the basis (a, b), (c, d) corresponding to the search interval [a/c, b/d]. The columns s and t give the resulting step sizes (for which as + bt = m and cs + dt = n). The Mediant column is the mediant of the search interval; Wilson describes each basis as a different keyboard named with this mediant. Figure 3a shows Partch’s scale mapped to a 4/7 keyboard, that is with basis (1, 3), (2, 5). Figure 3b shows Partch’s scale mapped to a 7/12 keyboard, that is with basis (4, 3), (7, 5).

Figure 3. Scale degree mappings of Partch’s 43-tone scale.

While the Gral method always gives bases (a, b), (c, d) with Δ = ad − bc = −1, the basis we get by swapping the x and y directions, (b, a), (d, c), has Δ = +1. Once we include the bases found by flipping in this way, the Gral method finds all bases with non-negative coordinates which give positive step sizes.1 It’s well worth trying out the flipped versions of keyboard mappings since they can feel very different to play.

4.2. Hanson and negative coordinates

On guitar and bass I use a ‘keyboard mapping’ with the minor third at (0, 1) and octave at (−1, 4). This is a Hanson keyboard mapping (Hanson 1989), in which six minor thirds makes a perfect twelfth. I find this mapping very playable — in fact it’s my favorite one! Figure 4 shows this keyboard mapping applied to Hanson’s basic group of 19 tones. Since (a, b) = (0, 1) and (c, d) = (−1, 4), Δ = ad − bc = 1, and the minor third and octave form a basis. Because 2/1 has a negative coordinate, this basis is not found by the Gral method. Appendix E gives a slightly extended Gral method which can find bases with negative coordinates.

Figure 4. Keyboard mapping for Hanson’s basic group of 19 tones. The positions (0, 1) of 6/5 and (−1, 4) of 2/1 form a basis.

4.3. Relation to moments of symmetry

The Gral method has a surprising relationship to moments of symmetry (MOS) (Wilson, n.d.-g).2 It turns out (Carey and Clampitt 2012) that for each interval [a/c, b/d] with mediant m/n produced in the Gral search, stacking a generator with any size between a/c and b/d (considered as a fraction of an octave) will give an m/n MOS, that is an n-note MOS with the generator at scale degree m.

Practically this means that if we map a scale to an m/n keyboard, we automatically get a family of MOS which we can map in the same way, and which can provide musical analogies. For example, Figure 5a shows Wilson’s baglama scale (Wilson 1975b) mapped to a 4/7 keyboard. I picked the notes 3/2 (scale degree 10) and 2/1 (scale degree 17) to form a basis. Table 2 shows the Gral method applied to 10/17. From the bottom row, with mediant 10/17, we see that stacking any generator between 7/12 and 3/5 of an octave, that is between 700 and 720 cents, will give a 10/17 MOS. Figure 5b shows the 10/17 MOS we get by stacking a generator of 707.22 cents (for much more on this generator see (Schulter 2006)), also mapped to a 4/7 keyboard. The keys in Figure 5b are labeled with the power of the generator they come from; to get the actual interval, this needs to be reduced within the octave, so e.g. G9 gives the interval (9 ⋅ 707.22) mod  1200 = 364.98 cents, shown rounded to 365 cents. The 10/17 MOS of Figure 5b is the mode we get by starting at G−6 and stacking until we reach G10.

Table 2. Gral method applied to 10/17.
Figure 5. Wilson’s baglama scale and a MOS with generator 707.22 cents, both mapped to a 4/7 keyboard. The basis for the 4/7 keyboard is highlighted in red.

5. Harmonic template mapping

It’s possible to map scales so that the same interval always makes the same shape on the keyboard. The scale degree based mapping of Partch’s scale in Figure 2 doesn’t have this property; looking at 9/8 for example, going from 1/1 to 9/8 needs a move of (4, 0), but going from 4/3 to 3/2 needs a move of (0, 1). The example mapping of Partch’s scale in Figure 1 does have this property — a 9/8 is always a move of (0, 1). One way to guarantee this property is to map the scale using a harmonic template.

A harmonic template specifies where each octave-reduced harmonic maps onto the keyboard. The scale is mapped by writing each note as a product of the ratios in the template, and moving by the step in the template for each factor we have. For example, 15/8 = 3/2 ⋅ 5/4, so 15/8 is mapped to the position which is the sum of the positions of 3/2 and 5/4 (with 1/1 taken as the origin). Figure 6 shows this mapping process for 15/8. Figure 7 shows a mapping of Partch’s scale using a harmonic template.

Figure 6. Mapping 15/8 onto the keyboard using a harmonic template.
Figure 7. A keyboard mapping of Partch’s scale using a harmonic template. The harmonic template shows where each octave-reduced harmonic is mapped onto the keyboard.

Mapping by a harmonic template can be expressed as a matrix multiplication. Collecting the coordinates of each ratio in the template in a matrix

image(9)

and writing the exponents of each ratio in the scale degree 15/8 as a vector

image(10)

the position of 15/8 on the keyboard is given by

image(11)–(12)

And the position of 15/8 in the mapping in Figure 7a really is x = 2, y = 5.

We can map a whole scale in one go by collecting the exponents for each note into a matrix. For example for the scale 1/1, 11/10, 6/5, 7/5, 3/2, 8/5, 9/5, 2/1, a Pelog of Lou Harrison’s (Harrison 1979),

image(13)–(14)

This Pelog is contained in Partch’s scale, so you can see that the positions for each note agree with Figure 7a. For example 6/5 really is mapped to x = 4, y = 1.

Wilson applies harmonic templates very consistently; I have never come across a mapping with a note mapped inconsistently with the harmonic template. Even for mappings which do not explicitly show the template, you can often work out a template which the mapping follows.

5.1. Box optimization

Given a scale, how can we find a harmonic template which gives a good keyboard mapping for it? And what makes a keyboard mapping good anyway? Looking at Wilson’s keyboard mappings, two properties jump out:

  • They are quite dense, i.e. don’t have many gaps in

  • The pitch always increases going along each row and up each column

Neither of these properties are guaranteed just by using a harmonic template. This suggests an optimization problem:

Find the harmonic template that maps the scale into the smallest possible box on the keyboard, while making sure that the pitch increases along each row and up each column.3

I wrote a little computer program called box-opt to solve this optimization problem.4 It uses a solver called CP-SAT to do the heavy lifting.

The mapping of Partch’s scale in Figure 7 was found with box-opt. For comparison see Wilson’s mapping of Partch’s scale in (Wilson 1975b), which places the notes 11/10 and 10/9 on the same key, as well as their inversions 9/5 and 20/11. If I let box-opt put two pairs of notes on the same key, it finds Wilson’s mapping, which I take as a good sign!

I also ran box-opt on genus 1 ⋅ 3 ⋅ 5 ⋅ 7 ⋅ 9 ⋅ 11, the scale made up of all products of 1, 3, 5, 7, 9, and 11; this scale is the core of Wilson’s D’alessandro scale (Wilson 1989a, fig. 24). Figure 8 shows the mapping found. The keys are labeled with the terms in the product making up each note; to convert to a ratio, find the product and reduce it within one octave, so e.g. 7 ⋅ 11 gives the ratio 77/64 (the cents values at the bottom of the keys provide a useful check).

Figure 8. Keyboard mapping for genus 1 ⋅ 3 ⋅ 5 ⋅ 7 ⋅ 9 ⋅ 11 found by box-opt.

Figure 9 shows a keyboard mapping box-opt found for the Hebdomekontany (Wilson, n.d.-f), a 58-tone scale built by multiplying all combinations of four numbers chosen from 1, 3, 5, 7, 9, 11, 13, and 15. The keys are labeled with the four factors multiplied to form each note; to convert to a ratio, divide the product on the key by 9 ⋅ 11 ⋅ 15 then reduce within an octave. For example for the key labeled 3 ⋅ 7 ⋅ 11 ⋅ 15 we get (3 ⋅ 7 ⋅ 11 ⋅ 15)/(9 ⋅ 11 ⋅ 15) = 7/3, which gives 7/6 when octave reduced (and the cents value on the key is indeed 267). For keys in the harmonic template I’ve added the actual ratios in brackets next to the cents values. For comparison see Wilson’s mappings of the Hebdomekontany in (Wilson, n.d.-f), for example on page 39. Wilson’s mappings place the Hebdomekontany within a 72-tone formal scale (see Section 6.2), with two pairs of notes mapped to the same key.

Figure 9. Keyboard mapping for the Hebdomekontany found by box-opt.

6. Chain position and keyboard coordinates

Wilson labels keys on the keyboard with chain position, intuitively related to the position in a chain of stacked generators, and modulus, intuitively related to the scale degree. This is shown in Figure 10b for Wilson’s 22 śruti scale mapping from (Wilson 1974).5 Here the chain position is shown on the top left of each key with a + or sign, and the modulus is shown on the top right followed by a dot. Chain position and modulus form coordinates for the keyboard. We can derive them using a keyboard basis.

6.1. Chain coordinates

Given a basis (a, b), (c, d), we can write any key (x, y) on the keyboard as

image(15)

with integer p and q. We can write this as

image(16)

and solve for (p, q), giving

image(17)

where Δ = ad − bc = ±1 since (a, b), (c, d) is a basis.

Call (p, q) the chain coordinates of (x, y) with respect to basis (a, b), (c, d). Figure 10a shows a mapping of Wilson’s 22 śruti scale labeled with chain coordinates p on the top left and q on the top right of each key, where the basis is (1, 3), (2, 5). In the Gral spectrum (Wilson, n.d.-k, 18–20) Wilson shows some keyboards labeled with chain coordinates; there a key with p = 2, q = −1 is labeled as −1x, 2y.

These chain coordinates can often be interpreted musically. For example, say the fifth of the scale is mapped to (a, b) and the octave to (c, d). Then p gives the position of a key (x, y) in a chain of fifths on the keyboard, and q gives the number of octaves moved. So e.g. 9/8 in Figure 10a has p = +2 and q = −1 (two fifths up, one octave down).

When the octave is at (c, d), the chain coordinate p corresponding to (a, b) is called the chain position.

Figure 10. Mapping of a 22-tone scale showing chain coordinates and modulus.

6.2. Modulus

Modulus is an extension of scale degree to a two dimensional keyboard. Given a basis (a, b), (c, d) we can assign modulus m to (a, b) and n to (c, d). Then the modulus for (x, y) is defined as r = mp + nq, where (p, q) are the chain coordinates of (x, y). The chain position p and modulus r form coordinates for the keyboard, since

image(18)–(20)

which can be inverted to give

image(21)

While we can choose any m and n to define modulus, if we want modulus to increase along rows and up columns then we need m and n to satisfy the conditions for positive step sizes in Equations 6 and 7.

Figure 10b shows the keyboard mapping of Figure 10a now labeled with chain position p on the top left and modulus r on the top right of each key. The modulus here is calculated using m = 13, n = 22. For example 32/27 has p = −3, q = 2 in Figure 10a and r = 13 ⋅ (−3) + 22 ⋅ 2 = 5 in Figure 10b.

Modulus allows us to represent scale tones which come in multiple inflections with different pitches. For example Figure 11a shows the keyboard mapping of Figure 10 now using modulus 12 (with m = 7 and n = 12). In this case modulus gives us an interpretation of the 22-tone scale as a 12-tone scale in which ten of the notes (all except the fifth and octave) come in two inflections (Wilson 1978, 1989b) shown in Figure 11b.6

Modulus can also be used to turn keyboard mappings into tubulong designs by laying out the tubes from left to right in order of increasing modulus, placing tubes with the same modulus one above another ordered by pitch. The Evangelina tubulong design (Wilson, n.d.-d, 15–16) can be derived in this way, mapping a 22-tone scale to modulus 17, as can the Fibonacci design in (Wilson, n.d.-a), mapping a 36-tone scale to modulus 23.

Figure 11. Inflections from mapping a 22-tone scale to modulus 12.

7. Notation

Keyboard mappings can be used to define musical notations which generalize Bosanquet’s notation (Bosanquet 1876). These notations have the nice property that intervals written the same way, e.g. C – F and A – D, make the same shape on the keyboard. However it isn’t guaranteed that an ascending scale appears as ascending on the stave, e.g. F might be below E in pitch. So it’s worth writing out an ascending scale for each keyboard mapping and notation to see how intuitive it seems.

Say the fifth is at (a, b) on the keyboard and the octave at (c, d). Pick a step (e, f) to represent a ‘comma’ on the keyboard — this we pick for our convenience but good choices are often where say 81/80 or 64/63 would be mapped by the harmonic template. Then if we can write a key at (x, y) as

image(22)

where u, v, and w are integers, we can use the number of fifths u and number of commas w to define a notation. In general there can be more than one set of u, v, w for a given key (x, y); this gives different names for the same key, which can reasonably be called enharmonic equivalents.

The number of fifths u determines the start of the note name according to Table 3. Here chain positions from −1 through +5 are named as F, C, G, D, A, E, B, and the pattern continues by adding a to go up 7 fifths or a to go down seven fifths. The note name is then completed by adding w slashes, where w is the number of commas. We use a forward slash / if w is positive or a backslash \ if w is negative.

Table 3. Note name for each position in the chain of fifths.

Figure 12 shows a keyboard mapping of Wilson’s baglama scale (Wilson 1975b). The keys are labeled with the note names. In this case 3/2 and 2/1 form a basis so we can name the notes without any slashes. The notation for an ascending scale is shown on the stave; in this mapping the scale jumps around a little on the stave since e.g. C♯ is above D♭ in pitch.

Figure 12. Keyboard mapping of Wilson’s baglama scale with notation based on a chain of keyboard fifths.

Taking the comma step (e, f) = (0, 1), we can use slashes to get an alternative notation for the same keyboard mapping, shown in Figure 13. In this notation E\ – E, A\ – A, and B\ – B are all intervals of 81/80, consistent with Bosanquet’s notation. But also D\ – D and G\ – G are intervals of 33/32. The point is that a slash in this notation corresponds to a particular move on the keyboard, here (0, 1), not a particular interval. This allows using only sharps/flats and slashes to notate a wide range of scales. Looking at the notation on the stave, using the slashes here gives a smoothly ascending scale.

Figure 13. Keyboard mapping of Wilson’s baglama scale notated using slashes.

In the keyboard mapping of Figures 12 and 13 we didn’t need to use slashes; C♯ and D\ were enharmonically equivalent names for 12/11. But for keyboard mappings in which 3/2 and 2/1 don’t form a basis, some notes require slashes to notate. Figure 14 shows such a mapping for Wilson’s baglama scale. In this mapping the fifth is at (a, b) = (1, 2), the octave is at (c, d) = (1, 4), and the comma step is (e, f) = (1, −1). The keyboard is split into two chains of fifths, the even numbered rows and the odd numbered rows, and the odd numbered rows require one \ in their note names. In general if the fifth is at (a, b) and the octave is at (c, d), ad − bc gives the number of chains of fifths the keyboard will be split into (Cassels 1959, 14), and indeed in this case ad − bc = 2. This is useful since it tells us how many slashes will be required in the notation.

Figure 14. Keyboard mapping of Wilson’s baglama scale with a basis of 5/4 and 3/2.

Figure 15 shows a notation for the keyboard mapping of Partch’s scale from Figure 7a. Here the fifth is at (a, b) = (3, 3), the octave is (c, d) = (6, 5), and the comma step is (e, f) = (1, 0). In this case ad − bc = −3, so the keyboard is split into three chains of fifths, and we can notate it with three different numbers of slashes (\, none, and /). Compare Wilson’s notation for Partch’s scale in (Wilson 1975b).

Figure 15. Notation for a keyboard mapping of Partch’s scale.

Some keyboard mappings require a large number of slashes using this scheme. For example Figure 16a shows notation for a mapping of Hanson’s basic group of 19 tones. Here the fifth is at (a, b) = (1, 2), the octave is at (c, d) = (−1, 4), and the comma step is (e, f) = (5, −1). So we have ad − bc = 6, and indeed we need six values of slashes (from −3, \\\, up to +2, //).

Wilson’s tree notation (Wilson, n.d.-f, 40) allows using less slashes. Figure 16b shows the mapping of Figure 16a with tree notation. The notation partners each ordinary note ABCDEFG with a new ‘tree note’ written abcdefg, with each ordinary note and its tree note separated by a fixed step (g, h) on the keyboard (in Figure 16b (g, h) = (−4, 1)). Then Equation 22 is extended to

image(23)

where t can only be 0 or 1, and we use the ordinary note ABCDEFG if t = 0 or the tree note abcdefg if t = 1. The idea is that with a good choice of tree step (g, h), we can use less slashes to reach some notes by first moving by the tree step before moving by fifths, octaves, and commas. The tree note is written in the same position on the stave as its ordinary partner but with a different note head (triangular in Figure 16b). Wilson also gives the tree notes the long names ailm, beth, coll, duir, eadha, fearn, gort from the Ogham alphabet (sometimes called the Celtic tree alphabet).

Figure 16. Notations for a mapping of Hanson’s basic group of 19 tones.

I use Wilson’s tree notation for my guitar tuned in Hanson temperament (Hanson 1989).7 This guitar has frets spaced third tones of 9/81/3 or 68 cents apart and strings tuned minor thirds of 31/6 or 317 cents apart. Since the notations of this section depend purely on keyboard (or fretboard!) position, they can be applied to temperaments as well as just scales. Figure 17 shows the guitar fretboard labeled with cent values and tree notation note names. Here a comma after a cent value (e.g. 996,) denotes lowering by an octave, an apostrophe (e.g. 68′) raising by an octave.

Figure 17. Hanson guitar fretboard with tree notation.
Figure 18. A pentatonic scale built by splitting the perfect fourth written in tree notation.

It’s convenient being able to write any note on the fretboard with at most one slash. I also like that the pentatonic scale built from split perfect fourths, Figure 18, has a simple notation; this scale feels and sounds very natural to me on this Hanson guitar.

I do find the tree notes themselves quite musically suggestive. As it happens the intervals from C written with ordinary notes sound more familiar to me, while the tree notes are less familiar, as you can perhaps imagine from the cents values in Figure 17. You could take this too far but on this fretboard I sometimes think of the tree notes as another world to explore, and the notation feels like an invitation to do this.

If we choose the tree step (g, h) to connect B to B♭, Wilson’s tree notation reproduces his notations from On linear notations and the Bosanquet keyboard (Wilson 1975a). This is surprising since their motivations are apparently quite different. In Linear notations Wilson uses an extended set of note names (or nominals) when naming the chain of fifths, shown in Table 4. The chain positions −6 to +6 are named γ, δ, α, ϵ, β, F, C, G, D, A, E, B, and H. In principle you could extend Table 4 by adding sharps and flats as in Table 3, but in Linear notations Wilson uses (in the terminology of this section) the slash exclusively, giving notations using only one pair of accidentals.

Table 4. Wilson’s extended nominals.

Figure 19 shows Wilson’s mapping of a 31-tone scale notated with twelve note names (Wilson 1975b, 8). The steps between B and β, E and ϵ, A and α, D and δ, and G and γ are all (−1, 1), so the notation is in fact identical with tree notation with the tree step (−1, 1). Here the tree notes b e a d g correspond to the extended nominals β ϵ α δ γ and the ordinary notes B♭ E♭ A♭ D♭ G♭. In fact this is true for all Linear notations style notations, so long as they use 14 or less nominals (Wilson discusses at most 13). One difference is the use of H for chain position +6; in tree notation we instead get a c at chain position −7, which would correspond to say a κ at chain position −7 in Table 4. Figure 19 shows the extended-nominal notes with a different note head on the stave; in Linear notations Wilson discusses this but primarily uses extended staves which show ordinary notes on spaces and extended-nominal notes on lines.

Figure 19. Notation for Wilson’s Genus 31 using extended nominals.

To connect this section’s Equation 22 with Wilson’s Linear notations paper, note that all mappings in Linear notations use a 4/7 keyboard, and so have a basis of (a, b) = (1, 3), (c, d) = (2, 5), where the fifth and octave are placed. Table 5 gives the comma step (e, f) for each notation in Linear notations. Table 5 also shows the chain coordinates (p, q) of each comma step, and the name for the notation given by Wilson. The name is determined by the number of fifths p, e.g. +7 is septimally positive, −5 is quintally negative, and so on. Wilson uses different accidentals for each system, to indicate that the commas span different numbers of fifths.

Table 5 also gives the example temperaments shown on each of Wilson’s notation diagrams in Linear notations. The comma step always goes up one degree of all the temperaments on each diagram. An example of say 10/17 means 17 tone equal temperament, with the fifth at degree 10. You can check that for an example m/n, we always have pm ≡ 1 (mod  n), where p is the number of fifths spanned by the comma, e.g. for the 10/17 example for Duodecimally positive notation we have 12 ⋅ 10 ≡ 1 (mod  17).

Wilson combines tree notation and extended nominals for his septendene (Wilson 1977), notating this 17-tone scale with no accidentals (compare (Wilson 1980)). The note names are consistent with Equation 23 used together with Table 4.

Table 5. The comma steps used in Wilson’s Linear notations.

8. Playing the keyboard mappings

I play the keyboard mappings on a Novation Launchpad X, a relatively affordable MIDI grid controller. This section describes some of the practicalities of actually doing this.

There are at least three ways to get each key on the Launchpad to play the desired note in the keyboard mapping. One way is to use the Novation Components software, which allows specifying the MIDI note sent by each key. This has the advantage that once you’ve set up a mapping, no software is required. The second way is to remap the MIDI notes sent by the Launchpad in software, for example using a MIDI remapper plugin in a DAW (digital audio workstation). This makes it quick to try out different mappings. The third way is to use MTS-ESP, a library for setting a shared tuning for different music software, to directly specify the frequency for each Launchpad key. The point here is that MTS-ESP provides a tuning table which maps each MIDI note to a frequency, so you can set the tuning for a scale and map it to the Launchpad ‘in one go’ with a suitable tuning table. I find the MTS-ESP way particularly convenient since it doesn’t require receiving and resending MIDI messages. For this purpose the mtsespy Python wrapper for MTS-ESP may be of interest.8

The keys of the Launchpad can be lit up in various colors. This can be done in the Novation Components software or by sending MIDI messages to the Launchpad (Launchpad x Programmer’s Reference Manual, n.d.). I find the key lighting genuinely useful for playing Wilson’s keyboard mappings. I tend to light up all mapped keys white, with the harmonic template lit in blue. Figure 20 shows the Launchpad set up to play the keyboard mapping from Figure 8. I find that the harmonic template together with the often irregular outline of the keyboard mapping give enough visual cues to find the notes I’m after.

Figure 20. Launchpad set up to play the keyboard mapping of Figure 8. Usually dustier.

The Launchpad doesn’t have a mod wheel or any sliders or knobs, although its keys can be programmed to send MIDI CC messages. So I put the Launchpad next to an expression controller and a knob controller on a sawn-off piece of kitchen counter, and connect them all to a USB hub (nice to have only one USB cable to plug/unplug).

I wrote some Python scripts to apply the various kinds of keyboard mapping described in this article on the Launchpad. I’ve put them in a Python package called gral.9 The README gives more details but just to give some examples, to map Partch’s scale by scale degree with s = 2 and t = 7 as in Figure 2 you can run

    > scale-degree xen03-secor-partch.scl -s 2 7

where xen03-secor-partch.scl is an scl file containing Partch’s scale.10 To map Partch’s scale with a harmonic template you can run

    > harmonic-template xen03-secor-partch.scl -t template.csv

where template.csv contains the harmonic template to use in table form. The gral package also contains a gral-search program to apply the Gral method as in Table 1 and the box-opt program of Section 5.1 used to find harmonic templates.

To end roughly where we started, Figure 21 shows a mapping of Partch’s 43-tone scale which is well-suited to the Launchpad. The middle block of the mapping fits on the Launchpad, while the 11/10 and 20/11 sadly don’t. The mapping in Figure 21 is clearly related to the mapping in Figure 1, in fact by a shear to form a convenient Launchpad-sized block. Their harmonic templates are in the same family in the sense of Appendix B.

Figure 21. A mapping of Partch’s 43-tone scale well-suited to the Launchpad.

Appendices

A. Wilson’s method for finding harmonic templates

Wilson gave a heuristic method for finding harmonic templates (Wilson, n.d.-i). The method is to pick an equal temperament n and find the equal temperament step r closest in pitch to each octave-reduced harmonic in the template. Then pick a scale degree m to use as the generator and find a chain position p for each scale degree r by solving

image(24)

This is a congruence with infinitely many solutions.11 Pick the solution p with 0 ≤ p < n and the solution n below this as possible chain positions.12

For example, say we use 31TET so n = 31. Say we use scale step m = 18 as the generator. Consider the harmonic 5/4 in the template. Scale degree 10 in 31TET is closest in pitch to 5/4, so r = 10. To find possible chain positions p we need to solve 10 = 18p (mod  31), and we take the solutions p = 4 and p = −27. Table 6 shows the scale positions and chain positions we get for a template containing 2/1, 3/2, 5/4, 7/4, and 11/8.

To get from a table like Table 6 to an actual harmonic template, we map an m/n scale using the Gral method and use the scale positions and chain positions as moduluses and chain positions on the keyboard. So having chosen a keyboard with the Gral method, Table 6 gives two possible keyboard positions for each harmonic in the template, corresponding to the two choices of chain position.

Continuing the 31TET example, applying the Gral method to 18/31 (Table 7) we get among others the 4/7 keyboard. Figure 22 shows the template from Table 6 mapped to the 4/7 keyboard. The template we get from the positive chain positions is shown in blue; the alternative position for 11/8 with chain position −13 is shown in green. The blue harmonic template is exactly the template used in Wilson’s D’alessandro mapping ((Wilson 1989a), Figure 24). The template using the alternative position for 11/8 is the inverted D’alessandro template ((Wilson 1989a), Figure 27).

Table 6. Table of scale position and chain positions used to find harmonic templates. This table uses a generator of 18 steps of 31TET.
Table 7. Gral method applied to 18/31.
Figure 22. Harmonic template from Table 6 mapped to a 4/7 keyboard. The alternative position for 11/8 is shown in green.

If you already have a blank keyboard diagram labeled with chain position and modulus (many of which are in the Wilson archive), you can immediately see where each harmonic in Table 6 goes on the keyboard to make a harmonic template. You can also calculate the harmonic templates associated with a table like Table 6 using matrices; I think this is useful and also sheds some light on the theory. First of all we can write Table 6 as a matrix D

image(25)

where the first row gives chain position p (here choosing the positive chain positions) and the second row gives the modulus r (taken from scale position in the table). Then we can change from coordinates of chain position p and modulus r to chain coordinates p and q using the matrix N given by

image(26)

giving a matrix C

image(27)–(29)

This matrix C gives the chain coordinates p and q for each octave reduced harmonic. It defines a whole family of harmonic templates (see Appendix B). To find a specific template, we use the Gral method applied to 18/31 to choose a basis, say the basis (1, 3), (2, 5) for a 4/7 keyboard. We can write the basis as a matrix

image(30)

and find our harmonic template A as

image(31)–(33)

which gives the harmonic template shown in blue in Figure 22.

B. Families of harmonic templates

Wilson sometimes shows keyboard mappings in related families (Wilson, n.d.-f, 39–45), (Wilson, n.d.-j, 8–9). For example, Figure 23 shows Lou Harrison’s scale from Cinna (Harrison 1976) mapped to a 3/5, 4/7, and 7/12 keyboard. The keys are labeled with their chain coordinates p and q using the basis of 3/2 and 2/1. Each note has the same chain coordinates in all three mappings. This suggests that all three keyboard mappings can be expressed in terms of a single mapping onto chain coordinates, and this is in fact the case.

The matrix of the harmonic template in Figure 23a is

image(34)

for Figure 23b

image(35)

and for Figure 23c

image(36)

Looking at Figure 23a, the 3/2 and 2/1 form a basis of (a, b) = (2, 1), (c, d) = (3, 2). Collecting these into a matrix we can write this basis as

image(37)

and likewise for Figure 23b and Figure 23c we have

image(38)–(39)

Now putting C = (B1)−1A1 we have

image(40)

and A1 = B1C. The nice thing is that we can use the same C to write A2 = B2C and A3 = B3C. So you might say that the matrix C expresses the core of this family of keyboard mappings, and that A1, A2, and A3 are different manifestations of the same underlying logic — a logic based on chain coordinates.

So let’s say that two harmonic templates A and A are in the same family whenever we can write A = BC and A′ = BC for some matrix C, where B and B both have determinant ±1. The interpretation is that C maps the octave-reduced harmonics onto chain coordinates pq, and B and B are different keyboard bases. All the harmonic templates in Figure 23 are in the same family.

Figure 23. A family of keyboard mappings for Lou Harrison’s scale from Cinna.
Figure 24. Harmonic templates not in the family of Figure 23

Figure 24 shows two harmonic templates which aren’t in the same family as the Figure 23 templates. The harmonic template for Figure 24a is

image(41)

and for Figure 24b we have

image(42)

But how do we know that A4 and A5 aren’t in the same family as the Figure 23 templates? It turns out that two harmonic templates are in the same family if and only if their Hermite normal forms (Schrijver 1998; Newman 1972) are the same.13 Table 8 shows the harmonic templates of Figure 23 and Figure 24 together with their Hermite normal forms. You can see that A1, A2, and A3 all have the same Hermite normal form, while A4 and A5 have different ones. Looking at the (1, 0) and (0, 1) columns in the Hermite normal forms, you can also see that 3/2 and 2/1 form a basis for A1, A2, A3, and A4, while 5/4 and 3/2 form a basis for A5.

Wilson’s heuristic for producing harmonic templates (Wilson, n.d.-i), compare (Wilson, n.d.-f, 38), gives them in coordinates of chain position p and modulus r (see Appendix A). These can immediately be transformed to chain coordinates p and q (Equation 27) and so give rise to a family of harmonic templates related in the sense of this appendix.

Table 8. Table of harmonic templates of Figure 23 and Figure 24 with their Hermite normal forms.

C. The Gral method and moments of symmetry

It’s surprising that the Gral method, apparently about lattice bases, can calculate moments of symmetry (see Section 4.3). This appendix uses keyboard mapping to give some intuition for this and to derive some useful formulae.

Given a basis (a, b), (c, d) we can find chain coordinates (p, q) for every key (x, y) on the keyboard according to

image(43)

where Δ = ad − bc = ±1. If we’re stacking a generator at (a, b) with pitch g cents within a period at (c, d) with pitch h cents, we can assign a pitch u to any key as u = pg + qh. Figure 25 shows the pitches we get in this way when using a basis (1, 3), (2, 5) and stacking a generator g = 707 cents within a period h = 1200 cents.

Figure 25. Pitches determined by chain coordinates when stacking a generator of 707 cents.

The pitches from stacking always increase by the same amount σ going along a row or τ going up a column; in Figure 25, σ = 65 cents and τ = 214 cents. We can derive expressions for σ and τ from the pitch u as follows:

image(44)–(48)

where

image(49)–(50)

Checking the example from Figure 25 we get σ = (5 ⋅ 707 − 3 ⋅ 1200)/−1 = 65 and τ = (−2 ⋅ 707 + 1 ⋅ 1200)/−1 = 214, the correct values.

If we want the pitch to increase going along each row and up each column, our choice of basis is constrained — we need σ > 0 and τ > 0, that is

image(51)–(52)

If Δ = −1 and c > 0, d > 0, we can write these conditions as

image(53)

This is analogous to the condition in Equation 8 when mapping a scale by scale degree, and here also the Gral method gives all bases with Δ = −1 and non-negative coordinates which satisfy Equation 53. The method is the same as in Section 4, a binary search for g/h using the mediant to bisect the search interval, except in general g/h can be an irrational number in which case the search goes on indefinitely. Table 9 shows the Gral method applied to g/h = 707/1200. Each row shows the left and right endpoints of the search interval, their mediant, the corresponding basis (a, b), (c, d), and the resulting step sizes σ and τ. The mapping in Figure 25 comes from the row with mediant 4/7.

Table 9. Table showing the Gral method applied to g/h = 707/1200.

A basis gives us a keyboard mapping of the infinite collection of pitches pg + qh for all integer p and q — how do we get down to finite scales? One way is to start at the root at (0, 0) and move up to the octave at (c, d) always going one step right along a row or one step up a column, forming a sort of ‘staircase’. This by design gives scales of n = c + d notes and containing c of the step σ and d of the step τ. The generator, if it is in the scale, is at scale degree m = a + b. Figure 26 shows two scales built in this way.

Figure 26. Scales built by taking a staircase between the root and octave.

So given a basis (a, b), (c, d) we can now find a family of n = c + d note scales which contain only two step sizes. But not all of these scales are moments of symmetry. Moments of symmetry are formed by stacking the generator n times, so they have to be made up of n consecutive chain positions p. This condition has a nice geometrical interpretation; since p = (dx − cy)/Δ, the condition for n consecutive chain positions

image(54)

defines a strip on the keyboard diagram. Together with the condition that the pitch lies between 0 and the period h,

image(55)

a MOS is thus defined by a parallelogram on the keyboard. Figure 27b shows this parallelogram with key positions drawn as lattice points; Figure 27a shows the corresponding scale on the keyboard. The distance vertically across the parallelogram is (n − 1)/c and the distance horizontally across is (n − 1)/d. In Figure 27b these distances are 6/2 = 3 and 6/5 = 1.2, shown on the diagram. These distances tell us how many steps of each type we can have in a row, so in Figure 27 we can’t have more than three vertical steps in a row or one horizontal step in a row. In fact you can show that one of the distances is always less than 2, so for one of the step sizes in a MOS you can have at most one of them in a row. Incidentally the area of the parallelogram is n − 1.

The condition 0 ≤ p ≤ n − 1 corresponds to starting stacking at p = 0; we can just as well start with p = p0, giving the condition p0 ≤ p ≤ p0 + n − 1, which corresponds to shifting the parallelogram. In fact Figure 26a shows a MOS with p0 = −4, that is containing chain positions −4 ≤ p ≤ 2. Figure 26b on the other hand is not a MOS; it isn’t made up of 7 consecutive chain positions, and geometrically it can’t fit inside the MOS parallelogram since it contains two consecutive horizontal steps.

Figure 27. Lattice showing the parallelogram defining a moment of symmetry.

So once we have a basis which gives increasing pitch along rows and up columns, there’s a reasonably intuitive construction for scales made up of two step sizes, and in particular moments of symmetry. The Gral method’s job here is to provide such bases.

One last bit of MOS keyboard geometry will prove useful later. It turns out that for an m/n MOS with generator g cents and period h cents, on the m/n keyboard the position of the generator (a, b) is related to the position of the period (c, d) by

image(56)–(57)

where x is the floor function (largest integer  ≤ x) and x is the ceiling function (smallest integer  ≥ x).14 Geometrically this means that we can find the position of the generator by drawing a line from the root to the period, marking a point g/h of the way along the line, then taking the nearest lattice point on the left and above. Figure 28 shows this construction on the 3/5 keyboard for a generator of g = 702 cents, period h = 1200 cents, so g/h = 0.585.

The construction of Figure 28 also gives a geometrical picture of the generator size ranges produced by the Gral method. The gray square in Figure 28 shows all the points which would be mapped to (a, b) by Equations 56 and 57. Thinking about similar triangles, you can see that the root-period line cuts this square at points a/c and b/d of the way along its length, as marked on Figure 28; these are the smallest and largest generator sizes that will produce an m/n MOS.

Figure 28. Finding the generator position from the line between root and octave on the 3/5 keyboard.

In the Gral spectrum (Wilson, n.d.-k) Wilson shows not only the basis for each keyboard, but also the line joining the root and octave and the notes in the corresponding MOS. Wilson applies the Gral method to find moments of symmetry in (Wilson, n.d.-c, 14–47) and (Wilson, n.d.-b). Wilson also calculates MOS with his 1/x method together with his zig-zag patterns, for example (Wilson, n.d.-b, 3). The equivalence of the Gral and zig-zag methods is a purely mathematical result on continued fractions, explained very clearly in (Richards 1981). For much more on continued fractions and lattices see (Karpenkov 2022). Wilson calculates some moments of symmetry with a non-octave period, for example stacking a generator of 10/7, g = 617 cents, within a period of 13/7, h = 1072 cents (Wilson, n.d.-l, 7).

D. Secondary moments of symmetry

Secondary MOS are smaller scales derived from a larger MOS. This appendix gives keyboard mappings which make secondary MOS easy to play. The general idea is that you can play secondary MOS by shifting the same shape around a suitably chosen keyboard mapping, and so let your fingers do the thinking.

D.1. The Tanabe cycle

Let’s start with the Tanabe cycle (Wilson, n.d.-g, 13), which is based on stacking pure fourths. Table 10 shows the MOS we get from stacking 4/3 within an octave. Take the 3/7 MOS as the parent MOS, using the mode with chain positions between −5 and +1. Now map the parent MOS by scale degree, taking the generator (scale degree 3) and the period (scale degree 7) to form a basis. Table 11 shows the Gral method applied to 3/7 — choose the 2/5 keyboard. Figure 29 shows the 3/7 parent MOS mapped to the 2/5 keyboard.

Table 10. Gral method for MOS with generator g = 498.045 cents and period h = 1200 cents.
Table 11. Gral method applied to 3/7.

Playing the 2/5 MOS shape, with chain positions between −4 and 0, starting at 1/1 gives the ordinary 2/5 MOS from stacking 4/3, shown in Figure 30b. Playing the same 2/5 MOS shape starting on notes moving around the circle of fourths seven times gives a cycle of seven secondary MOS. Figure 30 shows these shapes starting on chain positions −1 through +5; this matches the order of the scales in the Tanabe cycle diagram in (Wilson, n.d.-g, 13).

Figure 29. Keyboard mapping for the Tanabe cycle.
Figure 30. Secondary MOS from the Tanabe cycle.

Figure 31 shows the scale tones and scale steps for the scales in Figure 30. The first row gives the scale in Figure 30a, the second in 30b, and so on. There are four step sizes involved, the two steps sizes 9/8 and 32/27 from the ordinary 2/5 MOS, and two new step sizes 256/243 and 81/64. Looking at the keyboard diagrams, the steps 9/8 and 256/243 come from moving along a row, and the steps 32/27 and 81/64 come from moving up a column.

Figure 31. Scale tones (small) and step sizes (large) for secondary MOS from Figure 30.
Figure 32. The five modes of each of the five families from the Tanabe cycle.

The Tanabe cycle contains seven scales but only five are unique in the sense that they aren’t modes of each other. Figure 32 shows the modes of each of these five scales, all transposed to start on the same note C, where the note names give the position in the chain of 4/3 fourths. This gives 25 scales, the five modes of each of five families, using thirteen pitches F♯ through G♭ in the circle of fourths. These 25 scales, organized differently, are shown in Wilson’s Parallelogram from the Tanabe Cycle (Wilson, n.d.-g, 14).

D.2. General secondary MOS

When mapping a parent MOS by scale degree, we can pick a note other than the generator of the MOS to form a basis with the period on the keyboard. Wilson gives a cycle of 17 scales (Wilson, n.d.-g, 6–8) which illustrates this. Take the 7/17 MOS from stacking fourths (see Table 10) as the parent MOS, using the mode with chain positions between −4 and +12. Now map this 7/17 parent MOS by scale degree, taking scale degree 5 and scale degree 17 (the period) to form a basis. Table 12 shows the Gral method applied to 5/17 — choose the 2/7 keyboard. Figure 33 shows the 7/17 parent MOS mapped to the 2/7 keyboard.

Playing the 2/7 MOS shape, with chain positions 0 to +6, starting at notes with chain positions 0 through +16, we get a cycle of 17 scales. Figure 35 shows seven of the scales in this cycle, starting at notes with chain positions +2 through +8.

Figure 36 shows the scale tones and scale steps for the scales in Figure 35. We get four step sizes, 9/8 or 204 cents, 2187/2048 or 114 cents, 65536/59049 or 180 cents, and 16777216/14348907 or 271 cents. The 180 cent and 114 cent steps come from moving along a row, the 204 cent and 271 cent steps from moving up a column.

The cycle of 17 scales contains seven unique scales (which aren’t modes of each other); Figure 35 shows just these seven scales in the cycle. Figure 37 shows the seven modes of each of these seven scales; the octave of 1200 cents in each scale is omitted to save space. The scales are arranged so that when moving one row down the table, only one note changes in the first mode. The first four families give the major, ‘harmonic major’, harmonic minor, and natural minor scales. The next three families are very close to those found in Wilson’s Purvi modulations (Wilson 1987) Figure 2b, based on the tetrachord 16/15 75/64 16/15. These scales are also found in Wilson’s Marwa permutations (Wilson 1986) Figure 12 based on the same tetrachord.

Table 12. Gral method applied to 5/17.
Figure 33. Keyboard mapping for Wilson’s cycle of 17 scales.
Figure 35. Secondary MOS from Wilson’s cycle of 17 scales.
Figure 36. Scale tones (small) and step sizes (large) for secondary MOS from Figure 35.
Figure 37. The seven modes of the seven families from Wilson’s cycle of 17 scales.

It’s true in general that for n note secondary MOS we get n families of n scales together made up from four step sizes. It turns out there are formulae for the step sizes in the secondary MOS. To recap, for an ordinary m/n MOS with generator G and period H, if (a, b), (c, d) is the basis of the m/n keyboard then the two MOS step sizes are given by

image(58)–(59)

This follows from Equations 49 and 50 with Δ = −1 and written multiplicatively rather than in cents. There are analogous formulae for the four step sizes of the secondary MOS. Say we are looking at n note secondary MOS derived from an M/N parent MOS by taking step M as generator and mapping to an m/n keyboard with basis (a, b), (c, d). Then if k is the chain position of scale degree M in the parent MOS, we have the four step sizes

image(60)–(63)

Here I’ve written x red y for x reduced within the period y,

image(64)–(65)

We can find k using the modular inverse; k = (M−1M′) mod  N where M−1 is the inverse of M modulo N. For example, for Wilson’s cycle of 17 scales we have M/N = 7/17, M′ = 5, m/n = 2/7, (a, b) = (1, 1), (c, d) = (4, 3). Then k = (7−1 ⋅ 5) mod  17 = 8, where 7−1 = 5 is the inverse of 7 modulo 17, giving

image(66)–(68)

and likewise we can calculate S2 = 65536/59049, T1 = 16777216/14348907, and T2 = 9/8.

In case M′ = M, as for the Tanabe cycle, we have k = (M−1M) mod  N = 1 and the step size formulae reduce to

image(69)–(72)

where I’ve used the relations b = ⌈dg/h and a = ⌊cg/h from Equations 56 and 57 and the fact that g/h = logHG where g and h are the cents values corresponding to G and H. So in this case the step sizes S1 and T1 for the secondary MOS equal the step sizes S and T for the ordinary m/n MOS.

For example, for the Tanabe cycle we have M/N = 3/7, M′ = 3, m/n = 2/5, (a, b) = (1, 1), (c, d) = (3, 2). So k = 1 and

image(73)–(74)

and likewise we can calculate S1 = 9/8, T1 = 32/27, and T2 = 81/64.

E. The Gral method and negative coordinates

On my guitars I use a basis with a minor third at (a, b) = (0, 1) and the octave at (c, d) = (−1, 4). One of these guitars is a 19TET guitar tuned in minor thirds (5 steps of 19TET), so I naively tried the Gral method on 5/19 to see if the basis on my guitar came out. Table 13 shows the Gral method applied to 5/19. The basis (0, 1), (−1, 4) is not found. Upon reflection this was to be expected, not just because this basis has Δ = 1 (the flipped basis (1, 0), (4, −1) isn’t found either), but because the Gral method finds bases with non-negative coordinates. It turns out however that a slightly extended Gral method can find bases with negative coordinates; since the extension is somewhat interesting and it lets me link my guitar tunings with the Gral method, I will describe it here.

The extended Gral method follows from the curious fact that for any basis

image(75)

with ad − bc = −1, if we put m = a + b and n = c + d, then c is an inverse of m modulo n, that is cm ≡ 1 (mod  n). This is because ad − bc = −1 is equivalent to cm − an = 1. Then since d = n − c, a = (cm − 1)/n, and b = m − a, the whole basis B can be expressed in terms of m, n, and the modular inverse m−1 as

image(76)

The modular inverse m−1 is not unique — we can add any multiple of n to it. We get the basis of the m/n keyboard by taking m−1 = m0−1 where 0 ≤ m0−1 < n, and in this case B has non-negative coordinates. But in general we have m−1 = m0−1 + kn, and so we get a family of bases which we could write as (m/n)k, where (m/n)0 is the basis of the m/n keyboard.15

If the basis (m/n)k is (a′, b′), (c′, d′) and the basis (m/n)0 is (a, b), (c, d), we have

image(77)

The extended Gral method considers all bases (m/n)k for each m/n found in the Gral search. While the bases (m/n)0 are guaranteed to give positive step sizes, the other bases (m/n)k often do too. In fact the step sizes (s′, t′) from the basis (m/n)k are related to the step sizes (s, t) from the basis (m/n)0 by

image(78)

and we have s′ − t′ = s − t.

Table 14 shows the extended Gral method applied to 5/19. Only the bases for k = −1, 0, 1 are shown. Happily the method finds the basis (1, 0), (4, −1), the flipped version of the basis from my guitars, as the basis (1/3)1. I like to write (m/n)k± to include bases with determinant Δ = ±1, so the actual basis from my guitars is (1/3)1+.

Table 13. The Gral method applied to 5/19.
Table 14. The extended Gral method applied to 5/19.

References

Bosanquet, R. H. M. 1876. An Elementary Treatise on Musical Intervals and Temperament. Macmillan; Co.
Carey, Norman, and David Clampitt. 2012. “Two Theorems Concerning Rational Approximations.” Journal of Mathematics and Music 6 (1): 61–66.
Cassels, J. W. S. 1959. An Introduction to the Geometry of Numbers. Springer-Verlag.
Hanson, Larry A. 1989. “Development of a 53-Tone Keyboard Layout.” Xenharmonikôn 12: 69–87.
Harrison, Lou. 1976. “Incidental Music for Corneille’s “Cinna”.” Xenharmonikôn 5.
Harrison, Lou. 1979. “ITEM: Thoughts While Designing a Gamelan.” Xenharmonikôn 7 & 8.
Karpenkov, Oleg N. 2022. Geometry of Continued Fractions. 2nd ed. Springer.
Knuth, Donald Ervin, Oren Patashnik, and Ronald Lewis Graham. 1994. Concrete Mathematics. 2nd ed. Addison-Wesley.
Launchpad x Programmer’s Reference Manual. n.d. https://fael-downloads-prod.focusrite.com/customer/prod/s3fs-public/downloads/Launchpad%20X%20-%20Programmers%20Reference%20Manual.pdf.
Levy, Mark. 1982. Intonation in North Indian Music. Biblia Impex Private Limited.
Narushima, Terumi. 2017. Microtonality and the Tuning Systems of Erv Wilson. Routledge.
Newman, Morris. 1972. Integral Matrices. Academic Press.
Partch, Harry. 1979. Genesis of a Music. 2nd ed. Da Capo Press.
Richards, Ian. 1981. “Continued Fractions Without Tears.” Mathematics Magazine 54 (4): 163–72. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/10/cont-frac-wihtout-tears-richards-1.pdf.
Schrijver, Alexander. 1998. Theory of Linear and Integer Programming. John Wiley & Sons.
Schulter, Margo. 2006. “George Secor’s 17-Tone Well-Temperament and Neo-Medieval Music.” Xenharmonikôn 18: 81–123.
Wilson, Erv. 1974. “Bosanquet – a Bridge – a Doorway to Dialog.” Xenharmonikôn 2. https://www.anaphoria.com/xen2.pdf.
Wilson, Erv. 1975a. “On Linear Notations and the Bosanquet Keyboard.” Xenharmonikôn 3. https://www.anaphoria.com/xen3a.pdf.
Wilson, Erv. 1975b. “On the Development of Intonational Systems by Extended Linear Mapping.” Xenharmonikôn 3. https://www.anaphoria.com/xen3b.pdf.
Wilson, Erv. 1977. Septendene Centered on the Bosanquet. https://www.anaphoria.com/septen.pdf. (page 2 of pdf)
Wilson, Erv. 1978. The Parallel Murchanas of Kafi. https://www.anaphoria.com/letterIndia.pdf. (page 1 of pdf)
Wilson, Erv. 1980. Design for a 17-Levered Musical Instrument. https://www.anaphoria.com/letterIndia.pdf. (page 41 of pdf)
Wilson, Erv. 1986. “The Marwa Permutations.” Xenharmonikôn 9. https://www.anaphoria.com/xen9mar.pdf.
Wilson, Erv. 1987. “The Purvi Modulations.” Xenharmonikôn 10. https://www.anaphoria.com/xen10pur.pdf.
Wilson, Erv. 1989a. “D’alessandro, Like a Hurricane.” Xenharmonikôn 12. https://www.anaphoria.com/dal.pdf.
Wilson, Erv. 1989b. Tuning Table for 22-Tone Indian Scale. https://www.anaphoria.com/letterIndia.pdf. (page 50 of pdf)
Wilson, Erv. n.d.-a. A 36 TONE FIBONACCI TUNING (2 Mappings) Plus LAMBDOMA of a FIBONACCI SEQUENCE. https://www.anaphoria.com/fib36.pdf.
Wilson, Erv. n.d.-b. Diophantine Triplets of Recurrent Derived Intervals. https://www.anaphoria.com/DiophantineTripletsRECURR.pdf.
Wilson, Erv. n.d.-c. Diophantine Triplets of Temperament Derived Intervals. https://www.anaphoria.com/DiophantineTripletsTEMPER.pdf.
Wilson, Erv. n.d.-d. Evangelina Notes. https://www.anaphoria.com/evangelina.pdf.
Wilson, Erv. n.d.-e. Gral Keyboard Guide. https://www.anaphoria.com/gralkeyboard.pdf.
Wilson, Erv. n.d.-f. Hebdomekontany Notes. https://www.anaphoria.com/Hebdomekontany.pdf.
Wilson, Erv. n.d.-g. Letter to Chalmers Pertaining to MOMENTS OF SYMMETRY/TANABE CYCLE. https://www.anaphoria.com/mos.pdf.
Wilson, Erv. n.d.-h. On the Application of Diophantine Equations to Musical Instrument Keyboard Format. https://www.anaphoria.com/gralkeyboard.pdf. (page 10 of pdf)
Wilson, Erv. n.d.-i. On the Construction of Harmonic Templates. https://www.anaphoria.com/ConstHarmTemplates.pdf.
Wilson, Erv. n.d.-j. Some d’alessandro Keyboards. https://www.anaphoria.com/DAlessandroKbds.pdf.
Wilson, Erv. n.d.-k. The Gral Spectrum. https://www.anaphoria.com/gralspectrum.pdf.
Wilson, Erv. n.d.-l. Various Papers on Non-Octave Scales. https://www.anaphoria.com/nonoctave.pdf.

  1. Wilson uses the basis (c − a, d − b), (c, d), which also has Δ = +1, and calls (c − a, d − b) the complementary generator.

  2. A moment of symmetry is a scale built by repeatedly stacking a generating interval and reducing it within a period (often an octave). In general this stacking process gives a scale with three step sizes; we have a moment of symmetry when we get only two step sizes.

  3. We could just as well minimize the sum of the distances between each scale note on the keyboard — the idea is to encourage the scale to fit into a small space.

  4. The code is available at https://github.com/narenratan/gral

  5. See (Levy 1982) for a survey of some of the many interpretations of the śruti.

  6. The Radel Maadhurium, a digital harmonium, works this way; you can choose from two slightly different pitches for each of the twelve notes apart from the octave and fifth. Wisely it also allows adjusting each note to taste.

  7. You can hear the guitar in action in the 8th International Microtonal Guitar Competition here https://www.youtube.com/watch?v=cc8hbiXu3b0

  8. Available at https://github.com/narenratan/mtsespy

  9. Available at https://github.com/narenratan/gral

  10. scl files for many of the scales in this article can be found in https://github.com/narenratan/scale-library

  11. The notation a ≡ b (mod  c) means a = b + kc for some integer k.

  12. The congruence can be solved using the modular inverse; in Python p = (pow(m, -1, n) * r) % n.

  13. If A and A are in the same family, A = BC and A′ = BC, so A′ = BB−1A. Since B and B are unimodular (i.e. have determinant ±1), BB−1 is unimodular. Multiplying a matrix by a unimodular matrix doesn’t change its Hermite normal form, so A and A have the same Hermite normal form. Going the other way, if A and A have the same Hermite normal form H, then A = UH and A′ = UH for some unimodular U and U, so A and A are in the same family.

  14. You can show this by writing the step sizes σ = −dg + bh and τ = cg − ah as σ = (−dg) mod  h and τ = cg mod  h and using the identities x mod  y = x − yx/y and ⌊−x⌋ = −⌈x, see (Knuth et al. 1994, chap. 3).

  15. With the conventions that and , any basis with Δ = −1 can be written as (m/n)k.