Kieren: > > It's not obvious to me whether > > c\chord #'(1 7) > > should produce "c b" or "c bes". Musically speaking, I'd look at > > the key signature; if it were c major, I would assume it meant > > "c b" since "b" is the seventh note of the scale. > > > > This may be a problem for the numeric syntax. I suppose we could > > define each number as being a perfect, major, or minor interval; > > users can adjust those intervals with + or - as required. > > Or... we could use dodecaphonic intervals, i.e. > > c\chord #'(1 11) is a minor seventh > c\chord #'(1 12) is a major seventh > > Of course, none of these ideas support systems with > other-than-12-tones-per-octave =(
I propose we skip the "number" things and go for a local translate, see below last in mail. //// One could misuse floating poing values: c\chord_float #'(1 6.5) % minor seventh c\chord_float #'(1 7.0) % major seventh To explain that eis == f is doable, but how would one explain that 3.5 == 4 ?? (That flaw was present in my inital proposal <c 3 5>) Rationals: c\chord_rational #'(1 5/4 3/2) % "perfect" 3rd and 5th % replace 5/4 etc. with the proper scheme expression Cents: c\chord_cent #'(0 386 702) % just intonation Or other variants. One could also define a shorthand translating thing, something like (though I'm not shure what syntax to use): "cis\chord_barre <c e g>" -> <cis eis gis> ////// If we are discussing shortcuts to notate music (chordal notation are shortcuts, is it not?), consider the similarity of: <d fis a> <-> d\chord #'(1 3 5) % "parallell" music {d fis a} <-> d\seq #'(1 3 5) % "sequential" music There are two things here: . replacing a note name with a number, eg. "e" -> 3 . naively replacing 3 for the interval third, gives use the enharmonic problem of 3.5 == 4, and what does 7 mean, a minor or major 7th? . using dodecaphonic, cents, retionals or the like somehow misses the "shortcut"-idéa . a local transposition, eg. d\chord... == \translate c d { c\chord... } this would be a "better" \translate, since it would put the music in the "current" octave //// The chords are easily defined, we don't need any special syntax for that (like \chordmode): chord_major = \relative c { <c e g> } \translate below does not work since the "d" is not relative the previous music: ... music ... \translate c d \chord_major ... music ... Could something like this (or some other syntax) be useful: ... music ... d\tr\chord_major % --> <d fis a> in the current octave ... music ... Going this route, one could define whatever complex chord expressable in an ordinary <...> Regards, /Karl Hammar _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel