lilypond-user
[Top][All Lists]
Advanced

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

Re: "exotic" chord


From: Tim McNamara
Subject: Re: "exotic" chord
Date: Tue, 19 Jan 2010 09:06:59 -0600

On Jan 18, 2010, at 9:54 AM, Wafaic wrote:


Sorry, I tried it,
\chords { a:m7.5- }
but I did not get what I hope.
I have someting like this same appearence:
Aº  , except that the little "º" looks like this:  ø
Is there another solution?
With regards,
Eric

Too lazy to fix the top-posting- see comments below.

Bertalan Fodor (LilyPondTool) wrote:

Hey, that's not an exotic chord, that's the common half-diminished one.
Use normal chord syntax.
\chords { a:m7.5- }

See
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Common- chord-modifiers#Common-chord-modifiers


TaoCG wrote:
Wafaic wrote:

Not exactly.
I can't find a way to write in full "Am7b5".
And if I find a way, I'd like to write "Am on one level, and 7b5 a
little
higher.



Maybe this is something for you.
http://lsr.dsi.unimi.it/LSR/Item?id=608

It's a little tricky because your entry will be converted to a lyric
context
to create chords now but what you want is easily achieved, just type
a-"m7f5" .


The solution is to use chord exceptions, as I explained in another post which I managed to not send to the list but did send to you directly.

http://lsr.dsi.unimi.it/LSR/Search?q=chord+exception

You can modify this to change the m7b5/half-diminished chord (the Lilypond default for this is Aø which is correct, a common notation used in jazz charts; but many people prefer to have m7b5 spelled out).

