[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Centering lyrics between staves ] | [ Up : Vocal music ] | [ Adding stanza numbers > ] |
2.1.5 Stanzas
Adding stanza numbers | ||
Adding dynamics marks to stanzas | ||
Adding singers’ names to stanzas | ||
Stanzas with different rhythms | ||
Printing stanzas at the end | ||
Printing stanzas at the end in multiple columns |
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Stanzas ] | [ Up : Stanzas ] | [ Adding dynamics marks to stanzas > ] |
Adding stanza numbers
Stanza numbers can be added by setting stanza
, e.g.,
\new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set stanza = #"1. " Hi, my name is Bert. } \addlyrics { \set stanza = #"2. " Oh, ché -- ri, je t'aime }
These numbers are put just before the start of the first syllable.
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Adding stanza numbers ] | [ Up : Stanzas ] | [ Adding singers' names to stanzas > ] |
Adding dynamics marks to stanzas
Stanzas differing in loudness may be indicated by putting a
dynamics mark before each stanza. In LilyPond, everything coming in
front of a stanza goes into the StanzaNumber
object; dynamics marks
are no different. For technical reasons, you have to set the stanza
outside \lyricmode
:
text = { \set stanza = \markup { \dynamic "ff" "1. " } \lyricmode { Big bang } } << \new Voice = "tune" { \time 3/4 g'4 c'2 } \new Lyrics \lyricsto "tune" \text >>
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Adding dynamics marks to stanzas ] | [ Up : Stanzas ] | [ Stanzas with different rhythms > ] |
Adding singers’ names to stanzas
Names of singers can also be added. They are printed at the start of
the line, just like instrument names. They are created by setting
vocalName
. A short version may be entered as shortVocalName
.
\new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set vocalName = #"Bert " Hi, my name is Bert. } \addlyrics { \set vocalName = #"Ernie " Oh, ché -- ri, je t'aime }
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Adding singers' names to stanzas ] | [ Up : Stanzas ] | [ Printing stanzas at the end > ] |
Stanzas with different rhythms
Ignoring melismata
One possibility is that the text has a melisma in one stanza, but
multiple syllables in another one. One solution is to make the faster
voice ignore the melisma. This is done by setting
ignoreMelismata
in the Lyrics context.
<< \relative c' \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c4 \slurDotted f8.[( g16]) a4 } \new Lyrics \lyricsto "lahlah" { more slow -- ly } \new Lyrics \lyricsto "lahlah" { go \set ignoreMelismata = ##t fas -- ter \unset ignoreMelismata still } >>
Known issues and warnings
Unlike most \set
commands, \set ignoreMelismata
does
not work if prefixed with \once
. It is necessary to use
\set
and \unset
to bracket the lyrics where melismata
are to be ignored.
Switching to an alternative melody
More complex variations in text underlay are possible. It is possible
to switch the melody for a line of lyrics during the text. This is
done by setting the associatedVoice
property. In the example
the text for the first stanza is set to a melody called ‘lahlah’,
\new Lyrics \lyricsto "lahlah" { Ju -- ras -- sic Park }
The second stanza initially is set to the lahlah
context, but
for the syllable ‘ran’, it switches to a different melody.
This is achieved with
\set associatedVoice = alternative
Here, alternative
is the name of the Voice
context
containing the triplet.
This command must be one syllable too early, before ‘Ty’ in this case. In other words, changing the associatedVoice happens one step later than expected. This is for technical reasons, and it is not a bug.
\new Lyrics \lyricsto "lahlah" { \set associatedVoice = alternative % applies to "ran" Ty -- ran -- no -- \set associatedVoice = lahlah % applies to "rus" sau -- rus Rex }
The underlay is switched back to the starting situation by assigning
lahlah
to associatedVoice
.
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Stanzas with different rhythms ] | [ Up : Stanzas ] | [ Printing stanzas at the end in multiple columns > ] |
Printing stanzas at the end
Sometimes it is appropriate to have one stanza set
to the music, and the rest added in verse form at
the end of the piece. This can be accomplished by adding
the extra verses into a \markup
section outside
of the main score block. Notice that there are two
different ways to force linebreaks when using
\markup
.
melody = \relative c' { e d c d | e e e e | d d e d | c1 | } text = \lyricmode { \set stanza = #"1." Ma- ry had a lit- tle lamb, its fleece was white as snow. } \score{ << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \column{ \line{ Verse 2. } \line{ All the children laughed and played } \line{ To see a lamb at school. } } } \markup{ \wordwrap-string #" Verse 3. Mary took it home again, It was against the rule." }
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Printing stanzas at the end ] | [ Up : Stanzas ] | [ Keyboard and other multi-staff instruments > ] |
Printing stanzas at the end in multiple columns
When a piece of music has many verses, they are often printed in multiple columns across the page. An outdented verse number often introduces each verse. The following example shows how to produce such output in LilyPond.
melody = \relative c' { c c c c | d d d d } text = \lyricmode { \set stanza = #"1." This is verse one. It has two lines. } \score{ << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \fill-line { \hspace #0.1 % moves the column off the left margin; % can be removed if space on the page is tight \column { \line { \bold "2." \column { "This is verse two." "It has two lines." } } \hspace #0.1 % adds vertical spacing between verses \line { \bold "3." \column { "This is verse three." "It has two lines." } } } \hspace #0.1 % adds horizontal spacing between columns; % if they are still too close, add more " " pairs % until the result looks good \column { \line { \bold "4." \column { "This is verse four." "It has two lines." } } \hspace #0.1 % adds vertical spacing between verses \line { \bold "5." \column { "This is verse five." "It has two lines." } } } \hspace #0.1 % gives some extra space on the right margin; % can be removed if page space is tight } }
See also
Internals Reference: LyricText, StanzaNumber.
[ << Specialist notation ] | [Top][Contents][Index][ ? ] | [ General input and output >> ] | ||
[ < Printing stanzas at the end ] | [ Up : Stanzas ] | [ Keyboard and other multi-staff instruments > ] |