1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
12 Since LilyPond input files are text, there are two issues to
13 consider when working with vocal music:
17 Song texts must be entered as text, not notes. For example, the
18 input@tie{}@code{d} should be interpreted as a one letter syllable, not the
22 Song texts must be aligned with the notes of their melody.
25 There are a few different ways to define lyrics; we shall begin
26 by examining the simplest method, and gradually increase complexity.
30 * Aligning lyrics to a melody::
31 * Vocals and variables::
32 * Flexibility in placement::
34 * More about stanzas::
39 Checking to make sure that text scripts and lyrics are within the margins is
40 a relatively large computational task. To speed up processing, lilypond does
41 not perform such calculations by default; to enable it, use
44 \override Score.PaperColumn #'keep-inside-line = ##t
47 To make lyrics avoid barlines as well, use
52 \consists "Bar_engraver"
53 \consists "Separating_line_group_engraver"
54 \override BarLine #'transparent = ##t
61 @subsection Simple lyrics
64 * Setting simple songs::
68 @node Setting simple songs
69 @unnumberedsubsubsec Setting simple songs
73 The easiest way to add lyrics to a melody is to append
76 \addlyrics @{ @var{the lyrics} @}
80 to a melody. Here is an example,
82 @lilypond[ragged-right,verbatim,fragment,quote]
84 \relative { c2 e4 g2. }
85 \addlyrics { play the game }
88 More stanzas can be added by adding more
89 @code{\addlyrics} sections
91 @lilypond[ragged-right,verbatim,fragment,quote]
93 \relative { c2 e4 g2. }
94 \addlyrics { play the game }
95 \addlyrics { speel het spel }
96 \addlyrics { joue le jeu }
99 The command @code{\addlyrics} cannot handle polyphony settings. For these
100 cases you should use @code{\lyricsto} and @code{\lyricmode}, as will be
101 introduced in @ref{Entering lyrics}.
105 @node Entering lyrics
106 @unnumberedsubsubsec Entering lyrics
111 @cindex spaces, in lyrics
112 @cindex quotes, in lyrics
114 Lyrics are entered in a special input mode, which can be introduced
115 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
116 @code{\lyricsto}. In this mode you can enter lyrics,
117 with punctuation and accents, and the input @code{d} is not parsed as
118 a pitch, but rather as a one letter syllable. Syllables are entered
119 like notes, but with pitches replaced by text. For example,
122 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
125 There are two main methods to specify the horizontal placement
126 of the syllables, either by specifying the duration of each syllable
127 explicitly, like in the example above, or by automatically aligning
128 the lyrics to a melody or other voice of music, using @code{\addlyrics}
131 @c For more details see @ref{The Lyrics context}.
133 A word or syllable of lyrics begins with an alphabetic character, and ends
135 any space or digit. The following characters can be any character
136 that is not a digit or white space.
138 Any character that is not a digit or white space will be regarded as
139 part of the syllable; one important consequence of this is that a word
140 can end with @code{@}}, which often leads to the following mistake:
143 \lyricmode @{ lah- lah@}
146 In this example, the @code{@}} is included in the final syllable, so the
147 opening brace is not balanced and the input file will probably not
151 @funindex \property in \lyricmode
154 Similarly, a period which follows an alphabetic sequence is included in
155 the resulting string. As a consequence, spaces must be inserted around
156 property commands: do @emph{not} write
159 \override Score.LyricText #'font-shape = #'italic
166 \override Score . LyricText #'font-shape = #'italic
170 @cindex spaces, in lyrics
171 @cindex quotes, in lyrics
172 @cindex ties, in lyrics
174 In order to assign more than one syllable to a single note, you can
175 surround them with quotes or use a @code{_} character, to get spaces
176 between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
178 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
180 \relative { c2 e4 g2 e4 }
181 \addlyrics { gran- de_a- mi- go }
182 \addlyrics { pu- "ro y ho-" nes- to }
183 \addlyrics { pu- ro~y~ho- nes- to }
186 The lyric tie is implemented with the Unicode character U+203F, so be
187 sure to have a font (Like DejaVuLGC) installed that includes this
191 To enter lyrics with characters from non-English languages, or with
192 accented and special characters (such as the heart symbol or slanted quotes),
193 simply insert the characters directly into the input file and save
194 it with utf-8 encoding. See @ref{Text encoding}, for more info.
196 @lilypond[quote,ragged-right,fragment,verbatim]
197 \relative { e4 f e d e f e2 }
198 \addlyrics { He said: “Let my peo ple goâ€
\9d. }
201 To use normal quotes in lyrics, add a backslash before the
204 @lilypond[quote,ragged-right,fragment,verbatim]
205 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
206 \addlyrics { "\"I" am so lone- "ly\"" said she }
209 The full definition of a word start in Lyrics mode is somewhat more
212 A word in Lyrics mode begins with: an alphabetic character, @code{_},
213 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
214 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
215 any 8-bit character with ASCII code over 127, or a two-character
216 combination of a backslash followed by one of @code{`}, @code{'},
217 @code{"}, or @code{^}.
219 To define variables containing lyrics, the function @code{lyricmode}
223 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
226 \new Voice = "one" \relative c'' @{
229 c4 b8. a16 g4. f8 e4 d c2
231 \addlyrics @{ \verseOne @}
239 Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
242 @node Aligning lyrics to a melody
243 @subsection Aligning lyrics to a melody
250 Lyrics are printed by interpreting them in the context called
251 @internalsref{Lyrics}.
254 \new Lyrics \lyricmode @dots{}
257 There are two main methods to specify the horizontal placement
262 by automatically aligning
263 the lyrics to a melody or other voice of music, using @code{\addlyrics}
267 or by specifying the duration of each syllable
268 explicitly, using @code{\lyricmode}
272 * Automatic syllable durations::
273 * Another way of entering lyrics::
274 * Assigning more than one syllable to a single note::
275 * More than one note on a single syllable::
276 * Extenders and hyphens::
279 @node Automatic syllable durations
280 @unnumberedsubsubsec Automatic syllable durations
282 @cindex automatic syllable durations
283 @cindex lyrics and melodies
285 The lyrics can be aligned under a given melody
286 automatically. This is achieved by combining the
287 melody and the lyrics with the @code{\lyricsto} expression
290 \new Lyrics \lyricsto @var{name} @dots{}
293 This aligns the lyrics to the
294 notes of the @internalsref{Voice} context called @var{name}, which must
295 already exist. Therefore normally the @code{Voice} is specified first, and
296 then the lyrics are specified with @code{\lyricsto}. The command
297 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
298 @code{\lyricmode} keyword may be omitted.
300 The following example uses different commands for entering lyrics.
302 @lilypond[quote,fragment,ragged-right,verbatim]
304 \new Voice = "one" \relative c'' {
307 c4 b8. a16 g4. f8 e4 d c2
309 \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
310 \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
311 \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
315 The second stanza is not properly aligned because the durations
316 were not specified. A solution for that would be to use @code{\lyricsto}.
318 The @code{\addlyrics} command is actually just a convenient way
319 to write a more complicated LilyPond structure that sets up the
324 \addlyrics @{ LYRICS @}
331 \new Voice = "blah" @{ music @}
332 \new Lyrics \lyricsto "blah" @{ LYRICS @}
335 @node Another way of entering lyrics
336 @unnumberedsubsubsec Another way of entering lyrics
338 Lyrics can also be entered without @code{\addlyrics} or
339 @code{\lyricsto}. In this case,
340 syllables are entered like notes -- but with pitches replaced by text -- and the
341 duration of each syllable must be entered explicitly. For example:
348 The alignment to a melody can be specified with the
349 @code{associatedVoice} property,
352 \set associatedVoice = #"lala"
356 The value of the property (here: @code{"lala"}) should be the name of
357 a @internalsref{Voice} context. Without this setting, extender lines
358 will not be formatted properly.
360 Here is an example demonstrating manual lyric durations,
362 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
363 << \new Voice = "melody" {
367 \new Lyrics \lyricmode {
368 \set associatedVoice = #"melody"
375 Internals Reference: @internalsref{Lyrics}.
378 @node Assigning more than one syllable to a single note
379 @unnumberedsubsubsec Assigning more than one syllable to a single note
383 @cindex ties, in lyrics
385 In order to assign more than one syllable to a single note, you can
386 surround them with quotes or use a @code{_} character, to get spaces
387 between syllables, or use tilde symbol (@code{~}) to get a lyric
388 tie@footnote{The lyric ties is implemented with the Unicode character
390 sure to have a font (Like DejaVuLGC) installed that includes this
393 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
395 \relative { c2 e4 g2 e4 }
396 \addlyrics { gran- de_a- mi- go }
397 \addlyrics { pu- "ro y ho-" nes- to }
398 \addlyrics { pu- ro~y~ho- nes- to }
403 Internals Reference: @internalsref{LyricCombineMusic}.
405 @c Here come the section which used to be "Melismata"
406 @c the new title might be more self-explanatory
409 @node More than one note on a single syllable
410 @unnumberedsubsubsec More than one note on a single syllable
414 @cindex phrasing, in lyrics
416 Sometimes, particularly in Medieval music, several notes are to be sung on one
417 single syllable; such vocalises are called melismas, or melismata.
419 @c this method seems to be the simplest; therefore
420 @c it might be better to present it first - vv
422 You can define melismata entirely in the lyrics, by entering @code{_}
424 that is part of the melisma.
426 @lilypond[relative=1,verbatim,fragment,quote]
427 { \set melismaBusyProperties = #'()
428 c d( e) f f( e) e e }
430 { Ky -- _ _ ri __ _ _ _ e }
433 In this case, you can also have ties and slurs in the melody if you
434 set @code{melismaBusyProperties}, as is done in the example above.
436 However, the @code{\lyricsto} command can also
437 detect melismata automatically: it only puts one
438 syllable under a tied or slurred group of notes. If you want to force
439 an unslurred group of notes to be a melisma, insert @code{\melisma}
440 after the first note of the group, and @code{\melismaEnd} after the
443 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
445 \new Voice = "lala" {
453 \new Lyrics \lyricsto "lala" {
459 In addition, notes are considered a melisma if they are manually
460 beamed, and automatic beaming (see @ref{Setting automatic beam
461 behavior}) is switched off.
463 @c TODO: there might be some more relevant place for
464 @c the following link (?)
469 A complete example of a SATB score setup is in section
470 @rlearning{Vocal ensembles}.
475 @code{\melisma}, @code{\melismaEnd}
476 @funindex \melismaEnd
481 Internals Reference: @internalsref{Melisma_translator}.
483 @lsr{vocal,lyric@/-combine.ly}.
487 Melismata are not detected automatically, and extender lines must be
490 @node Extenders and hyphens
491 @unnumberedsubsubsec Extenders and hyphens
496 Melismata are indicated with a horizontal line centered between a syllable
497 and the next one. Such a line is called an extender line, and it is entered
498 as @samp{ __ } (note the spaces before and after the two underscore
503 Centered hyphens are entered as @samp{ -- } between syllables of a same word
504 (note the spaces before and after the two hyphen characters). The hyphen
505 will be centered between the syllables, and its length will be adjusted
506 depending on the space between the syllables.
508 In tighly engraved music, hyphens can be removed. Whether this
509 happens can be controlled with the @code{minimum-distance} (minimum
510 distance between two syllables) and the @code{minimum-length}
511 (threshold below which hyphens are removed).
515 Internals Reference: @internalsref{LyricExtender},
516 @internalsref{LyricHyphen}
519 @node Vocals and variables
520 @subsection Vocals and variables
523 * Working with lyrics and variables::
526 @node Working with lyrics and variables
527 @unnumberedsubsubsec Working with lyrics and variables
529 @cindex lyrics, variables
531 To define variables containing lyrics, the function @code{\lyricmode}
532 must be used. You do not have to enter durations though, if you add
533 @code{\addlyrics} or @code{\lyricsto}
534 when invoking your variable.
537 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
540 \new Voice = "one" \relative c'' @{
543 c4 b8. a16 g4. f8 e4 d c2
545 \addlyrics @{ \verseOne @}
550 For different or more complex orderings, the best way is to setup the
551 hierarchy of staves and lyrics first, e.g.,
554 \new Voice = "soprano" @{ @emph{music} @}
555 \new Lyrics = "sopranoLyrics" @{ s1 @}
556 \new Lyrics = "tenorLyrics" @{ s1 @}
557 \new Voice = "tenor" @{ @emph{music} @}
561 and then combine the appropriate melodies and lyric lines
564 \context Lyrics = sopranoLyrics \lyricsto "soprano"
570 The final input would resemble
573 <<\new ChoirStaff << @emph{setup the music} >>
574 \lyricsto "soprano" @emph{etc}
575 \lyricsto "alto" @emph{etc}
582 @c TODO: document \new Staff << Voice \lyricsto >> bug
583 Internals Reference: @internalsref{LyricCombineMusic},
584 @internalsref{Lyrics}.
587 @node Flexibility in placement
588 @subsection Flexibility in placement
590 Often, different stanzas of one song are put to one melody in slightly
591 differing ways. Such variations can still be captured with
595 * Lyrics to multiple notes of a melisma::
597 * Switching the melody associated with a lyrics line::
598 * Lyrics independent of notes::
602 @node Lyrics to multiple notes of a melisma
603 @unnumberedsubsubsec Lyrics to multiple notes of a melisma
605 One possibility is that the text has a melisma in one stanza, but
606 multiple syllables in another one. One solution is to make the faster
607 voice ignore the melisma. This is done by setting
608 @code{ignoreMelismata} in the Lyrics context.
610 There is one tricky aspect: the setting for @code{ignoreMelismata}
611 must be set one syllable @emph{before} the non-melismatic syllable
612 in the text, as shown here,
614 @c TODO: breaks compile
615 @lilypond[verbatim,ragged-right,quote]
618 \relative \new Voice = "lahlah" {
619 \set Staff.autoBeaming = ##f
625 \new Lyrics \lyricsto "lahlah" {
628 \new Lyrics \lyricsto "lahlah" {
629 \set ignoreMelismata = ##t % applies to "fas"
631 \unset ignoreMelismata
639 The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
640 should be entered before @q{go}.
642 The reverse is also possible: making a lyric line slower than the
643 standard. This can be achieved by insert @code{\skip}s into the
644 lyrics. For every @code{\skip}, the text will be delayed another note.
647 @lilypond[verbatim,ragged-right,quote]
657 @unnumberedsubsubsec Divisi lyrics
659 You can display alternate (or divisi) lyrics by naming voice
660 contexts and attaching lyrics to those specific contexts.
662 @lilypond[verbatim,ragged-right,quote]
664 \new Voice = "melody" {
669 \new Voice = "splitpart" { \voiceTwo c4 }
674 \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
675 \new Lyrics \lyricsto "splitpart" { will }
680 You can use this trick to display different lyrics for a repeated
683 @lilypond[verbatim,ragged-right,quote]
685 \new Voice = "melody" \relative c' {
687 \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
689 \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
692 \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
694 \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
695 dodo rere mimi fafa solsol }
702 @node Switching the melody associated with a lyrics line
703 @unnumberedsubsubsec Switching the melody associated with a lyrics line
705 More complex variations in text underlay are possible. It is possible
706 to switch the melody for a line of lyrics during the text. This is
707 done by setting the @code{associatedVoice} property. In the example
709 @lilypond[ragged-right,quote]
711 \relative \new Voice = "lahlah" {
712 \set Staff.autoBeaming = ##f
715 \new Voice = "alternative" {
718 % show associations clearly.
719 \override NoteColumn #'force-hshift = #-3
730 \new Lyrics \lyricsto "lahlah" {
731 Ju -- ras -- sic Park
733 \new Lyrics \lyricsto "lahlah" {
734 % Tricky: need to set associatedVoice
735 % one syllable too soon!
736 \set associatedVoice = alternative % applies to "ran"
740 \set associatedVoice = lahlah % applies to "rus"
746 the text for the first stanza is set to a melody called @q{lahlah},
749 \new Lyrics \lyricsto "lahlah" @{
750 Ju -- ras -- sic Park
755 The second stanza initially is set to the @code{lahlah} context, but
756 for the syllable @q{ran}, it switches to a different melody.
757 This is achieved with
759 \set associatedVoice = alternative
763 Here, @code{alternative} is the name of the @code{Voice} context
764 containing the triplet.
766 Again, the command must be one syllable too early, before @q{Ty} in
770 \new Lyrics \lyricsto "lahlah" @{
771 \set associatedVoice = alternative % applies to "ran"
775 \set associatedVoice = lahlah % applies to "rus"
781 The underlay is switched back to the starting situation by assigning
782 @code{lahlah} to @code{associatedVoice}.
785 @node Lyrics independent of notes
786 @unnumberedsubsubsec Lyrics independent of notes
788 In some complex vocal music, it may be desirable to place
789 lyrics completely independently of notes. Music defined
790 inside @code{lyricrhythm} disappears into the
791 @code{Devnull} context, but the rhythms can still be used
794 @lilypond[quote,verbatim,ragged-right]
797 \tag #'music { c''2 }
798 \tag #'lyricrhythm { c''4. c''8 }
802 lyr = \lyricmode { I like my cat! }
805 \new Staff \keepWithTag #'music \voice
806 \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
807 \new Lyrics \lyricsto "nowhere" \lyr
808 \new Staff { c'8 c' c' c' c' c' c' c'
809 c' c' c' c' c' c' c' c' }
815 @subsection Spacing vocals
822 @unnumberedsubsubsec Spacing lyrics
824 @cindex Spacing lyrics
825 @cindex Lyrics, increasing space between
827 To increase the spacing between lyrics, set the minimum-distance property of
830 @lilypond[relative,verbatim,fragment,quote,ragged-right]
833 \override Lyrics.LyricSpace #'minimum-distance = #1.0
837 longtext longtext longtext longtext
838 longtext longtext longtext longtext
842 To make this change for all lyrics in the score, set the property in the
845 @lilypond[relative,verbatim,quote,ragged-right]
852 longtext longtext longtext longtext
853 longtext longtext longtext longtext
858 \override LyricSpace #'minimum-distance = #1.0
865 @node More about stanzas
866 @subsection More about stanzas
869 * Adding stanza numbers ::
870 * Adding dynamics marks::
871 * Adding singer names::
872 * Printing stanzas at the end ::
873 * Printing stanzas at the end in multiple columns ::
877 @node Adding stanza numbers
878 @unnumberedsubsubsec Adding stanza numbers
880 @cindex stanza number
882 Stanza numbers can be added by setting @code{stanza}, e.g.,
884 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
886 \time 3/4 g2 e4 a2 f4 g2.
892 Oh, ché -- ri, je t'aime
897 These numbers are put just before the start of the first syllable.
900 @node Adding dynamics marks
901 @unnumberedsubsubsec Adding dynamics marks
903 Stanzas differing in loudness may be indicated by putting a
904 dynamics mark before each stanza. In Lilypond, everthing coming in
905 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
906 are no different. For technical reasons, you have to set the stanza
907 outside @code{\lyricmode}:
909 @lilypond[quote,ragged-right,verbatim]
911 \set stanza = \markup { \dynamic "ff" "1. " }
918 \new Voice = "tune" {
922 \new Lyrics \lyricsto "tune" \text
926 @node Adding singer names
927 @unnumberedsubsubsec Adding singer names
930 @cindex name of singer
932 Names of singers can also be added. They are printed at the start of
933 the line, just like instrument names. They are created by setting
934 @code{vocalName}. A short version may be entered as @code{shortVocalName}.
936 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
938 \time 3/4 g2 e4 a2 f4 g2.
940 \set vocalName = "Bert "
943 \set vocalName = "Ernie "
944 Oh, che -- ri, je t'aime
949 @node Printing stanzas at the end
950 @unnumberedsubsubsec Printing stanzas at the end
952 Sometimes it is appropriate to have one stanza set
953 to the music, and the rest added in verse form at
954 the end of the piece. This can be accomplished by adding
955 the extra verses into a @code{\markup} section outside
956 of the main score block. Notice that there are two
957 different ways to force linebreaks when using
960 @lilypond[ragged-right,verbatim,quote]
961 melody = \relative c' {
967 \set stanza = "1." Ma- ry had a lit- tle lamb,
968 its fleece was white as snow.
972 \new Voice = "one" { \melody }
973 \new Lyrics \lyricsto "one" \text
979 \line{ All the children laughed and played }
980 \line{ To see a lamb at school. }
987 Mary took it home again,
989 It was against the rule."
994 @node Printing stanzas at the end in multiple columns
995 @unnumberedsubsubsec Printing stanzas at the end in multiple columns
997 When a piece of music has many verses, they are often printed in
998 multiple columns across the page. An outdented verse number often
999 introduces each verse. The following example shows how to produce such
1002 @lilypond[ragged-right,quote,verbatim]
1003 melody = \relative c' {
1008 \set stanza = "1." This is verse one.
1013 \new Voice = "one" { \melody }
1014 \new Lyrics \lyricsto "one" \text
1021 \hspace #0.1 % moves the column off the left margin; can be removed if
1022 % space on the page is tight
1026 "This is verse two."
1030 \hspace #0.1 % adds vertical spacing between verses
1033 "This is verse three."
1038 \hspace #0.1 % adds horizontal spacing between columns; if they are
1039 % still too close, add more " " pairs until the result
1044 "This is verse four."
1048 \hspace #0.1 % adds vertical spacing between verses
1051 "This is verse five."
1056 \hspace #0.1 % gives some extra space on the right margin; can
1057 % be removed if page space is tight
1065 Internals Reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
1066 @internalsref{VocalName}.
1068 @c TODO: stick elsewhere
1070 @n ode Other vocal issues
1071 @s ubsection Other vocal issues
1073 yeah, I'm giving up somewhat by stuffing a bunch of things in
1074 here. But at least they're in the manual now; it's easier to
1075 move them around in the manual once they're already here.
1077 Besides, if users complain about everything stuffed in here, I
1078 can ask them for specific instructions about where to move these
1079 examples, and that might get them more involved in the docs. -gp
1082 @q{Parlato} is spoken without pitch but still with rhythm; it is
1083 notated by cross noteheads. This is demonstrated in
1084 @ref{Special noteheads}.