I'm writing a somewhat comprehensive music theory programming library - Both to have the ability to make "intelligent" theory programs, and to refresh all the theory to myself.

I've however just met an obstacle that I can't seem to pass: Do solfege systems "work" past one octave? Is that theoretically correct? What I mean is (C major, movable do):

C4 = do, D4 = re, E4 = mi, F4 = fa, G4 = so, A4 = la, H/B = ti, C5 = do

But does it continue? Is:

D5 = re, E5 = mi, etc ...

I know this might be a bit pedantic, but still I'd like to implement this correctly. Hope that somebody out there know a bit more about this than I do :)

EDIT: I have answered my own question out of the StackExchange belief that it might be a help to others who find themselves in the same situation as me. If this is against this community's rules / ethics please make me aware of it so I can correct it right away.

  • 1
    What -is- a "music theory programming library"? We won't understand the background of your question until you explain. Aug 7, 2012 at 16:01
  • A music theory programming library is a lot of words that describes a "thing" that makes a computer capable of answering music theoretic questions (when the right questions are asked). I believe quite a few of the answerers have understood the question correctly. Aug 7, 2012 at 20:30
  • 2
    @Saebekassebil It is perfectly fine. In fact, there is a badge for self-answering with three or more upvotes. Thanks for the input.
    – Luke_0
    Aug 7, 2012 at 20:48

4 Answers 4


The simple answer is yes - your application will just need to use some mechanism to refer to the octave used.

The solfege system just refers to the 7 notes of the octave, and once you move up to the next octave it begins again.

  • A fellow developer just proposed to use a "helmholtz-like" method (C4 Major): "C4 = do, D4 = re, E5 = re', A3 = ,la" - Does that sound reasonable to you? Aug 7, 2012 at 10:43
  • I have never used Helmholtz, so can't really comment on that - sorry.
    – Doktor Mayhem
    Aug 7, 2012 at 10:54
  • Helmholtz-like [scientific pitch notation][en.wikipedia.org/wiki/Scientific_pitch_notation] should be unambiguous and suitable for programming. The only other form I've seen are things like c' =middle c, c'' = c above middle c, and c,, = three c's below middle c.
    – Dave
    Aug 7, 2012 at 15:31

The Movable Do system is not well defined in the areas of theoretic "extremities" such as double augmented and double diminished intervals. I have, however, been made aware of a few publications that use a Helmholtz-like notation form for solfege intervals larger than an octave. These have however been publications of the "Tonic Solfa" system, which is based on the Movable Do system.

Thus in a D4 major scale, E5 is equal to re' while C#3 is equal to ti, and etc.



"movable do" is not only octave agnostic, it's also key signature agnostic.

If your key signature is D major, D4 is do.

Nearly all western music tones are based on a key signature and scale. "movable do" mostly just applies to the major scale, I believe. There's also the minor scale and the 7 modes bring in an additional 5 scales (outside the major and minor that they include). You can also always transpose a song to another note of the 12 available (c,c#,d,d#,e,f,f#,g,g#,a,a#,b)

I think that Helmholtz notation is just going off on a tangent with other ways of notating octaves. The =standard= is C4 is middle c. So 88 notes of piano go from A0 to C7. I prefer to write the octave first and then the note in lower case. For example, 4c is middle c. (That's what I use in my sequencer for note specs).

  • 1
    I'm quite aware that the movable do system isn't bound to any specific scale. Moveable do does however not only apply to the major scale, but can be applied to virtually any western heptatonic scale (and scales with fewer notes). Since the "library" is based on standards I've decided to implement the scientific notation correctly, with the octave after the note name. Aug 7, 2012 at 20:34
  • I stand corrected on the "any scale" thing. So I guess a minor scale must have a different name (than do,re,mi,etc) for the non major scale tones, eh? I'd hesitate to call C4 a "scientific notation". It's a standard notation, but when you think about it... An octave groups up the 12 notes within it. A note doesn't group up the octaves. That's why I use 4c. Find octave 4, now find note c - you're there. The standard way is sort of find note c (ok, but that's in 8 places - WHICH ONE?), oh by the way it's octave 4 I want. Just explaining my reasoning :) Aug 7, 2012 at 20:48
  • 2
    Yes minor scales (and the others) use different syllables. A minor scale goes (in Denmark at least): 'Do-Re-Me-Fa-So-Le-Te-Do'. Notice the 'Me' instead of 'Mi', and 'Le' and 'Te', instead of 'La' and 'Ti'. About the scientific notation, well that's what Wikipedia calls it: Scientific pitch notation :) Aug 7, 2012 at 20:52
  • thanks for the reference. I'd never heard of "scientific pitch notation" before ?? Good luck with your project :) Aug 7, 2012 at 20:57

Just saw this. Probably way too late to help with the original context, but I've seen octaves reflected in some method books by letter case and apostrophes in relation to the principal octave. C3, C4, C5, & C6 for a baritone could then be notated as Do, do, do', & do''

C4-B3-C4-F#4-G4-C5 would then be: do-Ti-do-fi-so-do'

This works in fixed-do and arbitrarily in moveable as well, depending on how you define the "principal" octave.

It seems that coding both pitch and pitch class via software would be quite feasible.

If you used set theory notation (0,1,2,3,4,5,6,7,8,9,t,e) it might work too, but that actually does not reflect the octave. Best of luck!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.