lilypond-user
[Top][All Lists]
Advanced

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

Re: Just chords and lyrics.


From: Jonathan Kulp
Subject: Re: Just chords and lyrics.
Date: Thu, 27 Nov 2008 20:22:51 -0600
User-agent: Thunderbird 2.0.0.18 (X11/20081125)

Carl D. Sorensen wrote:
For me the main issue here is that if I *only* want chords and lyrics, I
want the lyrics to be spaced according to proper typography, and I want the
chords to just follow along with the lyrics, instead of having both the
chords and the lyrics spaced according to the duration of the non-visible
music.

I can't see how LilyPond can accomplish this in it's current incarnation.
But what we're doing is the best that can be done, AFAICS.

Thanks,

Carl

Agreed. I'm working on the minimal examples right now for the docs, and I'm having trouble making the one with just the lyrics and chordnames look decent. I don't see any way to do it except to create a different melody for the devnull context than what's in the regular voices, so that you can assign lyrics to notes that are more evenly spaced, without rests between them.

But if you have to do this to make it look good, then there's no benefit that I can see to using Lilypond for it. The only sensible argument *for* using Lilypond to do this was that you could use existing lilypond code to create a separate part with just chordnames and lyrics. Unless your original melody is extremely simple with no rests, then the result is likely to be poor.

Here's the code for my examples so far. I have an original melody (everything visible) and its derivatives. The last example looks halfway decent because I created a different melody to go with it. As long as I have to do this extra work to make it look right, I'd rather just use guitarTeX or a word processor and make it look even better. Any thoughts?

Jon

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.11.64"

%------------- Lyrics ---------- {

\paper {
  indent = 0.0
}

makeTransparent = {
\override NoteHead #'transparent = ##t
\override Stem #'transparent = ##t
\override TupletBracket #'bracket-visibility = ##f
\override TupletNumber #'stencil = ##f
\override Accidental #'transparent = ##t
\override Tie #'transparent = ##t
\override Dots #'transparent = ##t
\override Staff.LedgerLineSpanner #'transparent = ##t
\override Beam #'transparent = ##t
\override Rest #'transparent = ##t
}

text = \lyricmode {
        Three words, then
        two  words. \melisma
        Three \melismaEnd words, then
        Two words.
}

%------------- Melody ---------- }{

melody = \relative c'' {
        r4 e e4. e8 |
        a4. d,8~ d2 |
        r2 \times 2/3 { d4 b4 gis4 } |
        b,4. e8 ~ e2 |
}

nullMelody = \relative c'' {
  e4 e e2 | e2 e | \times 2/3 {d2 d d } | e4 e ~ e2 |
}

%------------- Chords ---------- }{

harmonies = \chordmode {
        a1:m | d:m | e:7 | a:m |
}


% The original melody, chords, and lyrics

\score {
        <<
                \new ChordNames { \harmonies }
                \new Staff {
                        \new Voice = "vocal" { \melody }                      
                }
                \new Lyrics \lyricsto "vocal" \text
        >>
        \midi {
                \context {
                        \Score
                        tempoWholesPerMinute = #(ly:make-moment 270 8)
                }
        }
        \layout {}
}


% The chord symbols, a blank staff, and lyrics

\score {
        <<
                \new ChordNames { \harmonies }
                \new Staff {
                        \new Voice = "vocal" { \makeTransparent \melody }       
              
                }
                \new Lyrics \lyricsto "vocal" \text
        >>
        \midi {
                \context {
                        \Score
                        tempoWholesPerMinute = #(ly:make-moment 270 8)
                }
        }
        \layout {}
}

% just chord symbols and lyrics with original melody
% spacing is all jacked up.

\score {
        <<
                \new ChordNames { \harmonies }
                        \new Devnull = "vocal" { \melody }            
                \new Lyrics \lyricsto "vocal" \text
        >>
        \midi {
                \context {
                        \Score
                        tempoWholesPerMinute = #(ly:make-moment 270 8)
                }
        }
        \layout {}
}

% just chord symbols and lyrics
% This one created with a separate melody defined for the
% devnull context to improve spacing.

\score {
        <<
                \new ChordNames { \harmonies }
                        \new Devnull = "vocal" { \nullMelody }                
                \new Lyrics \lyricsto "vocal" \text
        >>
        \midi {
                \context {
                        \Score
                        tempoWholesPerMinute = #(ly:make-moment 270 8)
                }
        }
        \layout {}
}

%------------- END ---------- }

Attachment: lyrics-and-chords.png
Description: PNG image


reply via email to

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