My first (false) start at the Voices project

So, the middle of last November I started doing some thinking and designing and putting some C# classes together in a library. It was a bit of a false start as I’ll explain, so this year I started the project afresh with the benefit of what I’d learned. I’ll get to the starting-over in later posts but first I’ll talk about what I did wrong the first time around and what I failed to understand correctly at the time.


It was a combination of note names and solfeggio that conspired to confuse me. It wasn’t about how notes are named in a diatonic scale, because I was only considering notes roaming untethered in their wild state. I was thinking about the possible names a note could have as it sat on the piano or on the guitar, and I came up with a good idea but then made a schoolboy error. The good idea was to abstract the notes away from their instrument and visualize them in a circle so that I was working with an instrument-agnostic format. My error followed from something I misunderstood in Annie O. Warburton’s book Harmony.


In her book, Warburton introduces the solfeggio names do, re, mi, fa, sol, la and ti (although she spells them her own way) as a kind of algebra for the seven notes in any major scale. For example, the C major scale begins C-D-E-F, and the B major scale begins B-C#-D#-E-, but what those two sequences of notes have in common – what makes them both major – is the pattern of musical intervals between neighboring notes. So we can represent the notes of any major scale as the algebraic symbols do-re-mi-fa- and so on, so long as we define the musical intervals between neighboring symbols as being those of the major scale. So far, so simple.


But there’s a scale called the chromatic scale. It’s arguably not a true scale as it’s nothing more than all twelve notes of the octave in sequence. Its intervals are all the same size – physically a semitone; some are augmented unisons, some are minor seconds. Warburton writes that the solfeggio names in the ascending chromatic scale are do-di-re-ri-mi-fa- and so on, and in the descending chromatic scale they end fa-mi-mé-re-ra-do. With do (the tonic) as the note C, these names become C-C#-D-D#-E-F-, etc., ascending and end F-E-Eb-D-Db-C descending. So some notes (e.g. C, D) have the same name in either direction and some (e.g. C#/Db, D#/Eb) change their name. Distracted and charmed by the altered solfeggio notes such as di (which can be thought of as do sharp and represents C# in C major), I believed that the solfeggio names had all the possible note names covered – and that was mistake number one. I also believed, taking my lead from Warburton’s note spellings in the chromatic scale, that whenever you sharpened a C you got C# and whenever you sharpened C# you got D. Descending, I thought that whenever you flattened a D you got Db and whenever you flattened Db you got C. Of course, not all those are correct. It led me to a diagram of a note-circle like this:


The dotted arrows show the direction a note moves when it is sharpened or flattened by a semitone, and their destination shows what I thought the resultant name had to be. In fact, if you sharpen C# you do get a note with the same pitch as D but you call it C double-sharp (C## or Cx). There’s actually a lot more to sharpening and flattening notes than I’m telling here because the only meaningful harmonic operation on a note is to add a directed interval. But more on that in the future. In any case, I realized my design wasn’t quite right.


The diagram implies that there’s something special about the peanut shapes because they have two possible names. But I’d forgotten the existence of notes like Cb (same pitch as B), B# (same pitch as C) and Ebb (same pitch as D). In fact, theory allows for any note to be given many names. A diagram showing all the possible theoretical note names and arrows between them would be far too large and busy to be useful. 

Next time I’ll look at the right way to model notes and intervals. Incidentally, what Warburton’s book doesn’t say explicitly, but you can figure out, is that the solfeggio names are not simply algebra for note-names. What’s important about them is the interval between one name and the next. But you can also accumulate those intervals and know what interval any solfeggio name is above the tonic of the scale. If you know a sequence of intervals above a tonic note then you know everything you need to know about a scale class and you can place the tonic on any of twenty-one note names and know twenty-one scales of that scale class. Therefore what solfeggio really represents is a set of aliases for intervals. If you’re unsure what an interval is then have a look at my music training articles.

Comments (5)

  1. Bernie V says:

    I just wanted to point out that C# is only the same as Db on an instrument tuned in equal temperament. They are most definitely not the same on the cello.

    Also, it is not much the fashion these days but there are works out there that use microtonal scales (e.g. putting an extra tone or two or three between C and C#).

    I will be very interested to see where you go with this project.

  2. Steve White says:

    Ah yes, my bad. I ought to have stated at the outset that I’m limiting my efforts to 12-TET (Twelve-Tone Equal Temperament). This is a relatively modern simplification/standardisation of tuning systems and happens to be appropriate for the instruments I’m most interested in – piano, guitar, voice (if you sing in 12-TET!), MIDI devices. So no microtones, either. Doing a good job at 12-TET will be a challenge – I’ll see where I go from there.

    Thanks for the feedback.

  3. Kevin H. says:

    Hello, I have been browsing the Theory usnet posting when I happened on the link to the site. It is AMAZING how two people think of the EXACT same idea at NEARLY the EXACT same time!

    I’ve been writting a MTE (Music Theory Engine) in C# for a few weeks now and I encountered some of the same problems and solutions as you have. I have recently taken up guitar while reading the Theory n’ Jazz group on usnet (google groups) which has given me just the boost I needed to have the desire to MASTER theory. so many greats come there to discuss and converse about the musci i found myself LOST, yet I determined to be able to communicate as well as Jimmy, Joey or Jaz.

    Meanwhile, I’ve devised some great exercises that I wanted to transpose to the computer and the TI-85 calculator – for when people are at school or not near a computer.

    Interesting! Well, I tell ya, I’m not so great at programing or music theory – though I have been studing dayly for a few months and have a firm grasp of most of the concepts at play. I have some excellent ideas/games/tests that I have been working out for a while that REALLY makes the theory sink right into the subconcious! That’s my strong point, designing games and techniques that help facilitate learning as I think theory has to realized as "unconcious – awareness" whereby one does not have to THINK about what is NEXT or WHAT is possible as they see ALL possibilities at once. When one is aware and has DISSOLVED or VAPORIZED the information from different perspectives TRUE learning has occured and that is what I have tryed to design into the games and tests I have engineered for myself – and now hopefully for others as well.

    I have an idea! Perhaps we could endevour on this project together?

    Well, If you’re interested please let me know!

    You can contact "copious" on google groups. I don’t really want to put my E-mail here in case there are spam bots lurking; hope you understand..

    Well, look forward to hearing from you,


  4. Steve White says:

    Sure, I’ll be collaborating with anyone who wants to read about my progress. 🙂

    When the class library is done people may want to license it to build their own apps so that’s where your exercises could come in.

    I’m leveraging my class library in a couple of places already – one is my desktop app which has ToneClock and score visualizations. Another is some simple test forms on my Smartphone so I can test myself anywhere.

    I’ll be blogging about these before too long.

    Thanks for your interest. Before I commit to any formal collaboration I want to see how my project goes, though.