> >     Chords can be uniquely identified/represented in three ways:
> >         * using names such as "Cmin7" "Ebmaj9"
> 
> There are chords and fingerings.
> 
Ok, i guess we'll go for the chords first.  I didn't
think of fingerings, but they can be typeset using the 
same input, no?

> >         * identify the lowest note, and list all other notes
> >           relative to this one; "C: mi-flat, sol, ti"
> >           "Es: mi, sol, re"
> >         * use a list of pitches "<c es g b>" "<es g bes f>"
> 
> Basically, these are the same.
> Rules exist to calculate the individual notes from a chord name, e.g.
> Cmin7 => <c e g bes>. 
> Problem area: incomplete chords, e.g. <c e bes>, that would lead to
> verbose names, e.g. Cmin7no5.
> 
That's ok, use wierd chords, type long names.
Btw, why the "no", 3 and 5 can't be added?

> >     We'll probably need to devise a "language" that allows one 
> >     to enter the chords in a way that closely resemles their names.
> >     How to do
> >         * major/minor
> >         * augmented/diminished?
> 
> See Attachment B for an example.
> 
Thanks, that looks like a good starting point.
I made some annotations, the lines not starting with '?' are
the proposed rules for Lily.  Note that strings and numbers
can't be concatenated as in cmin or c69 (use c min, c6 9).

    Notes: current notenames; defaul: c cis b bes etc.
    Chords: note + optional modifiers.

    Chord modifiers Meaning                 [examples]
    --------------------------------------------------------------
    nothing or maj  major triad             [c, c maj]
    min             minor triad             [c min]
    aug             augmented triad         [c aug]
    dim             diminished triad        [c dim]
    --------------------------------------------------------------
    ? maj7            major 7th chord         [Cmaj7]

Why the explicit 'maj7' here, is this some kind of shorthand? 
I hope that C7 the same as Cmaj7, and no exception from C9, e.g.

    ? %               half-diminished 7 chord [C%]

Is this some kind of shorthand, or do we need this (what's the
pitchlist?)

    ? 6,7,9,11,13     chord additions         [C69]

What about 2,4,8,12?

    2,4,6,7,8...      chord additions         [c7, c2 44]
    3,5               chord substractions     [c5, c3 5]

[where 'c min 3' would be an error, there's no 'e' in 'c min', but an
'es']

    --------------------------------------------------------------
    ? #               raise the pitch of the note to a sharp [C 11# 9]
    ? b               lower the pitch of the note to a flat [C 11b 9]

This is the most tricky part.  Does this really raise/lower *to* a 
sharp/flat, or rather raise/lower *a* sharp/flat, e.g.:
   
   'A6#' == a cis e fis# => a cis e fisis or
   'A6#' == a cis e fis   

I guess it's a lot handier/standard to do something like this:
    #               raise the note a half-pitch [c 11# 9]
    @               lower the note a half-pitch [c 11@ 9]
instead of 'is'/'es' suffixes: a6is == a cis e fisis.
But if we accept #/@, we have to add "@#" to notename characters,
and allow c## b@ as regular notenames for Mudela too.
We'd 'loose' two special characters if we do this! (Han-Wen?)

    --------------------------------------------------------------
    ? no              substract a note from a chord [C9no11]

How can one substract other notes than 3, 5, are there chords that
implictely include more pitches, e.g., does C9 include 11?
    --------------------------------------------------------------

What about "suspended2/4", would that simply be 'c 3 4' and
'c 2 3'?


> >     Which all means that we need to be able to translate chord
> >     names into pitches and vise versa (Johan, you already had some 
> >     ancient code for this?).
> 
> Yes, I have some perl programs that do this. Basically one routine
> parses a chord name in a vector of notes, and two other routines turn
> a vector into an ASCII name, or PostScript code to typeset the chord
> symbol (see attachment A for an example).
> 
Ah, i thought you had (example-) code that would produce the
non-asciified chord name, as in things like "C\delta$^7$".
We'll see, the fret-diagrams would be cool to have, 
but i'll leave that to a guitar player :-)

Jan.

Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music
typesetter
http://www.xs4all.nl/~jantien       |
http://www.xs4all.nl/~jantien/lilypond

Reply via email to