lilypond-devel
[Top][All Lists]

## Re: Why don't we get rid of \chordmode?

 From: Karl Hammar Subject: Re: Why don't we get rid of \chordmode? Date: Fri, 30 Apr 2010 14:13:02 +0200 (CEST)

```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

```