GNU LilyPond Notation Reference: 2.1.2 Entering lyrics

### 2.1.2 Entering lyrics

#### Lyrics explained

Since LilyPond input files are text, there is at least one issue to consider when working with vocal music: song texts must be interpreted as text, not notes. For example, the input `d` should be interpreted as a one letter syllable, not the note D. Therefore, a special lyric mode has to be used, either explicitely or using some abbreviated methods.

Lyrics are entered in a special input mode, which can be introduced by the keyword `\lyricmode`, or by using `\addlyrics` or `\lyricsto`. In this mode you can enter lyrics, with punctuation and accents, and the input `d` is not parsed as a pitch, but rather as a one letter syllable. Syllables are entered like notes, but with pitches replaced by text. For example,

>     \lyricmode { Twin-4 kle4 twin- kle litt- le star2 }

There are two main methods to specify the horizontal placement of the syllables, either by specifying the duration of each syllable explicitly, like in the example above, or by automatically aligning the lyrics to a melody or other voice of music, using `\addlyrics` or `\lyricsto`.

A word or syllable of lyrics begins with an alphabetic character, and ends with any space or digit. The following characters can be any character that is not a digit or white space.

Any character that is not a digit or white space will be regarded as part of the syllable; one important consequence of this is that a word can end with `}`, which often leads to the following mistake:

>     \lyricmode { lah- lah}

In this example, the `}` is included in the final syllable, so the opening brace is not balanced and the input file will probably not compile.

Similarly, a period which follows an alphabetic sequence is included in the resulting string. As a consequence, spaces must be inserted around property commands: do not write

>     \override Score.LyricText #'font-shape = #'italic

but instead use

>     \override Score . LyricText #'font-shape = #'italic

In order to assign more than one syllable to a single note, you can surround them with quotes or use a `_` character, to get spaces between syllables, or use tilde symbol (`~`) to get a lyric tie.

>     \time 3/4
>     \relative c' { c2 e4 g2 e4 }
>     \addlyrics { gran- de_a- mi- go }
>     \addlyrics { pu- "ro y ho-" nes- to }
>     \addlyrics { pu- ro~y~ho- nes- to }

The lyric tie is implemented with the Unicode character `U+203F`; therefore a font that includes this glyph (such as DejaVuLGC) has to be used. More explanations about text and non-text fonts can be found in Fonts.

To enter lyrics with characters from non-English languages, or with accented and special characters (such as the heart symbol or slanted quotes), simply insert the characters directly into the input file and save it with UTF-8 encoding. See Text encoding, for more info.

>     \relative c' { e4 f e d e f e2 }
>     \addlyrics { He said: “Let my peo ple go”. }

To use normal quotes in lyrics, add a backslash before the quotes. For example,

>     \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
>     \addlyrics { "\"I" am so lone- "ly\"" said she }

The full definition of a word start in Lyrics mode is somewhat more complex.

A word in Lyrics mode begins with: an alphabetic character, `_`, `?`, `!`, `:`, `'`, the control characters `^A` through `^F`, `^Q` through `^W`, `^Y`, `^^`, any 8-bit character with ASCII code over 127, or a two-character combination of a backslash followed by one of ```, `'`, `"`, or `^`.

To define variables containing lyrics, the function `lyricmode` must be used.

>     verseOne = \lyricmode { Joy to the world the Lord is come }
>     \score {
>       <<
>         \new Voice = "one" \relative c'' {
>           \autoBeamOff
>           \time 2/4
>           c4 b8. a16 g4. f8 e4 d c2
>         }
>         \addlyrics { \verseOne }
>       >>
>     }

#### See also

Notation Reference: Fonts.

Internals Reference: LyricText, LyricSpace.

#### Setting simple songs

The easiest way to add lyrics to a melody is to append

>     \addlyrics { the lyrics }

to a melody. Here is an example,

>     \time 3/4
>     \relative c' { c2 e4 g2. }
>     \addlyrics { play the game }

More stanzas can be added by adding more `\addlyrics` sections

>     \time 3/4
>     \relative c' { c2 e4 g2. }
>     \addlyrics { play the game }
>     \addlyrics { speel het spel }
>     \addlyrics { joue le jeu }

The command `\addlyrics` cannot handle polyphony settings. For these cases you should use `\lyricsto` and `\lyricmode`, as will be introduced in Lyrics explained.

#### Working with lyrics and variables

To define variables containing lyrics, the function `\lyricmode` must be used. You do not have to enter durations though, if you add `\addlyrics` or `\lyricsto` when invoking your variable.

>     verseOne = \lyricmode { Joy to the world the Lord is come }
>     \score {
>      <<
>        \new Voice = "one" \relative c'' {
>          \autoBeamOff
>          \time 2/4
>          c4 b8. a16 g4. f8 e4 d c2
>        }
>        \addlyrics { \verseOne }
>      >>
>     }

For different or more complex orderings, the best way is to setup the hierarchy of staves and lyrics first, e.g.,

>     \new ChoirStaff <<
>       \new Voice = "soprano" { music }
>       \new Lyrics = "sopranoLyrics" { s1 }
>       \new Lyrics = "tenorLyrics" { s1 }
>       \new Voice = "tenor" { music }
>     >>

and then combine the appropriate melodies and lyric lines

>     \context Lyrics = sopranoLyrics \lyricsto "soprano"
>     the lyrics

The final input would resemble

>     <<\new ChoirStaff << setup the music >>
>      \lyricsto "soprano" etc
>      \lyricsto "alto" etc
>     etc
>     >>

#### See also

Internals Reference: LyricCombineMusic, Lyrics.

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

#### Notation Reference