Sunday, October 12, 2025

Emergent Order

I use a thermodynamic simulation in my algorithmic composition software. Randomized decisions are at the heart of this simulation. A piece of music might have ten thousand note events, a voice and a point in time at which a pitch is to be sounded. The pitch to be sounded at each note event is randomly chosen. Each possible pitch that could be played, selected from the options provided by the tuning system, is assigned a probability. A pitch that fits well into the musical context will be assigned a high probability; a pitch that would sound very out of place is assigned a low probability. The musical context is defined by the pitches that have been chosen at related note events:
  • vertical relationships: pitches sounding at the same time in other voices
  • horizontal relationships: pitches immediately before or after in the same voices
  • thematic relationships: pitches sounding at more distant times that are in the same corresponding place in a different expression of a musical phrase or motif or theme.
The choice of the pitch to sound at one note event depends on the pitches chosen to sound at other note events. There is a problem of circularity here! How can the first choices be made? Won't the result depend heavily on the order in which choices are made?

I use a variety of technniques for the initial choices, but the main way around the problem of circularity is that choices are made again and again. After initial pitches have been chosen for all ten thousand note events, those choices are revisited. Some single note event is randomly selected from among the ten thousand. The probabilities are computed for this note event, based on the pitches currently assigned to related note events. A fresh random pitch choice is made, using these probabilities, and the chosen pitch is assigned to this note event. This process is repeated again and again, many millions of times. So the pitch to be assigned to a single note event will be chosen again and again, thousands of times. Between each choice, though, the pitches assigned to the related note events will also have changed, so the probabilities will be different each time the pitch is chosen.

The calculation of the probabilities is based on a cost function. A low cost is assigned to pitches that fit well with pitches at related note events. A system temperature parameter is used in deriving probabilities from the costs. When possible pitches have cost differences that are small relative to the temperature, they will be assigned similar probabilities. When cost differences are large relative to the temperature, then the probabilities will be very different.

The overall process of pitch selection usually involves starting the system at a high temperature, assigning and reassigning pitches to note events again and again, then slowly lowering the temperature, again reassigning pitches many times at each temperature. The pitch choice made at one note event will affect the choices to be made at related note events, and then those choices will affect yet other choices, and this propagation of choices will let the whole system organize itself.

A total cost for the system can be computed, as simply the sum of the costs for all the note events in the system. At high temperatures, high cost pitches have a higher probability, so the total system cost will be high. As the temperature is lowered, the total system cost goes down. A curious feature of thermodynamic systems like this is that the decrease in cost with temperature is often not smooth. Phase transitions occur, where long range order arises and the system cost suddenly decreases. The graph above, with temperature on the horizontal axis and cost on the vertical axis, shows a sudden drop in cost around temperature 230.

A tonal center would be a typical kind of long range order in a musical system. Looking at a particular note event, if the pitches at the related note events are quite unrelated harmonically, then there will be no strong bias in the probabilities for assigning a new pitch at this event. But once the pitches at the related note events are all harmonically close to some tonal center, then there will be a strong bias to assign a harmonically related pitch at this event, too.

The slow decrease in system temperature allows long range order to emerge spontaneously. I took eighteen snapshots of the evolution of the system in a run of this software. The first snapshots are at a very high temperature, so the pitches are quite disordered. The last snapshots are at a very low temperature, after long range order has emerged and established itself. At these extremes of very little order or very strong order, the pieces are rather boring. The most musically interesting pieces are in the middle, at the boundary between order and disorder.

  1. temp=4983.67001252014; cost=10544386.267572;
  2. temp=3178.35877439225; cost=8365076.82243706;
  3. temp=1768.29608835035; cost=6691731.54375484;
  4. temp=907.870229277442; cost=5341434.10767405;
  5. temp=437.105167762909; cost=4254305.00978789;
  6. temp=253.151000149135; cost=3362954.84572504;
  7. temp=226.226281845489; cost=2575694.51859118;
  8. temp=213.857636486513; cost=1992138.33672853;
  9. temp=194.206977218147; cost=1593476.40311909;
  10. temp=168.06408964933; cost=1268744.01912949;
  11. temp=144.276865461673; cost=1010195.00479415;
  12. temp=119.940307483187; cost=804750.28245681;
  13. temp=103.794718800345; cost=639506.147892938;
  14. temp=88.3911327966952; cost=494414.291970105;
  15. temp=77.7312146561222; cost=382966.425501626;
  16. temp=69.4638522645718; cost=300979.198963986;
  17. temp=60.1130776123832; cost=239863.346055088
  18. temp=48.7834419649326; cost=190764.398975199
