Maybe this could contribute to the discussion regarding chord input
syntax. Below is an excerpt of chord names which are currently supported
by my software Harmony Navigator. Last year I've had a fruitful
discussion on rec.music.theory with Joey Goldstein. I found his
suggested "standard" quite usefull, because it is relatively easy to
parse and a human-readable standard at the same time.
The general idea is to have some convenience shortcuts immediately
following the root pitch (e.g. 'maj7', 'm', '7') that start an initial
interval structure. Then, additional intervals can be added in brackets,
each separated by a comma. A software can either lookup shortcuts in a
dictionary/map or parse the list of intervals in the brackets and add
them to the final structure. That's the input so far.
Regarding the printed output, I'd like to suggest a dictionary/map that
maps interval structures to text/graphics markups. This map can be
customized to arbitrary styles without problems. If a certain entry is
missing from the map, the original input string could be used as a
fallback, printed with an uppercase intial letter and the rest in
superscript.
The parsing is unambigous in any case, while printing becomes a matter
of taste and personal preference to a large extent. I believe that is
ok. What do you think?
Andre
--
dim
m.dim7
m7(b5)
m
m6
m7
m7sus
m7(b9)
m9
m11
m13
m(maj7)
m6(add9)
m(#5)
m7(#5)
(b5)
dim7
7(b5)
7(b5,#9)
maj7(b5)
'' empty = Major
(add2)
(add4)
6(add4)
6
7
7(b9)
7(b9,#9)
9
7(9,11,13)
7(9,#11)
7(9,13)
7(#9)
7(13)
maj7
maj7(add4)
maj7(9)
maj7(9,11)
maj7(13)
(add9)
6(add9)
aug
7(#5)
maj7(#5)
sus2
sus4
7sus
7sus4(10)
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user