Alternatively you can use a whole list of chord exceptions and use \include to make use of it. I append the one I use, given to me by James Hammons (I hope he doesn't mind). Copy this in to a file called pop-chords.ly and then put

     \include "path/to/pop-chords.ly"

replacing the path/to/ part with the actual path to wherever you have put the pop-chords.ly file.

Here is the file:



% Pop chords as used in English/American popular music
% by James L. Hammons

% Written against \version "2.11.52"

chordFlat = \markup { \hspace #0.2 \tiny \raise #1.0 \flat }
chordSharp = \markup { \hspace #0.1 \teeny \raise #1.0 \sharp }

popChordsMusic =
{
        % Triads

        <c g>-\markup { "5" }
        <c d g>-\markup { "2" }
%       <c d g>-\markup { "sus2" }
        <c f g>-\markup { "sus" }
%       <c f g>-\markup { "sus4" }
%       <c ees ges>-\markup { \small \raise #1.0 "o" }
        <c ees ges>-\markup { \raise #0.8 "o" }
%       <c ees ges>-\markup { "dim" }
%       <c e gis>-\markup { "aug" }                                             
                        % or +

        % Sixths

        <c e g a>-\markup { "6" }
        <c ees g a>-\markup { "m6" }

        % Sevenths (including altered)

        <c e g bes>-\markup { "7" }
        <c ees g bes>-\markup { "m7" }
        <c e g b>-\markup { "maj7" }
        <c f g bes>-\markup { "7sus4" }
        <c d g bes>-\markup { "7sus2" }
        <c e ges bes>-\markup { "7" \chordFlat "5" }
        <c e gis bes>-\markup { "7" \chordSharp "5" }
%       <c e gis bes>-\markup { "aug7" }                                        
                % or +7
        <c ees g b>-\markup { "m(maj7)" }
%       <c ees ges beses>-\markup { \small \raise #1.0 { "o" } "7" }
        <c ees ges beses>-\markup { \raise #0.8 { "o" } "7" }
%       <c ees ges beses>-\markup { "dim7" }
% <c ees ges bes>-\markup { \small \raise #1.0 { #(ly:export (ly:wide- char->utf-8 #x00f8)) } "7" } % <c ees ges bes>-\markup { \raise #0.8 { #(ly:export (ly:wide-char- >utf-8 #x00f8)) } "7" }
        <c ees ges bes>-\markup { "m7" \chordFlat "5" }
        <c e ges b>-\markup { "maj7" \chordFlat "5" }
        <c e gis b>-\markup { "maj7" \chordSharp "5" }

        % Ninths (including altered--incomplete)

        <c e g bes d'>-\markup { "9" }
        <c ees g bes d'>-\markup { "m9" }
        <c e g b d'>-\markup { "maj9" }
        <c e g d'>-\markup { "add9" }
        <c e g a d'>-\markup { "6/9" }
        <c ees g a d'>-\markup { "m6/9" }
        <c ees g b d'>-\markup { "m(maj9)" }
        <c e g bes des'>-\markup { "7" \chordFlat "9" }
        <c e g bes dis'>-\markup { "7" \chordSharp "9" }
%dim7add9, dim7b9, dim7#9, 9#5, 9b5, maj9#5, maj9b5, 9sus4, 9sus2

        % Elevenths (incomplete)

        <c e g bes d' f'>-\markup { "11" }
        <c ees g bes d' f'>-\markup { "m11" }
        <c e g b d' f'>-\markup { "maj11" }
        <c e g f'>-\markup { "add11" }
        <c ees g f'>-\markup { "m add11" }
        <c ees g bes f'>-\markup { "m7add11" }

        % Thirteenths (incomplete)

        <c e g bes d' a'>-\markup { "13" }
        <c ees g bes d' a'>-\markup { "m13" }
        <c e g b d' a'>-\markup { "maj13" }
        <c e g a'>-\markup { "add13" }

        % Misc add chords

        <c e g bes des' aes'>-\markup { "7" \chordFlat "9" \chordFlat "13" }
        <c e gis bes des'>-\markup { "7" \chordSharp "5" \chordFlat "9" }
        <c e g b d' fis'>-\markup { "maj9" \chordSharp "11" }
        <c e g bes d' fis'>-\markup { "9" \chordSharp "11" }
}

% Add to existing exceptions
popChordsAdd = #(append
         (sequential-music-to-chord-exceptions popChordsMusic #t)
         ignatzekExceptions)

% Bah, can't we set this globally? YES! See below...
% \set chordNameExceptions = #popChords

% Bah, this doesn't work either...
% #(set chordNameExceptions popChords)


% Let's try fixing the accidentals with some Scheme...

#(define (chord-name->pop-markup pitch)

  (let* ((alt (ly:pitch-alteration pitch)))

  (make-line-markup
    (list
(make-simple-markup (vector-ref #("C" "D" "E" "F" "G" "A" "B") (ly:pitch-notename pitch)))

      ;; If it's natural, do nothing

      (if (= alt 0)

        (make-line-markup (list empty-markup))

        (if (= alt FLAT)

          ;; Otherwise, handle adding the flat symbol

          (make-line-markup
            (list
              (make-hspace-markup 0.3) ;; WAS: 0.4
              (make-tiny-markup (make-raise-markup 1.0
                (make-musicglyph-markup "accidentals.flat")))
            )
          )

          ;; or handle adding the sharp symbol

          (make-line-markup
            (list
              (make-hspace-markup 0.1) ;; WAS: 0.2
              (make-teeny-markup (make-raise-markup 1.0
                (make-musicglyph-markup "accidentals.sharp")))
            )
          )

        )

      )

    )
  )

  )
)

%{
popChords =
{
  \set chordNameExceptions = #popChordsAdd
  \set chordRootNamer = #chord-name->pop-markup
  \override ChordName #'extra-spacing-width = #'(-1.25 . 1.25)
}
%}

\layout
{
  \context
  {
    \Score
    chordNameExceptions = #popChordsAdd
    chordRootNamer = #chord-name->pop-markup
    \override ChordName #'extra-spacing-width = #'(-1.25 . 1.25)
  }
}





reply via email to

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