Even the final piece here has not settled into utter monotony. When a tuning system tempers out simple commas, the system can get stuck in some pattern of comma traversal. That seems to have happened here. The tuning system I used here is 34edo. Studying the scores a bit, I think a traversal of the diaschisma is what got caught.

Thursday, October 9, 2025

Well Temperament

Temperament is tuning with compromises. There are many criteria, that can't all be satisfied perfectly:
  • including many consontant intervals;
  • not including too many notes per octave;
  • symmetry, where the intervals available from one note are also available from other notes;
  • simple paths from a note don't lead to a note that is slightly off the starting point, giving rise to drifting or sounding out of tune.
Well temperament is a class of tunings that allow all twelve key signatures without any sounding too far off. A few years ago I suggested a 12 note subset of 34edo that tempers out the diaschisma rather than the syntonic comma, so it is not too conventional. Lately I have been looking at just tuned diatonic scales. The diaschismic tuning avoids perfect fifths that are too far off, so I had the idea that it could provide a form of well temperament, supporting all twelve key signatures with reasonable diatonic scale shapes.

C Major

An algorithmic example.

G Major

An algorithmic example.

D Major

An algorithmic example.

A Major

An algorithmic example.

E Major

An algorithmic example.

B Major

An algorithmic example.

F# Major

The shapes of the diatonic scales now start to repeat, so their characters will be the same as those already given.

C# Major

Ab Major

Eb Major

Bb Major

F Major

Monday, September 1, 2025

Hanson[19]

A couple days ago I posted a piece in a 19 note scale, using 55edo. This was a classic meantone scale, built from a chain of perfect fifths with the syntonic comma tempered out.

Here is a new piece in a different 19 note scale, using 53edo. This is a Hanson scale, built from a chain of minor thirds with the kleisma tempered out.

I thought it was a nice coincidence that both meantone scales and Hanson scales work with 19 notes per octave: one can shift the scale along the chain of generating intervals by just sharpening or flattening one note of the scale. Initially I just tweak my code to switch the tuning system and scale, but what the software generated was mostly just a single note repeated again and again. Exactly what combinations of parameters will result in anything reasonable musical... I can usually guess the general ballpark, but generally I have to sift through at least a few trials to find something that sounds plausible. So the parameters here have wandered quite a bit from last Saturday's!

Saturday, August 30, 2025

1/6-Comma Meantone

Here is a new piece in 55edo. This piece uses a 19 note subset of the 55 notes per octave of 55edo. This subset is generated from a chain of perfect fifths, which is the way conventional scales are generated. So the scale can be mapped to conventional note names:

A perfect fifth is 32 microsteps of 55edo, which is 698.18 cents. A just tuned perfect fifth is 701.96 cents, so the perfect fifth of 55edo is about 3.77 cents flat. A syntonic comma, the difference between a just tuned major third 5:4 and a pythagorean major third 81:64, is about 21.5 cents. Since 3.77 cents is quite close to 1/6 of 21.5, 55edo is quite close to 1/6-comma meantone. This is a tuning that would have been familiar to musicians in the 18th Century.

Friday, August 15, 2025

Hanson[34]

Scales generated by a minor third support traversing the kleisma, a comma tempered out by 53edo. Larry Hanson built keyboards that exploited this fact, so the scales are called Hanson scales. Hanson[19] is a common size such scale. Starting from pitch class 0, a sequence of eighteen minor thirds generates a scale with 19 notes per octave. The last pitch class in the series is 40. The whole sequence can be shifted by a minor third, by ommitting the starting pitch class, 0, and adding one more pitch class at the end, pitch class 1. Thus the shift is accomplished by sharpening 0 by a single step of 53edo.

With scale sizes of 7, 11, 15, and 34, shifting the sequence ahead a minor third is accomplished by flattening the 0 pitch class. For a scale size of 7, the 0 pitch class would be flattened to pitch class 45. For a scale size 11, 0 is flattened to 48; for size 15, to 51; for 34, to 52. Hanson[34] is largest such scale, a scale that can be shifted by sharpening or flattening a pitch class to an adjacent pitch class.

