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.
14 Since LilyPond input files are text, there are two issues to
15 consider when working with vocal music:
19 Song texts must be entered as text, not notes. For example, the
20 input@tie{}@code{d} should be interpreted as a one letter syllable, not the
24 Song texts must be aligned with the notes of their melody.
27 There are a few different ways to define lyrics; we shall begin
28 by examining the simplest method, and gradually increase complexity.
32 * Aligning lyrics to a melody::
33 * Vocals and variables::
34 * Flexibility in placement::
36 * More about stanzas::
41 Checking to make sure that text scripts and lyrics are within the margins is
42 a relatively large computational task. To speed up processing, LilyPond does
43 not perform such calculations by default; to enable it, use
46 \override Score.PaperColumn #'keep-inside-line = ##t
49 To make lyrics avoid bar lines as well, use
55 \consists "Bar_engraver"
56 \consists "Separating_line_group_engraver"
57 \override BarLine #'transparent = ##t
64 @subsection Simple lyrics
67 * Setting simple songs::
71 @node Setting simple songs
72 @subsubsection Setting simple songs
76 The easiest way to add lyrics to a melody is to append
79 \addlyrics @{ @var{the lyrics} @}
83 to a melody. Here is an example,
85 @lilypond[ragged-right,verbatim,fragment,quote]
87 \relative { c2 e4 g2. }
88 \addlyrics { play the game }
91 More stanzas can be added by adding more
92 @code{\addlyrics} sections
94 @lilypond[ragged-right,verbatim,fragment,quote]
96 \relative { c2 e4 g2. }
97 \addlyrics { play the game }
98 \addlyrics { speel het spel }
99 \addlyrics { joue le jeu }
102 The command @code{\addlyrics} cannot handle polyphony settings. For these
103 cases you should use @code{\lyricsto} and @code{\lyricmode}, as will be
104 introduced in @ref{Entering lyrics}.
108 @node Entering lyrics
109 @subsubsection Entering lyrics
114 @cindex spaces, in lyrics
115 @cindex quotes, in lyrics
117 Lyrics are entered in a special input mode, which can be introduced
118 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
119 @code{\lyricsto}. In this mode you can enter lyrics,
120 with punctuation and accents, and the input @code{d} is not parsed as
121 a pitch, but rather as a one letter syllable. Syllables are entered
122 like notes, but with pitches replaced by text. For example,
125 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
128 There are two main methods to specify the horizontal placement
129 of the syllables, either by specifying the duration of each syllable
130 explicitly, like in the example above, or by automatically aligning
131 the lyrics to a melody or other voice of music, using @code{\addlyrics}
134 @c For more details see @ref{The Lyrics context}.
136 A word or syllable of lyrics begins with an alphabetic character, and ends
138 any space or digit. The following characters can be any character
139 that is not a digit or white space.
141 Any character that is not a digit or white space will be regarded as
142 part of the syllable; one important consequence of this is that a word
143 can end with @code{@}}, which often leads to the following mistake:
146 \lyricmode @{ lah- lah@}
149 In this example, the @code{@}} is included in the final syllable, so the
150 opening brace is not balanced and the input file will probably not
154 @funindex \property in \lyricmode
157 Similarly, a period which follows an alphabetic sequence is included in
158 the resulting string. As a consequence, spaces must be inserted around
159 property commands: do @emph{not} write
162 \override Score.LyricText #'font-shape = #'italic
169 \override Score . LyricText #'font-shape = #'italic
173 @cindex spaces, in lyrics
174 @cindex quotes, in lyrics
175 @cindex ties, in lyrics
177 In order to assign more than one syllable to a single note, you can
178 surround them with quotes or use a @code{_} character, to get spaces
179 between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
181 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
183 \relative { c2 e4 g2 e4 }
184 \addlyrics { gran- de_a- mi- go }
185 \addlyrics { pu- "ro y ho-" nes- to }
186 \addlyrics { pu- ro~y~ho- nes- to }
189 The lyric tie is implemented with the Unicode character U+203F, so be
190 sure to have a font (Like DejaVuLGC) installed that includes this
194 To enter lyrics with characters from non-English languages, or with
195 accented and special characters (such as the heart symbol or slanted quotes),
196 simply insert the characters directly into the input file and save
197 it with utf-8 encoding. See @ref{Text encoding}, for more info.
201 @lilypond[quote,ragged-right,fragment,verbatim]
202 \relative { e4 f e d e f e2 }
203 \addlyrics { He said: “Let my peo ple goâ€
\9d. }
206 To use normal quotes in lyrics, add a backslash before the
209 @lilypond[quote,ragged-right,fragment,verbatim]
210 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
211 \addlyrics { "\"I" am so lone- "ly\"" said she }
214 The full definition of a word start in Lyrics mode is somewhat more
217 A word in Lyrics mode begins with: an alphabetic character, @code{_},
218 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
219 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
220 any 8-bit character with ASCII code over 127, or a two-character
221 combination of a backslash followed by one of @code{`}, @code{'},
222 @code{"}, or @code{^}.
224 To define variables containing lyrics, the function @code{lyricmode}
228 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
231 \new Voice = "one" \relative c'' @{
234 c4 b8. a16 g4. f8 e4 d c2
236 \addlyrics @{ \verseOne @}
244 Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
247 @node Aligning lyrics to a melody
248 @subsection Aligning lyrics to a melody
255 Lyrics are printed by interpreting them in the context called
256 @internalsref{Lyrics}.
259 \new Lyrics \lyricmode @dots{}
262 There are two main methods to specify the horizontal placement
267 by automatically aligning
268 the lyrics to a melody or other voice of music, using @code{\addlyrics}
272 or by specifying the duration of each syllable
273 explicitly, using @code{\lyricmode}
277 * Automatic syllable durations::
278 * Another way of entering lyrics::
279 * Assigning more than one syllable to a single note::
280 * More than one note on a single syllable::
281 * Extenders and hyphens::
284 @node Automatic syllable durations
285 @subsubsection Automatic syllable durations
287 @cindex automatic syllable durations
288 @cindex lyrics and melodies
290 The lyrics can be aligned under a given melody
291 automatically. This is achieved by combining the
292 melody and the lyrics with the @code{\lyricsto} expression
295 \new Lyrics \lyricsto @var{name} @dots{}
298 This aligns the lyrics to the
299 notes of the @internalsref{Voice} context called @var{name}, which must
300 already exist. Therefore normally the @code{Voice} is specified first, and
301 then the lyrics are specified with @code{\lyricsto}. The command
302 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
303 @code{\lyricmode} keyword may be omitted.
305 The following example uses different commands for entering lyrics.
307 @lilypond[quote,fragment,ragged-right,verbatim]
309 \new Voice = "one" \relative c'' {
312 c4 b8. a16 g4. f8 e4 d c2
314 \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
315 \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
316 \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
320 The second stanza is not properly aligned because the durations
321 were not specified. A solution for that would be to use @code{\lyricsto}.
323 The @code{\addlyrics} command is actually just a convenient way
324 to write a more complicated LilyPond structure that sets up the
329 \addlyrics @{ LYRICS @}
336 \new Voice = "blah" @{ music @}
337 \new Lyrics \lyricsto "blah" @{ LYRICS @}
340 @node Another way of entering lyrics
341 @subsubsection Another way of entering lyrics
343 Lyrics can also be entered without @code{\addlyrics} or
344 @code{\lyricsto}. In this case,
345 syllables are entered like notes -- but with pitches replaced by text -- and the
346 duration of each syllable must be entered explicitly. For example:
353 The alignment to a melody can be specified with the
354 @code{associatedVoice} property,
357 \set associatedVoice = #"lala"
361 The value of the property (here: @code{"lala"}) should be the name of
362 a @internalsref{Voice} context. Without this setting, extender lines
363 will not be formatted properly.
365 Here is an example demonstrating manual lyric durations,
367 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
368 << \new Voice = "melody" {
372 \new Lyrics \lyricmode {
373 \set associatedVoice = #"melody"
380 Internals Reference: @internalsref{Lyrics}.
383 @node Assigning more than one syllable to a single note
384 @subsubsection Assigning more than one syllable to a single note
388 @cindex ties, in lyrics
390 In order to assign more than one syllable to a single note, you can
391 surround them with quotes or use a @code{_} character, to get spaces
392 between syllables, or use tilde symbol (@code{~}) to get a lyric
393 tie@footnote{The lyric ties is implemented with the Unicode character
395 sure to have a font (Like DejaVuLGC) installed that includes this
398 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
400 \relative { c2 e4 g2 e4 }
401 \addlyrics { gran- de_a- mi- go }
402 \addlyrics { pu- "ro y ho-" nes- to }
403 \addlyrics { pu- ro~y~ho- nes- to }
408 Internals Reference: @internalsref{LyricCombineMusic}.
410 @c Here come the section which used to be "Melismata"
411 @c the new title might be more self-explanatory
414 @node More than one note on a single syllable
415 @subsubsection More than one note on a single syllable
419 @cindex phrasing, in lyrics
421 Sometimes, particularly in Medieval music, several notes are to be sung on one
422 single syllable; such vocalises are called melismas, or melismata.
424 @c this method seems to be the simplest; therefore
425 @c it might be better to present it first - vv
427 You can define melismata entirely in the lyrics, by entering @code{_}
429 that is part of the melisma.
431 @lilypond[relative=1,verbatim,fragment,quote]
432 { \set melismaBusyProperties = #'()
433 c d( e) f f( e) e e }
435 { Ky -- _ _ ri __ _ _ _ e }
438 In this case, you can also have ties and slurs in the melody if you
439 set @code{melismaBusyProperties}, as is done in the example above.
441 However, the @code{\lyricsto} command can also
442 detect melismata automatically: it only puts one
443 syllable under a tied or slurred group of notes. If you want to force
444 an unslurred group of notes to be a melisma, insert @code{\melisma}
445 after the first note of the group, and @code{\melismaEnd} after the
448 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
450 \new Voice = "lala" {
458 \new Lyrics \lyricsto "lala" {
464 In addition, notes are considered a melisma if they are manually
465 beamed, and automatic beaming (see @ref{Setting automatic beam
466 behavior}) is switched off.
468 @c TODO: there might be some more relevant place for
469 @c the following link (?)
474 A complete example of a SATB score setup is in section
475 @rlearning{Vocal ensembles}.
480 @code{\melisma}, @code{\melismaEnd}
481 @funindex \melismaEnd
486 Internals Reference: @internalsref{Melisma_translator}.
488 @c @lsr{vocal,lyric@/-combine.ly}.
492 Melismata are not detected automatically, and extender lines must be
495 @node Extenders and hyphens
496 @subsubsection Extenders and hyphens
501 @c leave this as samp. -gp
502 Melismata are indicated with a horizontal line centered between a syllable
503 and the next one. Such a line is called an extender line, and it is entered
504 as @samp{ __ } (note the spaces before and after the two underscore
509 @c leave this as samp. -gp
510 Centered hyphens are entered as @samp{ -- } between syllables of a same word
511 (note the spaces before and after the two hyphen characters). The hyphen
512 will be centered between the syllables, and its length will be adjusted
513 depending on the space between the syllables.
515 In tightly engraved music, hyphens can be removed. Whether this
516 happens can be controlled with the @code{minimum-distance} (minimum
517 distance between two syllables) and the @code{minimum-length}
518 (threshold below which hyphens are removed).
522 Internals Reference: @internalsref{LyricExtender},
523 @internalsref{LyricHyphen}
526 @node Vocals and variables
527 @subsection Vocals and variables
530 * Working with lyrics and variables::
533 @node Working with lyrics and variables
534 @subsubsection Working with lyrics and variables
536 @cindex lyrics, variables
538 To define variables containing lyrics, the function @code{\lyricmode}
539 must be used. You do not have to enter durations though, if you add
540 @code{\addlyrics} or @code{\lyricsto}
541 when invoking your variable.
544 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
547 \new Voice = "one" \relative c'' @{
550 c4 b8. a16 g4. f8 e4 d c2
552 \addlyrics @{ \verseOne @}
557 For different or more complex orderings, the best way is to setup the
558 hierarchy of staves and lyrics first, e.g.,
561 \new Voice = "soprano" @{ @emph{music} @}
562 \new Lyrics = "sopranoLyrics" @{ s1 @}
563 \new Lyrics = "tenorLyrics" @{ s1 @}
564 \new Voice = "tenor" @{ @emph{music} @}
568 and then combine the appropriate melodies and lyric lines
571 \context Lyrics = sopranoLyrics \lyricsto "soprano"
577 The final input would resemble
580 <<\new ChoirStaff << @emph{setup the music} >>
581 \lyricsto "soprano" @emph{etc}
582 \lyricsto "alto" @emph{etc}
589 @c TODO: document \new Staff << Voice \lyricsto >> bug
590 Internals Reference: @internalsref{LyricCombineMusic},
591 @internalsref{Lyrics}.
594 @node Flexibility in placement
595 @subsection Flexibility in placement
597 Often, different stanzas of one song are put to one melody in slightly
598 differing ways. Such variations can still be captured with
602 * Lyrics to multiple notes of a melisma::
604 * Switching the melody associated with a lyrics line::
605 * Lyrics independent of notes::
609 @node Lyrics to multiple notes of a melisma
610 @subsubsection Lyrics to multiple notes of a melisma
612 One possibility is that the text has a melisma in one stanza, but
613 multiple syllables in another one. One solution is to make the faster
614 voice ignore the melisma. This is done by setting
615 @code{ignoreMelismata} in the Lyrics context.
617 There is one tricky aspect: the setting for @code{ignoreMelismata}
618 must be set one syllable @emph{before} the non-melismatic syllable
619 in the text, as shown here,
621 @c TODO: breaks compile
622 @lilypond[verbatim,ragged-right,quote]
625 \relative \new Voice = "lahlah" {
626 \set Staff.autoBeaming = ##f
632 \new Lyrics \lyricsto "lahlah" {
635 \new Lyrics \lyricsto "lahlah" {
636 \set ignoreMelismata = ##t % applies to "fas"
638 \unset ignoreMelismata
646 The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
647 should be entered before @q{go}.
649 The reverse is also possible: making a lyric line slower than the
650 standard. This can be achieved by insert @code{\skip}s into the
651 lyrics. For every @code{\skip}, the text will be delayed another note.
654 @lilypond[verbatim,ragged-right,quote]
664 @subsubsection Divisi lyrics
666 You can display alternate (or divisi) lyrics by naming voice
667 contexts and attaching lyrics to those specific contexts.
669 @lilypond[verbatim,ragged-right,quote]
671 \new Voice = "melody" {
676 \new Voice = "splitpart" { \voiceTwo c4 }
681 \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
682 \new Lyrics \lyricsto "splitpart" { will }
687 You can use this trick to display different lyrics for a repeated
690 @lilypond[verbatim,ragged-right,quote]
692 \new Voice = "melody" \relative c' {
694 \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
696 \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
699 \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
701 \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
702 dodo rere mimi fafa solsol }
709 @node Switching the melody associated with a lyrics line
710 @subsubsection Switching the melody associated with a lyrics line
712 More complex variations in text underlay are possible. It is possible
713 to switch the melody for a line of lyrics during the text. This is
714 done by setting the @code{associatedVoice} property. In the example
716 @lilypond[ragged-right,quote]
718 \relative \new Voice = "lahlah" {
719 \set Staff.autoBeaming = ##f
722 \new Voice = "alternative" {
725 % show associations clearly.
726 \override NoteColumn #'force-hshift = #-3
737 \new Lyrics \lyricsto "lahlah" {
738 Ju -- ras -- sic Park
740 \new Lyrics \lyricsto "lahlah" {
741 % Tricky: need to set associatedVoice
742 % one syllable too soon!
743 \set associatedVoice = alternative % applies to "ran"
747 \set associatedVoice = lahlah % applies to "rus"
753 the text for the first stanza is set to a melody called @q{lahlah},
756 \new Lyrics \lyricsto "lahlah" @{
757 Ju -- ras -- sic Park
762 The second stanza initially is set to the @code{lahlah} context, but
763 for the syllable @q{ran}, it switches to a different melody.
764 This is achieved with
766 \set associatedVoice = alternative
770 Here, @code{alternative} is the name of the @code{Voice} context
771 containing the triplet.
773 Again, the command must be one syllable too early, before @q{Ty} in
777 \new Lyrics \lyricsto "lahlah" @{
778 \set associatedVoice = alternative % applies to "ran"
782 \set associatedVoice = lahlah % applies to "rus"
788 The underlay is switched back to the starting situation by assigning
789 @code{lahlah} to @code{associatedVoice}.
792 @node Lyrics independent of notes
793 @subsubsection Lyrics independent of notes
795 In some complex vocal music, it may be desirable to place
796 lyrics completely independently of notes. Music defined
797 inside @code{lyricrhythm} disappears into the
798 @code{Devnull} context, but the rhythms can still be used
801 @lilypond[quote,verbatim,ragged-right]
804 \tag #'music { c''2 }
805 \tag #'lyricrhythm { c''4. c''8 }
809 lyr = \lyricmode { I like my cat! }
812 \new Staff \keepWithTag #'music \voice
813 \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
814 \new Lyrics \lyricsto "nowhere" \lyr
815 \new Staff { c'8 c' c' c' c' c' c' c'
816 c' c' c' c' c' c' c' c' }
822 @subsection Spacing vocals
829 @subsubsection Spacing lyrics
831 @cindex Spacing lyrics
832 @cindex Lyrics, increasing space between
834 To increase the spacing between lyrics, set the minimum-distance property of
837 @lilypond[relative,verbatim,fragment,quote,ragged-right]
840 \override Lyrics.LyricSpace #'minimum-distance = #1.0
844 longtext longtext longtext longtext
845 longtext longtext longtext longtext
849 To make this change for all lyrics in the score, set the property in the
852 @lilypond[relative,verbatim,quote,ragged-right]
859 longtext longtext longtext longtext
860 longtext longtext longtext longtext
865 \override LyricSpace #'minimum-distance = #1.0
872 @node More about stanzas
873 @subsection More about stanzas
876 * Adding stanza numbers ::
877 * Adding dynamics marks::
878 * Adding singer names::
879 * Printing stanzas at the end ::
880 * Printing stanzas at the end in multiple columns ::
884 @node Adding stanza numbers
885 @subsubsection Adding stanza numbers
887 @cindex stanza number
889 Stanza numbers can be added by setting @code{stanza}, e.g.,
891 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
893 \time 3/4 g2 e4 a2 f4 g2.
899 Oh, ché -- ri, je t'aime
904 These numbers are put just before the start of the first syllable.
907 @node Adding dynamics marks
908 @subsubsection Adding dynamics marks
910 Stanzas differing in loudness may be indicated by putting a
911 dynamics mark before each stanza. In LilyPond, everything coming in
912 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
913 are no different. For technical reasons, you have to set the stanza
914 outside @code{\lyricmode}:
916 @lilypond[quote,ragged-right,verbatim]
918 \set stanza = \markup { \dynamic "ff" "1. " }
925 \new Voice = "tune" {
929 \new Lyrics \lyricsto "tune" \text
933 @node Adding singer names
934 @subsubsection Adding singer names
937 @cindex name of singer
939 Names of singers can also be added. They are printed at the start of
940 the line, just like instrument names. They are created by setting
941 @code{vocalName}. A short version may be entered as @code{shortVocalName}.
943 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
945 \time 3/4 g2 e4 a2 f4 g2.
947 \set vocalName = "Bert "
950 \set vocalName = "Ernie "
951 Oh, che -- ri, je t'aime
956 @node Printing stanzas at the end
957 @subsubsection Printing stanzas at the end
959 Sometimes it is appropriate to have one stanza set
960 to the music, and the rest added in verse form at
961 the end of the piece. This can be accomplished by adding
962 the extra verses into a @code{\markup} section outside
963 of the main score block. Notice that there are two
964 different ways to force linebreaks when using
967 @lilypond[ragged-right,verbatim,quote]
968 melody = \relative c' {
974 \set stanza = "1." Ma- ry had a lit- tle lamb,
975 its fleece was white as snow.
979 \new Voice = "one" { \melody }
980 \new Lyrics \lyricsto "one" \text
986 \line{ All the children laughed and played }
987 \line{ To see a lamb at school. }
994 Mary took it home again,
996 It was against the rule."
1001 @node Printing stanzas at the end in multiple columns
1002 @subsubsection Printing stanzas at the end in multiple columns
1004 When a piece of music has many verses, they are often printed in
1005 multiple columns across the page. An outdented verse number often
1006 introduces each verse. The following example shows how to produce such
1009 @lilypond[ragged-right,quote,verbatim]
1010 melody = \relative c' {
1015 \set stanza = "1." This is verse one.
1020 \new Voice = "one" { \melody }
1021 \new Lyrics \lyricsto "one" \text
1028 \hspace #0.1 % moves the column off the left margin; can be removed if
1029 % space on the page is tight
1033 "This is verse two."
1037 \hspace #0.1 % adds vertical spacing between verses
1040 "This is verse three."
1045 \hspace #0.1 % adds horizontal spacing between columns; if they are
1046 % still too close, add more " " pairs until the result
1051 "This is verse four."
1055 \hspace #0.1 % adds vertical spacing between verses
1058 "This is verse five."
1063 \hspace #0.1 % gives some extra space on the right margin; can
1064 % be removed if page space is tight
1072 Internals Reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
1073 @internalsref{VocalName}.
1075 @c TODO: stick elsewhere
1077 @n ode Other vocal issues
1078 @s ubsection Other vocal issues
1080 yeah, I'm giving up somewhat by stuffing a bunch of things in
1081 here. But at least they're in the manual now; it's easier to
1082 move them around in the manual once they're already here.
1084 Besides, if users complain about everything stuffed in here, I
1085 can ask them for specific instructions about where to move these
1086 examples, and that might get them more involved in the docs. -gp
1089 @q{Parlato} is spoken without pitch but still with rhythm; it is
1090 notated by cross note heads. This is demonstrated in
1091 @ref{Special note heads}.