lilypond-user-fr
[Top][All Lists]
Advanced

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

Re: changer l'extension de certains accords


From: Philippe Hezaine
Subject: Re: changer l'extension de certains accords
Date: Tue, 12 Jan 2010 10:58:49 +0100
User-agent: Thunderbird 2.0.0.23 (X11/20091021)

JeanPi a écrit :

Merci de t'interesser a mes recherches :).

Oui, si tu as les fichiers sous la main cela m'intéresse de les étudier. Si
je comprends comment cela fonctionne je pourrais peut-être m'en servir.

------------------------------
Une petite question qui pourrait simplifier le problème:
peut-on entrer du texte directement en \chordmode ?


Bonjour,

Voilà les fichiers en question. Tout ce qui est commenté vient de
l'original.
J'ai rajouté un 3ème fichier pour essayer de répondre à ta question.
Ce que je ne sais pas c'est si le texte que tu veux insérer est une
annotation ou des paroles de chansons.
J'ai mis les deux possibilités auxquelles j'ai pensé.
Si tu ne comprends pas quelque chose n'hésite pas à demander.
ATTENTION! ATTENTION! à:   \include english.ly

Phil.

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

\version "2.12.1"

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)
  }
} 



\version "2.12.1"
\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)))
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%{
Hi Shamus,

> You're very welcome. :-) BTW, while that will work you still have to put
> a \popChords thing into your chord block, so it's still not 100%
> automatic the way language files are. If someone could tell me how to
> make this happen I'd be more than happy to code it. :-)

Try adding the following to the bottom of pop-chords.ly

chordNamesPop = #(append
    (sequential-music-to-chord-exceptions exceptionsPop #t)
    ignatzekExceptions)

\layout
{
  \context
  {
    \Score
    chordNameExceptions = #chordNamesPop
  }
}

where exceptionsPop is the name of the variable containing your pop-chords 
definitions.

HTH!
Kieren. 
%}


\version "2.12.1"
\include "pop-chords.ly"
\include "english.ly"

    \paper {
        after-title-space = 5\cm
        between-system-space = 45\mm
    }

 \header
        { title = "Texte avec chordmode"
        }

Chords = \chordmode {

% Triads
        c1:^3
        c
        c:m
        c:sus2
\break
        c:sus4
        c:aug
        c:dim
        }

Texte = \relative c {

        \override TextScript #'extra-offset = #'(0 . 5.5)
        s1
        s1
        s1^\markup { \bold "du texte ici" }
        s1
\break
        s1
        \once \override TextScript #'extra-offset = #'(0 . -8)
        s1^\markup { \bold "encore du texte ici" }
        s1
        }

Paroles = \lyricmode {
        Si c'est pour des pa ro les.
        }

  \score {
        <<
        \new ChordNames = "chords" \Chords

        \new Staff = chord { \new Voice = "lead"  \Chords }
        \context Voice \Texte
        \new Lyrics \lyricsto "lead" \Paroles
       \override Score.LyricText #'extra-offset = #'(0 . -2)

        >>


  \layout {
%       ragged-last-bottom = ##t
        ragged-last = ##t
        }
   }




reply via email to

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