Here is an algorithmic piece in Hanson[34].

Tuesday, August 12, 2025

Yet More Ways to Tune a Piano

I've been exploring the possibilities for just intonation for the twelve notes per octave on a piano. One can pick a subset of the intervals to tune exactly, and then the other intervals will be have even worse errors than with conventionl equal temperament. I counted 41,844 ways to choose which intervals to tune exactly!

But much of the fun and fascination of tuning has to do with temperament. By relaxing the requirement for intervals to be tuned to exact simple frequency ratios, one can increase the number of intervals that sound acceptably. Of course equal temperament pushes this to the limit, but at the cost of thirds sounding rather rough. There are many other possible choices.

Another way to expand the range of choices is to tune unconventional intervals between the piano keys, or to let go entirely of the seven white and five black keys of the piano, to change the layout of the keyboard. Historically, with meantone tuning, keyboards often enough had split black keys, e.g. seperate black keys for G# and Ab.

Still, it is a nice exercise to stick with the twelve piano keys and their conventional intervals, to start with a choice from among the 41,844 just intonation possibilities, and then to introduce temperament to add a few more acceptably tuned intervals.

This is a tonnetz diagram showing the Pythagorean tuning of the twelve piano keys. The piano is tuned to a chain of perfect fifths. There are no just tuned major thirds available in this tuning.

When this tuning is mapped to 53edo, the tuning system that divides the octave into 53 equal steps, the chain of perfect fifths gets flattened slightly, which brings some of the major thirds into a good approximation. These new relationships change the topology of the tuning: instead of a line segment, the tuning has been wrapped into a circular shape, a loop. The schisma is one of the commas that is tempered out by 53edo. This scale supports traversal of the schisma.

Here is an example of this tuning. This piece is built from a traversal of the schisma, looping around 64 times. A scale built from a chain of perfect fifths, and tempering out the schisma: this is a quite conventional way to tune. This piece does not sound too terribly exotic, at least to my ears!

Here is another of the 41,844 just tunings of a piano. This is built from four chains of major thirds. There are not many perfect fifths in this tuning! It's a more more exotic tuning.

When this tuning is mapped to 53edo, an additional major third is added, which forms a loop that traverses the semicomma.

Here is an example of this tuning, built from 64 traversals of the semicomma.

This exotic tuning does not have a very neat structure: for example, there are three sizes of steps between the notes. By adding one more note per octave, and shifting a couple of the other notes, a more neatly structured tuning can be created:

This tuning does not fit well on a piano keyboard. It's not just that there are thirteen notes per octave. This tuning is built from chains of major thirds of length four and five. Conventional tuning does not allow such chains!

Here is an example of this unconventional and exotic tuning, again built from 64 traversals of the semicomma.

Wednesday, July 23, 2025

Cyclic Paths in Tuning

This diagram shows relationships between the sixteen ways to tune a diatonic scale using just intonation. Each arrow in the diagram represents moving from one tuning to another by shifting a single note by a syntonic comma. The arrows point in the direction of raising the pitch of the note. The diagram has a loop: once all seven notes have been raised by a syntonic comma, one has returned to the same tuning structure that one started with, just a tad higher.

I've made diagrams for each of the sixteen tunings, showing the just tuned perfect fifths, major thirds, and minor thirds. In this first tuning, for example, there is no arrow from G to D. In conventional equal tempered tuning, every interval of seven half steps is the same. In just intonation, not all similar intervals can be tuned the same. In this first tuning, the G-D interval is tuned to a 40:27 frequency ratio, and will sound rather harsh.

Here is an example of tuning 1. I used 87edo to create these examples, rather than just intonation, because my algorithmic composition software works mainly with edo. This software uses weighted random choices to decide what pitches to play. The weights are computed based on the consonance or dissonance of intervals between related notes. So with tuning 1 for example, the program will not very often put a G near a D. It will much more often put A and D near each other.

Here is an example of tuning 2.

Here is an example of tuning 3.

Here is an example of tuning 4.

Here is an example of tuning 5.

Here is an example of tuning 6.

Here is an example of tuning 7.

Here is an example of tuning 8.

Here is an example of tuning 9.

Here is an example of tuning 10.

Here is an example of tuning 11.

Here is an example of tuning 12.

Here is an example of tuning 13.

Here is an example of tuning 14.

Here is an example of tuning 15.

Here is an example of tuning 16.