lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lilypond and Jazz chords


From: Jean-Alexis Montignies
Subject: Re: Lilypond and Jazz chords
Date: Tue, 2 Jun 2009 11:55:55 +0200

Hi there, as a jazz player I would like to share my input.

What I need in scores is really chord names.
The chord name denotes the intent of the composer and is much subject to interpretation.

Some examples:
If you have a dominant chord, you write G7. Most of the time, the pianist will not play the 5th and depending on the context will play a 9th or a flattened 9th. If you write G7b9, it just means that if you play a 9th, you should play a flattened one (probably the melody have a flattened 9th). In the real book, most 7b5 chords should really be written 7#11, but this is another story.
I found a score where a chord was named 'phrygian'.

The problem I ran when i wrote chords in Lilypond:

1) I had some difficulties to write the Alt chords (for me it's based on the superlocrian scale 1 2- 2+ 3 4+ 6- (or 5+) 7-) because the scale has two seconds. (Note that the diminished scale cannot be written for now with the chord notation, if you ever want to write a 8 note chord ;) ). 2) There no way to write N.C. : no chord (wouldn't the use of R, r and s make sense in the chord mode?) 3) I had to use some tricks for chords that last on several measures for the symbol not to repeat on each measure. 4) I would have liked to use parenthesis around the column for chord extensions like in most jazz charts. I used brackets instead.

Lilypond of other programs will never be able to interpret notes as chords (even humans can't do that because there are always ambiguities).

I think the more sensitive approach for pop and jazz is a chord library with a string as input (maj7) and as output a notation as markup for chord symbol, optionally as a realisation as notes or chord diagram (could even have options to select or override the realisation).

I myself need only the chord symbol. Such a simple model is in my opinion simple to use, customizable and extends easily to other musics. For me the chord name is more semantics than just notes.

You'll find my current chord exception list below, note that i've used the unicode chars for the flat and sharp before the extensions as it gives a very natural layout in this case.

Greetings!

Jean-Alexis Montignies



% write out all custom exceptions here:
customChordExceptions =
{
% from ionian
    <c e g b>- \markup { "maj7" }
    <c e g b d'>- \markup { "maj9" }

%   from mixolydian
    <c e g bf>- "7"
    <c e g bf d'>- "9"
    <c e g bf d' a'>- "13"
    <c f g bf>- "7sus4"

%   from locrian
    <c ef gf bf>- "ø"
%    <c ef gf bf>- "m7b5"

%   from locrian ♮9
    <c ef gf bf d'>- \markup { ø \hspace #1 \super \bracket "♮9" }

% from dorian
    <c ef g bf>- "m7"
    <c ef g bf d'>- "m9"
    <c ef g bf d' f'>- "m11"

% from myxolydian b13 (MM5)
    <c e g bf af'>- \markup { 7 \hspace #1 \super \bracket "♭13"}

% from myxolydian #11
    <c e g bf fs'>- \markup { 7 \hspace #1 \super \bracket "♯11"}

% from lydian
    <c e g b fs'>- \markup { "maj9" \hspace #1 \super \bracket"♯11" }

% from diminished scale (1/2 - T)
    <c ef gf bff>- "○7"

% from T-1/2T symetrical scale
     <c e g bf df' a'>- \markup { 13 \hspace #1 \super \bracket "♭9"}

% from HM5 (mixolydian b9 b13)
<c f g bf df'>- \markup { "7sus4" \hspace #1 \super \bracket "♭9" }
    <c e g bf df' af'>- \markup
    { 7
        \hspace #1 \bracket {
        \fontsize #-3 { \override #'(direction . 1) \dir-column {
                  \line { "♭9" }
                  \line { "♭13" }
                }  }
        }
     }

% from superlocrian (MM7)
    <c e g bf ds'>- \markup { 7 \hspace #1 \super \bracket "♯9"}

    <c e g bf df' fs'>- \markup
    { 7
        \hspace #1 \bracket {
        \fontsize #-3 { \override #'(direction . 1) \dir-column {
                  \line { "♭9" }
                  \line { "♯11" }
                }  }
        }
     }

    <c ef g bf df' ff'>- \markup
    { 7
        \hspace #1 \bracket {
        \fontsize #-3 { \override #'(direction . 1) \dir-column {
                  \line { "♭9" }
                  \line { "♯9" }
                }  }
        }
     }
    <c e g bf ds' af'>- \markup
    { 7
        \hspace #1 \bracket {
        \fontsize #-3 { \override #'(direction . 1) \dir-column {
                  \line { "♯9" }
                  \line { "♭13" }
                }  }
        }
     }

    <c ef gf bf df' ff' af'>- "7alt"

% from lydian augmented
    <c e gs b>- \markup { "maj7" \hspace #1 \super \bracket"♯5"}

}

% add custom exceptions to existing exceptions:
newChordExceptionList = #(append
     (sequential-music-to-chord-exceptions customChordExceptions #t)
     ignatzekExceptions)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]