hexnot: an experimental musical notation

Update 2017/10/17: the notation now supports ligatures. I also corrected a few errors on both transcriptions.
Update 2017/12/25: I added a section on dodecaphonic solfège. Also, I put some headings on the article to organize it more.
Over the past year or so, I’ve been experimenting with making my own musical notation. I called it *hexnot*, because it uses (sparingly) the hexadecimal number system.
Fully half of this initiative stems from my unavoidable and incurable tendency to reinvent the wheel.
As for the other half of my motivation, it consisted of my desire to have a musical notation that:

  • Would treat each of the 12 tones as equal citizens (no sharps or flats).
  • Would be easy to read/write in a text editor (and perhaps would be amenable to machine readability sometime in the future).
  • Emphasize the formal and linguistic aspects of music.
  • Is easier to memorize for people with sub-standard visual memory (like myself).

After some experimentation, I decided to use the numbers from 1 to 12 for each of the notes (1 being C, 2 being C# or Db, 3 being D, and so forth, and finally 12 being B). Only that to represent 10, 11 and 12, instead of using digits, I use the letters A, B and C respectively. This allows representing each tone with one character only, so you don’t need spaces to distinguish (for example) 1 2 from 12.
With this system, the dodecaphonic scale can be written as 123456789ABC. To express a rest (silence), we can use a 0.
Besides tones, we need at least two more things: note value (the length of the note) and octave. To avoid creating a jumble of numbers, I opted to use the lowercase letters abc, … to represent the numbers 1, 2, 3, etc.
How are these lowercased letters used? In the case of octaves, a means that whatever tone it applies to, it is on the first octave, whereas means that the tone belongs to the fourth octave (to represent [A440], also known as A4, we would use A for the tone and for the octave). The octaves start at tone 1 (that is, C).
In the case of note values, I use a for the whole note (4 beats), b for the half note, c for the quarter note, d for the eight note, e for the sixteenth note, etc. If you want to represent one and a half units (dotted note), you use the uppercase letter. For example, a dotted quarter note would be D.
How does it look like?
To organize music, I decided to create three parallel lines. The middle one expresses the tone; the bottom one expresses the octave; while the top one expresses the value (length) of the note.
A quick example can show what we have so far. Here’s the first three bars of the right hand on the Happy Birthday song for piano (in 3/4, I mean, 3/c).

rh bDe|c  |bDe
rh 011|316|511
rh  d |   |

Notice that both for the value and the octave, if the next note has the same letter as the previous one, the letter is not written. This unclutters the notation a lot. Compare the example above with this:

rh bDe|ccc|bDe
rh 011|316|511
rh  dd|ddd|ddd
However, the octave and value must be added every time you start a new line.

To represent chords, I use the special letter s in lieu of the value. For example, the first three left hand bars of the Happy Birthday song can be written like this:

lh B|Bss|Bs
lh 0|6A1|B1
lh  |c d|cd

The chords are always written from the lowest note to the highest. The value of the first note is always written, to disambiguate where the chord starts.
To express repetitions within the same bar, I use the notation 2X3X4X, etc. and delimitate the repeated group by spaces. I put these indicators on all three lines.
Every group of three lines (how should I name it? Triptic? Trifecta?) can only express either simultaneous or consecutive notes. Sometimes that’s not enough, and then you need more than one triptic/trifecta per piano hand.
To express ligatures, we can use dashes between the letters in the top line. For example, if we want a ligature between three quarter notes we can write:


If we want two of these in a row, we can write:


Notice that if two notes do not have a dash between them, there’s no ligature between them. If we want to express a ligature between a quarter note and an eight note, we can write:

5 5

We can also do ligatures across bars, by overwriting the bar separator with a dash:

1 1|1
d  |

Here’s what the notation cannot do, so far:

Pieces transcribed onto hexnot
I attach two pieces transcribed onto hexnot. One is Chopin’s Aeolian Harp Étude (Op. 25, #1). The other one is Prelude No. 1 of Bach’s Well-Tempered Clavier (BWV 846).
Dodecaphonic solfège
I love mental play (singing the notes of a melody or a harmony in my head) know and use the traditional solfège (do-re-mi-fa-sol-la-si) , but it only has seven notes. The black keys have no names and singing flat or sharp breaks the stride of the solfège. This, over time, made me way less confident when playing music that uses lots of black keys, which sucks.
So I assigned five sounds to the black keys.
They are:

The entire dodecaphonic scale, in solfège, is then:
do jo re ka mi fa pe sol qu la te si
The sounds are nonsensical, but they are chosen to start with different letters than the traditional seven sounds. I’m still in the beginning stages of learning it, but it already allows me to sing along to melodies in almost every key.
Overall, this notation is helping me read music in a different way. Those who like numbers might appreciate the numeric patterns that emerge from transcribing music onto hexnot. Programmers might appreciate the ASCII and fixed-length nature of hexnot.
Stay tuned for updates and more transcribed pieces. And thanks for reading!