jazz chords

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

jazz chords

Kenneth Teh
I know this is an old topic and various folks have
discussed this at length on this list.  Nonetheless,
I'd like to throw in a few more remarks on the
subject.

It's true that the jazz chord names printed by
lilypond are weird from a jazz perspective and it is
also true that there is a mechanism via
chordNameExceptions to tweak the output or one could
always use text markup to do it exactly as one wishes.
 However, some observations:

(1) Text markup for chords don't allow you to
transpose chords.  So, when I am writing out parts,
the chordmode has a clear advantage since you can
transpose the chord names via \tranpose.

(2) \chordmode actually tries to build chords from its
input.  So, when you produce MIDI output, you will
actually hear the chords played.

(3) Chords on jazz charts are really indications.  The
actual voicing of a chord is left to the player.

It seems to me that based on these observations, what
Lilypond needs is a context for creating chord names
that

(1) does not try to actually build chords, ie, the
MIDI output produces nothing.  This way you avoid all
the problems associated with trying to describe a
voicing which a jazz player is free to change anyway.

(2) treats only the chord root (and duration) as
significant, thus allowing one to transpose the chord
names.

(3) leaves the chord alterations as pure text markup.
Most chord alterations are pitch indepedent anyway.
That is, you say m7 for a minor 7th chord, 5- to flat
the fifth, and so on.

Comments?


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: jazz chords

Han-Wen Nienhuys-2

Kenneth Teh wrote:

> It seems to me that based on these observations, what
> Lilypond needs is a context for creating chord names
> that
>
> (1) does not try to actually build chords, ie, the
> MIDI output produces nothing.  This way you avoid all
> the problems associated with trying to describe a
> voicing which a jazz player is free to change anyway.
>
> (2) treats only the chord root (and duration) as
> significant, thus allowing one to transpose the chord
> names.
>
> (3) leaves the chord alterations as pure text markup.
> Most chord alterations are pitch indepedent anyway.
> That is, you say m7 for a minor 7th chord, 5- to flat
> the fifth, and so on.
>
> Comments?
>

I suppose you want

(4) base/inversion to be transposabl

too.

I agree that it would be a good idea. I guess one reason for our
resistance has been that this would effectively make our own code
superfluous, and perpetuates the lack of standards in chord naming.  But
such is life, I guess.

Would it be useful to be able to mix standard Lily chords with these
free form ones, or is it better to have a separate (possibly more
ergonomic mode?)

I could add this as a sponsored feature for 130 EUR (inc VAT for EU
individuals).

--

Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
  -- Code for Music Notation
http://www.lilypond-design.com



_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: jazz chords

David Raleigh Arnold
In reply to this post by Kenneth Teh
On Wednesday 14 December 2005 09:39 pm, Kenneth Teh wrote:

> I know this is an old topic and various folks have
> discussed this at length on this list.  Nonetheless,
> I'd like to throw in a few more remarks on the
> subject.
>
> It's true that the jazz chord names printed by
> lilypond are weird from a jazz perspective and it is
> also true that there is a mechanism via
> chordNameExceptions to tweak the output or one could
> always use text markup to do it exactly as one wishes.
>  However, some observations:
>
> (1) Text markup for chords don't allow you to
> transpose chords.  So, when I am writing out parts,
> the chordmode has a clear advantage since you can
> transpose the chord names via \tranpose.
>
> (2) \chordmode actually tries to build chords from its
> input.  So, when you produce MIDI output, you will
> actually hear the chords played.
>
> (3) Chords on jazz charts are really indications.  The
> actual voicing of a chord is left to the player.
>
> It seems to me that based on these observations, what
> Lilypond needs is a context for creating chord names
> that
>
> (1) does not try to actually build chords, ie, the
> MIDI output produces nothing.

