In these days where algorithms can drive much of our experience, I had a recent encounter with a band calling itself Hejira who had posted a video of their performance of Joni Mitchell’s song, which – not to put too fine a point on it – is really quite wonderful.
Now my main point of contact with the piece is from the Shadows and Light live album featuring one of the most amazing backing bands ever assembled:
All of which is just to say that I love this song. So having heard a cover that I thought did justice to the original recording, it got me thinking about what I might like to do to produce a cover of the song. Knowing Joni’s extensive use of open tunings, coupled with literally everything else about this recording, my thoughts ran towards a Just-intonated version using the tools I have readily to hand: voices and automated synthesis.
Step one was simply to see how the harmonies would render in a JI schema. I hunted down the transcriptions by Eyolf Østrem and Howard Wright on Joni's web site to find out the basic tuning and chord shapes. The basic tuning is given as x77325. The numbers are the relative tuning in frets over the mext lower string; so since 7 frets is nominally a perfect fifth, and five frets a perfect fourth, this open tuning can ring very beautifully when tuned harmonically. In list notation the tuning is
(define joni-x77325 '(1 3/2 9/4 8/3 3/1 4/1))
It is also an excellent candidate for JI exploration. For this song, Joni tuned everything to C, giving the open strings CGDFGC and making a delightful cluster in the prime-3 limit that might be conventionally called a Csus4+9 chord. In pure JI terms, this cluster forms the extended ratio 12:18:27:32:36:48. So after looking at the chords Joni actually uses in Hejira the open tuning is fretted at the 3rd, 4th, 6th, and 8th frets. Except for the sixth fret (the tritone), these all represent intervals relating to the major/minor third interval, and if we choose the usual five-prime limit fractions (6/5 and 5/4), you get the following set of tones:
(define joni-hejira-frets (1 16/15 9/8 6/5 5/4 81/64 4/3 27/20 45/32 3/2 8/5 5/3 27/16 16/9 9/5 15/8))
These 16 tones provide an interesting basis to begin. Notice that even though we did not specify an interval to use in place of the tritone, two candidates already interpolate between the fourth and the fifth: 27/20 and 45/32. It's a little surprising that the usual 16/15 semitone is available as the first fret isn't directly used. I am personally not bothered by the translational asymmetry arising from the different distances in these intervals, but the fact that some intervals are missing their complementary tones is a feature that I usually try to avoid as it tends to make it difficult to return to the tonal center in the octave.
Adding in the 16/15 semitone for all of the open strings is easy. And fortunately, I have an automated procedure which will enrich a set of tones to ameliorate the problem of returning to the octave. As with most of my code for working with tunings, it is written in the Scheme dialect of Lisp. And when we apply it to the joni-hejira-frets scale, we get
(define joni-hejira-5 (enrich-scale-with-complements (guitar-scale joni-x77325 ;; note 16/15 and it's complement 15/8 added '(1 16/15 9/8 6/5 5/4 4/3 3/2 8/5 15/8))) => (1 135/128 16/15 10/9 9/8 32/27 6/5 5/4 81/64 4/3 27/20 45/32 64/45 40/27 3/2 128/81 8/5 5/3 27/16 16/9 9/5 15/8 256/135)
Which makes for a 23-note 5-prime limit scale with a nice helping of cubes and a slight excess of 5-tonality notes. It also has 4 different approximations of the tritone to allow fine-tuning the uses of mid-octave harmonies. Taking a look at the scale in cents, so we can get a sense of how the tones are distributed through the octave
scale-summary joni-hejira-5 | |||
---|---|---|---|
note | tone | cents | interval |
0 | 1 | 0.0 | 0.0 |
1 | 135/128 | 92.179 | 92.179 |
2 | 16/15 | 111.731 | 19.553 |
3 | 10/9 | 182.404 | 70.672 |
4 | 9/8 | 203.910 | 21.506 |
5 | 32/27 | 294.135 | 90.225 |
6 | 6/5 | 315.641 | 21.506 |
7 | 5/4 | 386.314 | 70.672 |
8 | 81/64 | 407.820 | 21.506 |
9 | 4/3 | 498.045 | 90.225 |
10 | 27/20 | 519.551 | 21.506 |
11 | 45/32 | 590.224 | 70.672 |
12 | 64/45 | 609.776 | 19.553 |
13 | 40/27 | 680.449 | 70.672 |
14 | 3/2 | 701.955 | 21.506 |
15 | 128/81 | 792.180 | 90.225 |
16 | 8/5 | 813.686 | 21.506 |
17 | 5/3 | 884.358 | 70.672 |
18 | 27/16 | 905.865 | 21.506 |
19 | 16/9 | 996.089 | 90.225 |
20 | 9/5 | 1017.596 | 21.506 |
21 | 15/8 | 1088.269 | 70.672 |
22 | 256/135 | 1107.821 | 19.553 |
23 | 2 | 1200.000 | 92.179 |
So that looks playable, I guess. ¢20 is a bit of a thin interval but it does provide a clear switch between tonalities. And what's up with the fact that ¢20 is in-between all of the other pairs of notes? And then we have the fact that ¢20 + ¢70 = ¢90. Is there an EDO generator lurking underneath this particular set of tones?
Now, at this moment in time (July 2023), I am not the world's greatest expert on microtonal tunings. In fact I see myself as a bit of a self-taught kook; but I don't mind feeling that way because it allows me to remain playful and enjoy the intersectionality of arts through mathematics and music all in one neat package. Over the last several years, I have been slowly absorbing different formal concepts via the Microtonal Music and Tuning Theory Facebook group; including readings from The Xenharmonic Wiki and the Tonalsoft Encyclopedia. But somewhere along the line I have noticed a common pattern among some microtonal practitioners where they use a very finely-divided real-valued EDO as a grid for approximating a rational-valued JI division of the octave. The joni-hejira-5scale listed above looks like it might be a good candidate for such a treatment. Given that all of the intervals are within a cent or two of a multiple of ¢10, perhaps we are looking at a scale that can be approximated by a "nice" subset of 120EDO?
As a first guess, I just truncated everything to units of ¢10, giving three scale steps
(define jh120-truncated-deltas '(0 90 20 70 20 90 20 70 20 90 20 70 20 70 20 90 20 70 20 90 20 70 20 90))
And then I thought it would be interesting to check how it matched up with an algorithm I have been using to approximate one scale (usually EDO) using a subset of a larger (usually JI) scale. This time I would be reversing the process to see how close my naive approach actually was. The approximation gave
(define jh120-approx-cents (map (lambda (t) (inexact->exact (floor (tone->cents t)))) (approximate-subset joni-hejira-5 (et-scale 120)))) => (0 90 110 180 200 290 320 390 410 500 520 590 610 680 700 790 810 880 910 1000 1020 1090 1110 1200)
Eventually I saw it. The interval between the fifth and sixth notes was larger than ¢20. It was actually ¢30! And of course there was a corresponding extra ¢10 fixup between notes 17 and 18. Oops. Those truncations added up, and my approximation program took them in units of ¢10, exactly as it was supposed to. This makes the scale balance nicely at the octave, too. But it comes at the cost of our nice 20+70=90 relationship.
I am a little bit attached to the ¢(20, 70, 90) framework, because it looked like it might also be well-suited to a physical impementation (as opposed to a computer controlled one). A higher-resolution five-prime limit keyboard for performing JI jazz seems like a good thing that I might like to build. Can we find a way to distribute the missing ¢20 from the jh120-truncated-deltas?
It turns out that we can, with bells on. If we insert an extra ¢20 interval right after the ¢600 true tritone, not only do we get back to a full octave scale, but we also get the octave closure property back which was part of the original JI construction in the first place. This version of the hejira scale (jh120-tritone-cents) now has 24 distinct tones and also looks like it admits a nice physical implementation.
So to summarize the different approaches:
implementations of jh120 | |||||
---|---|---|---|---|---|
truncated | tritone | approx | |||
cents | interval | cents | interval | cents | interval |
0 | 0 | 0 | 0 | 0 | 0 |
90 | 90 | 90 | 90 | 90 | 90 |
110 | 20 | 110 | 20 | 110 | 20 |
180 | 70 | 180 | 70 | 180 | 70 |
200 | 20 | 200 | 20 | 200 | 20 |
290 | 90 | 290 | 90 | 290 | 90 |
310 | 20 | 310 | 20 | 320 | 30 |
380 | 70 | 380 | 70 | 390 | 70 |
400 | 20 | 400 | 20 | 410 | 20 |
490 | 90 | 490 | 90 | 500 | 90 |
510 | 20 | 510 | 20 | 520 | 20 |
580 | 70 | 580 | 70 | 590 | 70 |
600 | 20 | 600 | 20 | – | – |
670 | 70 | 620 | 20 | 610 | 20 |
690 | 20 | 690 | 70 | 680 | 70 |
780 | 90 | 710 | 20 | 700 | 20 |
800 | 20 | 800 | 90 | 790 | 90 |
870 | 70 | 820 | 20 | 810 | 20 |
890 | 20 | 890 | 70 | 880 | 70 |
980 | 90 | 910 | 20 | 910 | 30 |
1000 | 20 | 1000 | 90 | 1000 | 70 |
1070 | 70 | 1020 | 20 | 1020 | 20 |
1090 | 20 | 1090 | 70 | 1090 | 70 |
1180 | 90 | 1110 | 20 | 1110 | 20 |
gap | 20 | 1200 | 90 | 1200 | 90 |
And how does it sound? truth be told, I don't know. All of my audible explorations so far have used the joni-hejira-5 scale. I find EDOs more interesting for building practical instruments than for composition. But of course, one has to evaluate the tuning before building the instrument, especially if it has a complex tone layout like a traditional keyboard. Eventually, I hope to get to that stage in this exploration.
After the MMTM Group detected my mistakes, Paul Erlich suggested that I knew more than I actually did:
118 is well known for being an extremely good 5-limit ET, with 5-odd-limit errors a small fraction of a cent. Perhaps David miscalculated and meant 118 rather than 120...
Not to put too fine a point on it, but my knowledge of EDO mappings generally is poor and I did not mean 118EDO. But I gave it a look because of those reasons. 118EDO has a unit interval size of ¢10.17, giving the step pattern from jh120-truncated-deltas a very accurate approximation of the 5-prime limit intervals.
hejira-118 | hejira-5 | delta | |||
---|---|---|---|---|---|
# | cents | interval | units | cents | |
0 | 0.0 | 0.0 | 0 | 0.0 | 0.0 |
1 | 91.525 | 91.525 | 9 | 92.179 | 0.653 |
2 | 111.864 | 20.339 | 2 | 111.731 | -0.133 |
3 | 183.051 | 71.186 | 7 | 182.404 | -0.647 |
4 | 203.390 | 20.339 | 2 | 203.910 | 0.520 |
5 | 294.915 | 91.525 | 9 | 294.135 | -0.780 |
6 | 315.254 | 20.339 | 2 | 315.641 | 0.387 |
7 | 386.441 | 71.186 | 7 | 386.314 | -0.127 |
8 | 406.780 | 20.339 | 2 | 407.820 | 1.040 |
9 | 498.305 | 91.525 | 9 | 498.045 | -0.260 |
10 | 518.644 | 20.339 | 2 | 519.551 | 0.907 |
11 | 589.831 | 71.186 | 7 | 590.224 | 0.393 |
12 | 610.169 | 20.339 | 2 | 609.776 | -0.393 |
13 | 681.356 | 71.186 | 7 | 680.449 | -0.907 |
14 | 701.695 | 20.339 | 2 | 701.955 | 0.260 |
15 | 793.220 | 91.525 | 9 | 792.180 | -1.040 |
16 | 813.559 | 20.339 | 2 | 813.686 | 0.127 |
17 | 884.746 | 71.186 | 7 | 884.359 | -0.387 |
18 | 905.085 | 20.339 | 2 | 905.865 | 0.780 |
19 | 996.610 | 91.525 | 9 | 996.090 | -0.520 |
20 | 1016.949 | 20.339 | 2 | 1017.596 | 0.647 |
21 | 1088.136 | 71.186 | 7 | 1088.269 | 0.133 |
22 | 1108.475 | 20.339 | 2 | 1107.821 | -0.653 |
23 | 1200.0 | 91.525 | 9 | 1200.0 | 0.0 |
This is actually rather delightful, even if it is harder to explain to a layman than saying that the mapping uses a pitch step that is 1/10 of a semitone. From the point of practical instrument building, 118EDO would seem to be the way forward. Tuning to sub-cent intervals is difficult enough, and the tuning would certainly be fine for polyphonic performance. The differences between the hejira-118 and hejira-5 scales might be audible in some vertical harmonic contexts when using synthesized waveforms, but for practical instruments it is hard to imagine that there would be any audible difference.
And so, it just might be, that I need to make my peace with these high-order EDOs. I can see a very real practicality in them, which I had not seen before.