|
From: | Mats Bengtsson |
Subject: | Re: Song: multiple verses and refrain |
Date: | Mon, 8 Jul 2024 23:12:39 +0200 |
User-agent: | Mozilla Thunderbird |
An alternative to the already proposed solutions is to name the Lyrics context that you want to keep, and then reuse it for the refrain:
\version "2.24.3"
melody = { \relative c'
\repeat volta 3 { a b c d e f g a }
}
verseA = \lyricmode { This is verse one }
verseB = \lyricmode { This is verse two }
verseC = \lyricmode { This is verse three }
chorusWords = \lyricmode { This is the chorus }
\score {
\new Staff {
\melody
\addlyrics {
\repeat volta 3 {
<<
\new Lyrics = mainlyrics \verseA
\new Lyrics \verseB
\new Lyrics \verseC
>>
\context Lyrics = mainlyrics \chorusWords
}
}
}
\layout { }
}
/Mats
Now that is much neater, but can it be modified for the case where the refrain precedes the verse, e.g. Satie's "Je Te Veux"?
Maybe these tricks should go into the docs.
The general principle of naming and resuming contexts is
described in
https://lilypond.org/doc/v2.24/Documentation/notation/creating-and-referencing-contexts
and some additional bells and whistles are brought up in
https://lilypond.org/doc/v2.24/Documentation/notation/keeping-contexts-alive
Here's a modified version of the above example with the refrain coming before the verses.
\version "2.24.3"
melody = { \relative c'
\repeat volta 3 { a b c d e f g a }
}
verseA = \lyricmode { This is verse one }
verseB = \lyricmode { This is verse two }
verseC = \lyricmode { This is verse three }
chorusWords = \lyricmode { This is the chorus }
\score {
\new Staff {
\melody
\addlyrics {
\new Lyrics = mainlyrics \chorusWords
\repeat volta 3 {
<<
\context Lyrics = mainlyrics \verseA
\new Lyrics \verseB
\new Lyrics \verseC
>>
}
}
}
\layout { }
}
/Mats
[Prev in Thread] | Current Thread | [Next in Thread] |