Re: Added ninth chord (symbol)

2016-04-29 Thread Tim McNamara


> On Apr 29, 2016, at 12:22 PM, Henry Law  wrote:
> 
> I've searched the archives and the web generally; all that I have found on 
> this subject leads me to believe that the facility I need is not there, which 
> is perplexing since it's not particularly esoteric.  Can someone either 
> confirm my understanding or put me right?  (I'm using 2.18.2 on a 
> Debian-based system).
> 
> In a lead sheet I want to use the chord which I call an "added ninth". Using 
> the key of C as an example, I want the chord C-E-G-D: a plain major triad 
> with the ninth added on top.
> 
> "add9" is not a valid chord designator in Lilypond, as far as I can see.  I 
> can ask for "9" or "maj9" or "sus2" but none of these is my chord:
> 
> The ninth is a dominant ninth: C-E-G-Bb-D  Quite a different animal.
> Major ninth is C-E-G-B-D
> Sus2 is C-D-G, where the third is (temporarily, usually) /replaced/ by the 
> second.
> 
> Am I stuck?  I'm hoping there is some magic somewhere to help.

No magic as such but the answer is baked into LilyPond.  You need to create a 
chord exception; the instructions are somewhere in the LilyPond manual.  I am 
away from my laptop with all my LP stuff on it so I can't direct more 
specifically.  The exception can be formulated to produce Cadd9 as the 
chordname easily.  Just what you're looking for.

There is a file floating around called pop-chord.ly or pop-chords.ly that has a 
lot of these kinds of exceptions already done.  You use the \include command to 
utilize it; how to do that is also in the manual.  The file ought to be in the 
snippet repository, I would think.

Tim

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread mskala
On Fri, 29 Apr 2016, Henry Law wrote:
> In a lead sheet I want to use the chord which I call an "added ninth". Using
> the key of C as an example, I want the chord C-E-G-D: a plain major triad with
> the ninth added on top.

Try "c1:9^7"
That is:  dominant ninth, delete the seventh.

I don't know how the chord *name* will display, but that can be adjusted
with overrides; this will at least get the notes right.

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread Henry Law

On 29/04/16 18:37, Tim McNamara wrote:

There is a file floating around called pop-chord.ly or pop-chords.ly that has a 
lot of these kinds of exceptions already done.  You use the \include command to 
utilize it; how to do that is also in the manual.


Aha ... that's all I need.  I'm good at manuals. (In fact I googled for 
"pop-chords.ly" and got the hits I need).


Thank you.  Were you typing your reply before I sent my question?

--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread Malte Meyn



Am 29.04.2016 um 19:22 schrieb Henry Law:

"add9" is not a valid chord designator in Lilypond, as far as I can see.
  I can ask for "9" or "maj9" or "sus2" but none of these is my chord:


LilyPond knows the difference between 9 and add9 but doesn’t display it 
by default.



Am I stuck?  I'm hoping there is some magic somewhere to help.


The magic is called additionalPitchPrefix. It can be found f. e. at 
section 2.7.2 of the Notation Reference. The following code prints “C9 
C9 Cadd9 C9”.


%
\version "2.18.2"

\new ChordNames {
  
  
  \set additionalPitchPrefix = "add"
  
  
}
%

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread Brett Duncan

On 30/04/2016 3:58 am, msk...@ansuz.sooke.bc.ca wrote:

On Fri, 29 Apr 2016, Henry Law wrote:

In a lead sheet I want to use the chord which I call an "added ninth". Using
the key of C as an example, I want the chord C-E-G-D: a plain major triad with
the ninth added on top.

Try "c1:9^7"
That is:  dominant ninth, delete the seventh.

I don't know how the chord *name* will display, but that can be adjusted
with overrides; this will at least get the notes right.


You can also use "c1:5.9", which just adds the 9th over the basic triad.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread Henry Law

On 29/04/16 22:20, Brett Duncan wrote:

You can also use "c1:5.9", which just adds the 9th over the basic triad.


