Take the 2-minute tour ×
Musical Practice & Performance Stack Exchange is a question and answer site for musicians, students, and enthusiasts. It's 100% free, no registration required.

[ ... struggling with giving this a better title ]

I'm working out the algorithmic bases for generation of a tone-net (tonnetz) in preparation for programming the presentation layer.

The problem is primarily with a keyed tone-net (Key of Db or Gb), but it extends to showing degrees as well (I,II,III, etc.).

Basically as the spectrum of the tone net expands away from its arbitrary tonic center, the notation shifts into flats, then double-flats, then triple-. Or (as with the current state of my spreadsheet algorithms) I see things like B# displayed as C, or the scale becomes like this: D E Gb G A B Db D (the keys of Db or Gb are going to be of particular concern... ).

I could select the most-correct notation from a hash table, but I still need to know when to pivot into another key. If I follow the Circle of Fifths rules, adding flats & sharps as it radiates away from "C". But then there's the problem of starting with Gb Major, where in the Co5ths we find it at a zone of enharmonic phase transition (at the bottom of the Co5ths).

I know it's arbitrary to pick a center, but following the rectilinear circle-of-fifths on a tone-net, when's the most opportune point to start shifting the key signature?



(I can adjust the algorithm so it shifts into sharps in the positive-Y axis, & flats in the bottom quadrant, but the key signatures are still going to float , esp. with the placement of bb or ## adjectives )


Another presentation-layer scenario:

Tone net with keyboard inlay

share|improve this question
Have you considered just using pitch class integer notation (i.e. C=0, C#/Db=1,…, A#/Bb=T, B=E)? This kind of application is pretty much what it was designed for. That way triads like F# and Gb (and for that matter Ex and Abbb) major could all just be represented by 6–T–1. Tonnetz were designed specifically to evaluate chord progressions outside of diatonic progressions anyway; the initial relative or leittonwechsel move can stay in a key but any move past that—and just one parallel move—shift key dramatically very quickly. –  Pat Muchmore Jun 26 at 1:56
I must admit I'd been at an impasse, using absolute chromatic values (A110=13, A220=26 ). I had considered early on changing to hexadecimal notation but didn't see the advantage. Modulo isn't a big impediment, converting back to the std notation/solfege names ... I just need to track the tonic offset. One goal is to preserve enharmonic degrees of any tonal center (?TET vs. Just/Pythog?). So I'd like to be able to follow the tonal center as it shifts & reassign the relative degree space accordingly. But as you point out, anything past known relative moves should incite a reassignment. –  Bert Lee Jun 26 at 15:51
See 1st answer: music.stackexchange.com/questions/17318/… –  Bert Lee Jun 26 at 16:01
AND: theory.esm.rochester.edu/temperley/papers/temperley-ma00.pdf "...Voice-Leading Rule (final version). Given two events that are adjacent in time and a semitone apart in pitch height: if the first event is remote from the current centre of gravity, it should be spelled so that it is five steps** away from the second." ** [ on the circle of fifths ? ] –  Bert Lee Jun 26 at 16:08
Oh, and I think the explanation of the line from the Tempereley paper you quoted in your comment is that it should be spelled so that it is five steps away on the line of 5ths, not the circle. –  Pat Muchmore Jun 26 at 16:46

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.