Good as an option, but defeatist.  If only lilypond used the standard
jazz chord indications of the 50's, with the sole addition of the
/bassnote from the 60's, and simply built the chord from the root
without concern for nonsense like avoiding doubling or including other
voices, it would work fine as long as you could easily define your own
chords.  If chords were defined with a "g" assumed as root, any
similar chord names could simply be transpositions.  In the 50's there
was a reform to eliminate all but \flat, \sharp, (, and ), from chord
names, and the only thing worth adding is / for bass note.  By using
that system, there is no reason for special syntax for chord names.
Bob van der Poel does without special syntax in his 'mma'.  I think a
'g' root assuming key of C is a much easier way than numbering half
steps.  It would be nice to be able to have chord names simply print
the way they are typed, and using 'b' for flat and 's' or '#' for
sharp, that would be very easy to do.

  This way you avoid all
> the problems associated with trying to describe a
> voicing which a jazz player is free to change anyway.

A jazz player is concerned with grabbing something right away.
Defaults exist, but a chord name doesn't describe an exact
voicing to change.
>
> (2) treats only the chord root (and duration) as
> significant, thus allowing one to transpose the chord
> names.

for example \chorddef {{ G7 = g, g b d' f' }{ G7(b5) = etc.}{...}}
would define D7, Eb7b5 or Eb7(b5), etc. also.  Basses would be
transposed
with the other notes, and they would be lower case.  Parentheses
optional for the definitions would be printed if present, otherwise not.
There is no ambiguity there at all.  There is no such thing as a b7,
it's
dim7.
>
> (3) leaves the chord alterations as pure text markup.
> Most chord alterations are pitch indepedent anyway.
> That is, you say m7 for a minor 7th chord, 5-

b5 is flat 5th.  Minuses are unacceptable in chord names.  daveA

--
Free download of technical exercises worth a lifetime of practice:
"Dynamic Guitar Technique": http://www.openguitar.com/instruction.html
email: "David Raleigh Arnold" <[hidden email]>|<[hidden email]>
(Full name in address field is needed to pass filter)





_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: jazz chords

Kenneth Teh
In reply to this post by Han-Wen Nienhuys-2


--- Han-Wen Nienhuys <[hidden email]> wrote:

>
> Kenneth Teh wrote:
> > It seems to me that based on these observations,
> what
> > Lilypond needs is a context for creating chord
> names
> > that
> >
> > (1) does not try to actually build chords, ie, the
> > MIDI output produces nothing.  This way you avoid
> all
> > the problems associated with trying to describe a
> > voicing which a jazz player is free to change
> anyway.
> >
> > (2) treats only the chord root (and duration) as
> > significant, thus allowing one to transpose the
> chord
> > names.
> >
> > (3) leaves the chord alterations as pure text
> markup.
> > Most chord alterations are pitch indepedent
> anyway.
> > That is, you say m7 for a minor 7th chord, 5- to
> flat
> > the fifth, and so on.
> >
> > Comments?
> >
>
> I suppose you want
>
> (4) base/inversion to be transposabl
>
> too.
>
> I agree that it would be a good idea. I guess one
> reason for our
> resistance has been that this would effectively make
> our own code
> superfluous, and perpetuates the lack of standards
> in chord naming.  But
> such is life, I guess.
>
> Would it be useful to be able to mix standard Lily
> chords with these
> free form ones, or is it better to have a separate
> (possibly more
> ergonomic mode?)
>
> I could add this as a sponsored feature for 130 EUR
> (inc VAT for EU
> individuals).
>
> --
>
> Han-Wen Nienhuys - [hidden email] -
> http://www.xs4all.nl/~hanwen
>
> LilyPond Software Design
>   -- Code for Music Notation
> http://www.lilypond-design.com
>
>

I actually thought about adding your item 4 in my
post,  but decided against it.  Yes, a transposable
inversion would be nice.   And for another 20 EUR,
would you do transposable bass notes since not all
bass notes are inversions.  Then, there is the matter
of polychords...

Seriously though, I think a separate context would be
easier than trying to merge Lily's existing structure.
 I must admit that I have found it useful to generate
MIDI for both melody and chords to verify my input.
So it is not superfluous.   But, this is only
something I do at the beginning.  And, of the two,
verifying the melody input is more important than the
chords since the chance of making a wrong entry is
greater with notes.  The MIDI chords are pretty
horrible.  If I wanted a specific voicing, I would
code the voicing note-wise instead of with a chord
name.