I coded g2:5.9 in chordmode and got G9, which isn't the right chord. 
I'm pursuing pop-chords.ly.


--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread Brett Duncan

On 30/04/2016 8:24 am, Henry Law wrote:

On 29/04/16 22:20, Brett Duncan wrote:

You can also use "c1:5.9", which just adds the 9th over the basic triad.


I coded g2:5.9 in chordmode and got G9, which isn't the right chord. 
I'm pursuing pop-chords.ly.


As Matthew said, you will need to override how the chord name is 
displayed, but this (or Matthew's suggestion) at least constructs a 
chord with the right notes.


Brett
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread mskala
On Sat, 30 Apr 2016, Brett Duncan wrote:
>   I coded g2:5.9 in chordmode and got G9, which isn't the right
>   chord. I'm pursuing pop-chords.ly.
>
> As Matthew said, you will need to override how the chord name is displayed,
> but this (or Matthew's suggestion) at least constructs a chord with the
> right notes.

We should probably step back and clarify what seems to be the real issue
every time someone asks about chord mode:

Chord mode is completely separate from typesetting chord names.

"Chord mode" is chord *input* mode.  When you enter a chord with chord
mode, it is immediately translated into a set of notes, and whatever code
you used to enter it is forgotten.  Then if you are typesetting chord
names, the chord names are determined by analysing that set of notes, not
by referring back to the forgotten input code. [*]

If you want the notes to be G-B-D-A, use g1:5.9 or g1:9^7 .  Then you get
the notes G-B-D-A.  But this will not cause the name printed on the page
to be "Gadd9".  You get the chord, not the name.

If you want to change the names printed by a ChordNames context, so
that G-B-D-A will print the name "Gadd9" on the lead sheet, then use an
override such as with pop-names.ly.  But you need to enter the notes
correctly first.  You get the name only if you already have the chord.

You can do both, and it sounds like that's what Henry actually wants.  His
initial question, which gave a bunch of examples of note sets and seemed
to imply he'd accept any syntax that generated the correct notes, made me
think it was a question primarily about input syntax.

[*] There may possibly be some extra information stored beyond the set of
notes and used in certain cases for disambiguation, but the statement is
true in general.  The gap between this behaviour and what users *expect*
when they think they're entering "chords" is yet another example of a
problem caused by Lilypond's design philosophy of evaluating all input
fully as soon as it's parsed.

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-29 Thread Brett Duncan

 On 30/04/2016 3:24 pm, msk...@ansuz.sooke.bc.ca wrote:

On Sat, 30 Apr 2016, Brett Duncan wrote:

   I coded g2:5.9 in chordmode and got G9, which isn't the right
   chord. I'm pursuing pop-chords.ly.

As Matthew said, you will need to override how the chord name is displayed,
but this (or Matthew's suggestion) at least constructs a chord with the
right notes.

We should probably step back and clarify what seems to be the real issue
every time someone asks about chord mode:

Chord mode is completely separate from typesetting chord names.

"Chord mode" is chord *input* mode.  When you enter a chord with chord
mode, it is immediately translated into a set of notes, and whatever code
you used to enter it is forgotten.  Then if you are typesetting chord
names, the chord names are determined by analysing that set of notes, not
by referring back to the forgotten input code. [*]

I  agree with you about clarifying what the actual issue is at the outset.

 I not sure that chord mode and the ChordNames context are as 
completely separate as you suggest, but IMO that's not really the issue. 
The problem lies in the fact that the default (Ignatzek) chord names are 
typically okay for only the simplest chords. The moment a user tries to 
input something more "complex" (not that an added ninth is particularly 
complex), what is generated is***not* what the user is after. I've seen 
plenty of messages on this list over the last decade or so complaining 
about this very fact.


I suspect many have done the same as me - created my own file of 
exceptions, added to it over time as need, and included it as a matter 
of routine. Which is fine for me and others doing the same, but leaves 
the unexpected Ignatzek defaults as an unhappy surprise for new users.



You can do both, and it sounds like that's what Henry actually wants.  His
initial question, which gave a bunch of examples of note sets and seemed
to imply he'd accept any syntax that generated the correct notes, made me
think it was a question primarily about input syntax.

I read it that way as well.

Henry, have you had any success with the pop-chords.ly file? (If not, I 
have some files I could send to you.)


Brett
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Malte Meyn



Am 30.04.2016 um 08:56 schrieb Brett Duncan:

Henry, have you had any success with the pop-chords.ly file? (If not, I
have some files I could send to you.)


You don’t need this or chord exceptions in general if you follow my much 
simpler answer that no-one replied to 
(http://lists.gnu.org/archive/html/lilypond-user/2016-04/msg00823.html)


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Brett Duncan

On 30/04/2016 6:30 pm, Malte Meyn wrote:



Am 30.04.2016 um 08:56 schrieb Brett Duncan:

Henry, have you had any success with the pop-chords.ly file? (If not, I
have some files I could send to you.)


You don�t need this or chord exceptions in general if you follow my 
much simpler answer that no-one replied to 
(http://lists.gnu.org/archive/html/lilypond-user/2016-04/msg00823.html)


In dealing with Henry's specific question, yes. To deal with any other 
chord names that are not what the user requires, maybe not.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Thomas Morley
Regrettable, nested quoting is messed up :(
Anyway, maybe of some help though:

2016-04-30 8:56 GMT+02:00 Brett Duncan :
>  On 30/04/2016 3:24 pm, msk...@ansuz.sooke.bc.ca wrote:
>
> On Sat, 30 Apr 2016, Brett Duncan wrote:
>
>   I coded g2:5.9 in chordmode and got G9, which isn't the right
>   chord. I'm pursuing pop-chords.ly.

g2:5.9 is not correct. See the putput from the following code listing
some (all?) possibilities to _input_ the correct chord.

tst = {
  \chordmode {
   \set additionalPitchPrefix = "add"
   c:1.3.5.9
   c:3.5.9
   c:5.9 %% not correct !
   c:9^7
  }
  \notemode {

  }
}
<<
  \new Staff \tst
  \new ChordNames \tst
>>

I often put the chords in a Staff-context to check whether I coded
them correctly. More below.

> As Matthew said, you will need to override how the chord name is displayed,
> but this (or Matthew's suggestion) at least constructs a chord with the
> right notes.
>
> We should probably step back and clarify what seems to be the real issue
> every time someone asks about chord mode:
>
> Chord mode is completely separate from typesetting chord names.

Indeed.
We have different input-modes:
notemode (the default, thus rarely stated explicitely)
chordmode
figuremode
drummode

To illustrate, look at the output of:

\chordmode {
  c4:1 c:1 g:1 g:1
  a:1 a:1 g2:1
  f4:1 f:1 e:1 e:1
  d2:1 c:1
}

Granted, pretty pointless to do it this way, but valid code.

> "Chord mode" is chord *input* mode.  When you enter a chord with chord
> mode, it is immediately translated into a set of notes, and whatever code
> you used to enter it is forgotten.  Then if you are typesetting chord
> names, the chord names are determined by analysing that set of notes, not
> by referring back to the forgotten input code. [*]

Indeed.
It's done this way to gain the possibility to get different output
from the same source.
To illustrate:

mus = {
  \chordmode { c,1 }
  \notemode {  }
}

 <<
  \new ChordNames \mus
  \new FretBoards \mus
  \new Staff { \clef "G_8" \mus }
 >>

> I  agree with you about clarifying what the actual issue is at the outset.
>
>  I not sure that chord mode and the ChordNames context are as completely
> separate as you suggest, but IMO that's not really the issue. The problem
> lies in the fact that the default (Ignatzek) chord names are typically okay
> for only the simplest chords. The moment a user tries to input something
> more "complex" (not that an added ninth is particularly complex), what is
> generated is not what the user is after. I've seen plenty of messages on
> this list over the last decade or so complaining about this very fact.

Well, two problems.
(1) Like yourself I've seen a plethora of requests to write
chord-names in a certain way over the years.
Though, there is no general consense how to do it. Everyone wants it
(a little) different.
(2) LilyPond provides methods to get the desired output: via
exceptions or the already mentioned pop-chords-snippet
http://lsr.di.unimi.it/LSR/Item?id=750
and derivates from it.

Though, if you aim at an entirely different style like Brandt-Römer,
those methods are pretty tedious.

Right now there's at first a selection of pitches worth being
displayed in a chord-name.
To give an trivial example:
A simple major chord with tonic c is displayed: C and ofcourse not C ¹ ³ ⁵

Than a markup is created relying on those pitches, following the rules from
Klaus Ignatzek,  Die Jazzmethode fuer Klavier 1
(At least it's claimed, I don't own the book and can't check)

The problem is that some naming-styles (like Brandt-Römer) would not
only require different rules for creating the markup, but also the
selection of pitches is different.

It's a major task to make LilyPond flexible enough for this.
I already tried it repeatedly, but with no convincing result...

> I suspect many have done the same as me - created my own file of exceptions,
> added to it over time as need, and included it as a matter of routine. Which
> is fine for me and others doing the same, but leaves the unexpected Ignatzek
> defaults as an unhappy surprise for new users.


Well, the ignatzek-style chord-names _are_ a valid possibility.
We also used to have banter-style chord-names, which are really
strange, imho. Though they are broken nowadays and nobody requested
them for a long time.

The main problem is the lack of flexibility...

Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Henry Law

On 29/04/16 18:59, Malte Meyn wrote:

The magic is called additionalPitchPrefix. It can be found f. e. at
section 2.7.2 of the Notation Reference. The following code prints “C9
C9 Cadd9 C9”.

%
\version "2.18.2"

\new ChordNames {
   
   
   \set additionalPitchPrefix = "add"
   
   
}


I had trouble with pop-chords.ly: first I couldn't find it, and then 
when I found something that purported to be it I zigged when I should 
have zagged and couldn't make it work.


But this additionalPitchPrefix thing works beautifully.  And, for those 
who come behind me, it works fine with \chordmode too:


\version "2.18.2"

\new ChordNames {
  \set additionalPitchPrefix = "add"
  \chordmode { c:5.9 c:m7.5- c:5+.9- }
  
  
}

(Gives Cadd9 Cø C#5addb9 Cadd9 C9, exactly as required.)

--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Henry Law

On 30/04/16 06:24, msk...@ansuz.sooke.bc.ca wrote:

When you enter a chord with chord
mode, it is immediately translated into a set of notes, and whatever code
you used to enter it is forgotten.


That's a really clear exposition of the subject.  As a sometime systems 
architect I like this kind of thing!


--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread ming
It works in version 2.18.2  
Error in version 2.19.40

Sent from Mail for Windows 10

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Henry Law

On 29/04/16 18:22, Henry Law wrote:

In a lead sheet I want to use the chord which I call an "added ninth".
Using the key of C as an example, I want the chord C-E-G-D: a plain
major triad with the ninth added on top.


I've documented my experiences in the relevant places in the thread 
elsewhere: thanks to all the people who chimed in to help.


Two general points.  The first is that this confusion among "added 
ninth", "ninth" and "suspended second" (and possibly also "added 
second") is common among those who write chord charts for the kind of 
music I play a lot.  The charts I play off often have one symbol written 
above piano music that plainly shows that one of the others is required. 
 Not too serious when you see "Cmaj9" over the notes C-E-G-D, but when 
you end up playing a chord with a dominant seventh when the keyboard 
player has a diatonic one the results aren't pretty ...


The second is that might lilypond be extended to include ":add9" as one 
of the standard chord formulations that is recognised?


--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Henry Law

On 30/04/16 13:49, Henry Law wrote:

\new ChordNames {
   \set additionalPitchPrefix = "add"
   \chordmode { c:5.9 c:m7.5- c:5+.9- }
   
   
}


Another wrinkle I've just found.  If you want a minor chord with an 
added ninth (say) you can't code, for instance, d:m.9 as it gives an 
error.  You have to write d:5.3-.9


--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Brett Duncan

On 30/04/2016 9:36 pm, Thomas Morley wrote:

g2:5.9 is not correct. See the putput from the following code listing
some (all?) possibilities to _input_ the correct chord.

tst = {
   \chordmode {
\set additionalPitchPrefix = "add"
c:1.3.5.9
c:3.5.9
c:5.9 %% not correct !
c:9^7
   }
   \notemode {
 
   }
}
<<
   \new Staff \tst
   \new ChordNames \tst
I assume you are using LP 2.19 - I'm using  2.18 and the results are 
different, c:5 still produces a triad. But this is something to note for 
the future.



Well, two problems.
(1) Like yourself I've seen a plethora of requests to write
chord-names in a certain way over the years.
Though, there is no general consense how to do it. Everyone wants it
(a little) different.
True, but unlike most chord naming schemes I've come across in the last 
30 years, I find the Ignatzek defaults to be quite unhelpful in 
producing either the same symbol for different chords (e.g. the G9 and 
Gadd9 case that got this thread started, or have at look at what c:9.11+ 
generates) or else symbols that are well, odd. For example, if a user 
enters c:4 (which was the subject of another thread sometime in the not 
so distant past), they get back  "C4 sus4 3" - whatever that is.



(2) LilyPond provides methods to get the desired output: via
exceptions or the already mentioned pop-chords-snippet
http://lsr.di.unimi.it/LSR/Item?id=750
and derivates from it.
Also true, but it's not obvious you need these methods until you start 
running up against the inadequacies of the Ignatzek defaults.


Brett


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Malte Meyn



Am 30.04.2016 um 15:07 schrieb Henry Law:

On 30/04/16 13:49, Henry Law wrote:

\new ChordNames {
   \set additionalPitchPrefix = "add"
   \chordmode { c:5.9 c:m7.5- c:5+.9- }
   
   
}


Another wrinkle I've just found.  If you want a minor chord with an
added ninth (say) you can't code, for instance, d:m.9 as it gives an
error.  You have to write d:5.3-.9


Or d:m9^7 (Dm9 without 7 = Dmadd9).

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Malte Meyn



Am 30.04.2016 um 14:53 schrieb ming :

It works in version 2.18.2
Error in version 2.19.40

Sent from Mail for Windows 10


What doesn’t work? Your mail lacks context (In-Reply-To header, quote, 
or code example)



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Thomas Morley
2016-04-30 14:59 GMT+02:00 Henry Law :

> The second is that might lilypond be extended to include ":add9" as one of
> the standard chord formulations that is recognised?



We changed additionalPitchPrefix from "add" to "" some time ago,
because some (rare) chords will have multiples "adds"s. See:

m = {
  %% \notemode is not really needed, it's the default
  \notemode {
\set additionalPitchPrefix = "add"

  }
  \chordmode {
c:1.3.5.7.8.9.11+.13
  }
}

<<
  \new Staff \m
  \new ChordNames \m
>>

I don't think we're going to change it back.

Otoh, it would be a pretty trivial patch to put simple chords
(minor/major) with added 9 into the exceptions and let them display
the add9.
Though this will _only_ work for the specified chords, I think.
c:1.5.9 will not have the "add9" unless inserted as well into the
exception and what about all the other chords which may get the
"add9"?
There will be no end...

Sorry to be of not more help,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Added ninth chord (symbol)

2016-04-30 Thread Henry Law

On 30/04/16 17:28, Thomas Morley wrote:

because some (rare) chords will have multiples "adds"s.


Ah, yes; shows how I'd not thought through the problem.  Now if music 
and its notation had been designed by an IEEE committee in the late 
twentieth century (instead of by multiple communities in multiple 
countries over many hundreds of years) it would have been more 
straightforward :-)


I'm impressed with how much of the oddity of music notation lilypond 
does handle.  Far more than any other scoring program I've any 
acquaintance with.


--

Henry LawManchester, England

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user