My 1993 experiments with tonality seemed promising, so I tried to figure out a way to combine pitch, interval and tonality in a single display.
In V12 (I’d stopped trying to think of names for my experiments), I made the x-axis pitch, the y-axis tonality (circle of fifths), and colored inter-note connections according to interval type (as in DYAD). So, instead of a “pitch staff” as in conventional notation, there was a “tonality staff” in which each line showed a position on the circle of fifths:
Because the circle of fifths was no longer a circle, V12 had a problem that DYAD hadn’t had: when the music moved around the circle of fifths, it would move to one edge (of the now broken circle) then jump to the other edge. Since this didn’t correspond to something that was happening in the music, it was distracting and disorienting, so I changed the program to figure out where the tonal “center of gravity” was, and have it move lines from the top to the bottom (or vice versa) as necessary to keep the notes roughly in the center.
This change had a surprising side-effect: the motion of the staff, which happened in response to changes in key, was viscerally satisfying — there was vertical motion that matched the harmonic motion.
Less than satisfying, though, was the presentation of pitch; it got lost in the shuffle.
In V15, I tried to fix the pitch problem while keeping the idea of showing harmonic motion as motion. I started with a display in which the notes were dots that moved as in the original Music Animation Machine display, but with a little “tonality flag” attached, showing the angular position of the notes’ harmonic components as used in the circle of fifths:
Then, to show the tonal center, I added the idea of “tonal weight” in which the weight of the harmonic components would cause them to pull toward the bottom. So, when the tonality changes, all the notes’ flags swing around to indicate the new center position (here, a secondary dominant, in light violet, is prominent):
First I used a simple “center of gravity” algorithm, but this turned out to be too stupid and too unstable, so I switched to something a little more comprehensive (informed by the work of Ernst Terhardt and Richard Parncutt).