The lack of a standard chord notation will exist till
you and I are no longer around.  I would not worry
about it.  When I write g:7, I don't mean <g b d f>.
It is only a indication.  If I played with a bass
player and saw a G7, I'd probably do <f b e a>.   Not
very g:7, is it? The whole point of jazz is
improvisation and that includes improvising the
harmony as well.

With respect to David Arnold comments, I will defer to
his greater knowledge about chord notation.  I was
merely thinking that it would be more practical to add
a context instead of reworking an existing context
that would probably break a lot of people's stuff.

You have a mechanism for defining new contexts.  Would
it be possible to use this mechanism for this purpose?

Ken



_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: jazz chords

Han-Wen Nienhuys-2
Kenneth Teh wrote:

> You have a mechanism for defining new contexts.  Would
> it be possible to use this mechanism for this purpose?

For the price I set, I will write a new engraver, and also change the
syntax slightly.

--

Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
  -- Code for Music Notation
http://www.lilypond-design.com



_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: jazz chords

David Raleigh Arnold
In reply to this post by Kenneth Teh
On Thursday 15 December 2005 11:17 pm, Kenneth Teh wrote:

>
> --- Han-Wen Nienhuys <[hidden email]> wrote:
>
> >
> > Kenneth Teh wrote:
> > > It seems to me that based on these observations,
> > what
> > > Lilypond needs is a context for creating chord
> > names
> > > that
> > >
> > > (1) does not try to actually build chords, ie, the
> > > MIDI output produces nothing.  This way you avoid
> > all
> > > the problems associated with trying to describe a
> > > voicing which a jazz player is free to change
> > anyway.
> > >
> > > (2) treats only the chord root (and duration) as
> > > significant, thus allowing one to transpose the
> > chord
> > > names.
> > >
> > > (3) leaves the chord alterations as pure text
> > markup.
> > > Most chord alterations are pitch indepedent
> > anyway.
> > > That is, you say m7 for a minor 7th chord, 5- to
> > flat
> > > the fifth, and so on.
> > >
> > > Comments?
> > >
> >
> > I suppose you want
> >
> > (4) base/inversion to be transposable

/inversion?  Terrible idea, if you mean stuff like G/5, G/2, or G/v.

The /bassnote is a bass *note*, not a number.  It is totally
arbitrary, and should not need to be included in a chord definition.
Like any other note, it is transposable anyway.  Standard chord
symbols do not and should not contain any indication of the inversion
other than the specific bass note, which is simply added on underneath
the chord it modifies, which ought not to entail moving other voices
about according to the irrelevant logic of a University harmony class.

There is already some provision for inversions with the G6 being
a first inversion of an Em7.  The fact that G/d is very common
does not justify a chord definition other than G.  Just adding /d,
or /fs, or whatever to the input should suffice. It's an ordinary note.

By defining the chords all in root position, built on a low 'g', a
bass part of sorts may be sketched by adding a very few slashes where
the bass note is not the root.  It would make sense to have the midi
output be a bass note below a guitar chord and a piano chord in somewhat
ascending order, any or all of which could be suppressed.  If
something more definite is desired for a bass part, the user can write
one and suppress the midi bass line.  Of course one should be able
to change the instruments from the defaults:  

\midiChordInstruments {{bass = tuba }{ guitar = piano }{ piano =
mandolin}}


The midi bass line could be constructed by simply doubling the lowest
note of the chord, whether added on or not, down an octave.  It's
normally best to double the fifth rather than the root in guitar or
piano chords in any case.

Again, Bob van der Poel has come close to doing what should
have been done in the first place with lilypond's chords.  I think
that definitions with 'g b d'' are easier to work with than 'i iii v',
'1 3 5' or the more appropriate 'v vii ii' though.  daveA

--
Free download of technical exercises worth a lifetime of practice:
"Dynamic Guitar Technique": http://www.openguitar.com/instruction.html
email: "David Raleigh Arnold" <[hidden email]>|<[hidden email]>
(Full name in address field is needed to pass filter)



_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user