GNU LilyPond Notation Reference: 2.1.5 Stanzas

### 2.1.5 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.

#### 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
>     >>

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

#### 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`.

#### 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."
>     }

#### 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.

Other languages: français, español, deutsch.

#### Notation Reference