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>>
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user