I’ve been trying to find a way to algorithmically generate sheet music. In looking into both Lilypond and ABC one thing is apparent: they are both based on the Major scale, which make s the notation weird. If you are only concerned about major scales.
I am going to use ABC notation for my argument, but, while the details are different, the reason still holds for Lilypond as well.
For ABC, the C Major scale is CDEFGAB. Makes sense?
No. It doesn’t. Why is A a higher note than C when A is a lower ASCII value?
Its not like you can keep from putting in an additional note of a different case when doing a scale anyway. When practicing A C Scale you go from C to C, you don’t stop at B. So really it should be
What modern musicians seem to have forgotten is that it is the relative minor, the Aeolean mode, that was the basis for musical notation, not the major. That is why it starts with A when there are no accidentals. What is the lowest note on the piano? Also an A.
The highest note on the piano is a C. But in the ABC notation,
If we wanted an completely unambiguous grammar for musical notation, it would be pitch/duration. Either an offset from the lowest A on the Keyboard (1) or a combination of the letter and the octave. Middle A is the 4th A on the Keyboard, so it would be A4. To avoid mixing duration and pitch it probably would be easier to say 4A. That has the added value of Orienting the reader to the portion of the keyboard nearest to the key prior to indicating the exact key. Additionally, repeating the octave would not be necessary for notes in the same octave.
So our major scale would become 4CDEFG5ABC. Yes, doing a trill between G and A would require a lot of extra notes but that is already the case for B to C trills when the notes require additional tick marks or other indicating factors.
Our relative minor scale is now 4ABCDEFG5A.