lilypond-user
[Top][All Lists]
Advanced

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

Re: display chords (Ami7(b5))


From: Shamus
Subject: Re: display chords (Ami7(b5))
Date: Wed, 25 Feb 2009 12:42:39 -0600
User-agent: Thunderbird 2.0.0.18 (X11/20081128)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Grammostola Rosea wrote:
> Tim McNamara wrote:
>>
>> On Feb 22, 2009, at 1:59 PM, Grammostola Rosea wrote:
>>
>>> Tim McNamara wrote:
>>>>
>>>> On Feb 22, 2009, at 8:02 AM, Grammostola Rosea wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> How do I make chords with the 5th an half tone lower or higher
>>>>> (e.g. b5 or #5)?
>>>>>
>>>>> for example
>>>>>
>>>>> Am7(b5)
>>>>>
>>>>> or
>>>>>
>>>>> D7(#5)
>>>>
>>>> I just asked this same question a couple of weeks ago.  The standard
>>>> way would be:
>>>>
>>>>      Am7(b5) for two beats  =  a2:m7.5-   which will render as Aø
>>>>
>>>>      D7(#5) for four beats  =  d1:7.5+   which will render as D7/#5
>>>>
>>>> You can do #9 or b9, etc. this way.  All the altered notes will be
>>>> preceded by a slash except the major 7th, m7b5 and diminished chords
>>>> which are denoted by a delta, diminished sign or half-diminished
>>>> sign respectively.
>>>>
>>>> There are other options for rendering the chords which involve
>>>> setting up a file of chord markups.  For more information, look in
>>>> the mailing list archives for the thread "Hello! and question about
>>>> jazz chords" for more details.  The thread started 10 Feb 2009.
>>>>
>>>>
>>> Thanks!
>>>
>>> Yeah it would be nice if jazz chords will be improved in Lilypond,
>>> like it was suggested in the link you gave...
>>
>> Well, the jazz chord rendering follows a set of conventions, just not
>> the ones established at Berklee and in the Real Book.  There's really
>> nothing wrong with it except that it's not what most jazz musicians
>> will expect (and the slash is a bit confusing- "is the #5 in the
>> bass?").   But I've been handed lots of charts at rehearsals with the
>> chords rendered the way LilyPond does it.
>>
> No nothing wrong at all. But maybe it is nice to have both (different)
> options to display the chords...

This has been a contentious issue for me as well--while in the past the
chord rendering was really awful, the situation *is* much improved today
now that it is possible to override the defaults. Also, there just
doesn't seem to be much agreement on how chords should be rendered even
in category subsets like jazz or pop for that matter.

So my solution has been to maintain a separate file with chord
definitions that I like (side note: it would be nice to be able to
simply include the file and get results that you expect, much like when
you include a language file). I'm including mine here so you can get an
idea of how it's done and how to use it (mebbe I should post this on LSR?).

Perhaps in the future the authors might make a contrib folder for a
whole bunch of different chord styles and make it as easy to use as
including the right file. I don't know how much work would be involved,
but it seems like it would go a long way towards alleviating these kinds
of posts that inevitably crop up as more and more people discover that
they can do really nice lead sheets with lilypond. :-)

- -- Shamus

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmlkR4ACgkQmE5b/O3JjkbIEgCgjsXbV0CaTkVZOnOuTr1PRRxd
/wUAn0tXu2sUqDModrA5HJBdfvuRu8VF
=eT0m
-----END PGP SIGNATURE-----
% 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?
% \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)
}
\version "2.8.2"
\include "pop-chords.ly"
\include "english.ly"           % English note names, for cryin' out loud...

% Good sizes are 16, 18, & 20
staffSize = #16
#(set-default-paper-size "letter")
#(set-global-staff-size staffSize)
#(ly:set-option (quote no-point-and-click))

\header
{
        title    = \markup { \override #'(font-family . sans) \fontsize #3.5 
"Pop Chords" }
        composer = \markup { \override #'(font-family . sans) \fontsize #1.3 
"Words & music by James \"Shamus\" Hammons" }
}

Chords = \chordmode
{
%Bah, can't we set this globally?
        \popChords

% Triads

        c1:^3
        c
        c:m
        c:sus2
        c:sus4
        c:aug
        c:dim

% Sharp/flat rendering

        fs:m
        ef:m

% Sixths

        c:6
        c:m6

% Sevenths, including altered

        c:7                             % Dominant seventh
        c:maj7                  % Major seventh
        c:m7                    % Minor seventh
        c:m7.5-                 % Minor seven flat 5
        c:dim7                  % Diminished seventh
        c:sus4.7                % Seven sus 4
        c:sus2.7                % Seven sus 2
        c:m7+                   % Minor major seventh
        c:aug7                  % Augmented seventh
        c:7.5-                  % Dominant seven flat 5
        cf:7+.5-                % Major seven flat 5
        cs:aug7+                % Augmented major seventh

% Ninths

        c:7.9                   % Dominant ninth
        c:m7.9                  % Minor ninth
        c:maj9                  % Major ninth
        c:5.9                   % Add nine
        c:6.9                   % Six/nine
        c:m6.9                  % Minor six/nine
        c:m7+9                  % Minor major 9
        c:7.9+                  % Dominant seventh sharp nine
        c:7.9-                  % Dominant seventh flat nine

% Elevenths

        c:11                    % Dominant eleventh
        c:m11                   % Minor eleventh
        c:maj11                 % Major eleventh
        c:5.11                  % Add eleven
        c:m5.11                 % Minor add eleven
        c:m7.11                 % Minor seventh add eleven

% Thirteenths

        c:13                    % Dominant thirteenth
        c:m7.9.13               % Minor thirteenth
        c:maj13                 % Major thirteenth
        c:5.13                  % Add thirteen

% Misc add chords

        c:7.9-.13-              % Seventh add b9/b13
        c:7.5+.9-               % Augmented seventh add b9
        c:maj9.11+              % Major ninth/#11
        c:9.11+                 % Dominant ninth/#11
}


\score
{
        <<
                \new ChordNames = "chords" \Chords
                \new Staff = "chordRhythm" \Chords
        >>
        \layout {
%               ragged-last-bottom = ##t
                ragged-last = ##t
        }
}

\paper
{
  #(define fonts (make-pango-font-tree
    "Times New Roman"
    "DomCasual BT"
    "Luxi Mono"
    (/ staffSize 20)))
}

reply via email to

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