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 bar lines as well, use
53 \consists "Bar_engraver"
54 \consists "Separating_line_group_engraver"
55 \override BarLine #'transparent = ##t
62 @subsection Simple lyrics
65 * Setting simple songs::
69 @node Setting simple songs
70 @unnumberedsubsubsec Setting simple songs
74 The easiest way to add lyrics to a melody is to append
77 \addlyrics @{ @var{the lyrics} @}
81 to a melody. Here is an example,
83 @lilypond[ragged-right,verbatim,fragment,quote]
85 \relative { c2 e4 g2. }
86 \addlyrics { play the game }
89 More stanzas can be added by adding more
90 @code{\addlyrics} sections
92 @lilypond[ragged-right,verbatim,fragment,quote]
94 \relative { c2 e4 g2. }
95 \addlyrics { play the game }
96 \addlyrics { speel het spel }
97 \addlyrics { joue le jeu }
100 The command @code{\addlyrics} cannot handle polyphony settings. For these
101 cases you should use @code{\lyricsto} and @code{\lyricmode}, as will be
102 introduced in @ref{Entering lyrics}.
106 @node Entering lyrics
107 @unnumberedsubsubsec Entering lyrics
112 @cindex spaces, in lyrics
113 @cindex quotes, in lyrics
115 Lyrics are entered in a special input mode, which can be introduced
116 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
117 @code{\lyricsto}. In this mode you can enter lyrics,
118 with punctuation and accents, and the input @code{d} is not parsed as
119 a pitch, but rather as a one letter syllable. Syllables are entered
120 like notes, but with pitches replaced by text. For example,
123 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
126 There are two main methods to specify the horizontal placement
127 of the syllables, either by specifying the duration of each syllable
128 explicitly, like in the example above, or by automatically aligning
129 the lyrics to a melody or other voice of music, using @code{\addlyrics}
132 @c For more details see @ref{The Lyrics context}.
134 A word or syllable of lyrics begins with an alphabetic character, and ends
136 any space or digit. The following characters can be any character
137 that is not a digit or white space.
139 Any character that is not a digit or white space will be regarded as
140 part of the syllable; one important consequence of this is that a word
141 can end with @code{@}}, which often leads to the following mistake:
144 \lyricmode @{ lah- lah@}
147 In this example, the @code{@}} is included in the final syllable, so the
148 opening brace is not balanced and the input file will probably not
152 @funindex \property in \lyricmode
155 Similarly, a period which follows an alphabetic sequence is included in
156 the resulting string. As a consequence, spaces must be inserted around
157 property commands: do @emph{not} write
160 \override Score.LyricText #'font-shape = #'italic
167 \override Score . LyricText #'font-shape = #'italic
171 @cindex spaces, in lyrics
172 @cindex quotes, in lyrics
173 @cindex ties, in lyrics
175 In order to assign more than one syllable to a single note, you can
176 surround them with quotes or use a @code{_} character, to get spaces
177 between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
179 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
181 \relative { c2 e4 g2 e4 }
182 \addlyrics { gran- de_a- mi- go }
183 \addlyrics { pu- "ro y ho-" nes- to }
184 \addlyrics { pu- ro~y~ho- nes- to }
187 The lyric tie is implemented with the Unicode character U+203F, so be
188 sure to have a font (Like DejaVuLGC) installed that includes this
192 To enter lyrics with characters from non-English languages, or with
193 accented and special characters (such as the heart symbol or slanted quotes),
194 simply insert the characters directly into the input file and save
195 it with utf-8 encoding. See @ref{Text encoding}, for more info.
199 @lilypond[quote,ragged-right,fragment,verbatim]
200 \relative { e4 f e d e f e2 }
201 \addlyrics { He said: “Let my peo ple goâ€
\9d. }
204 To use normal quotes in lyrics, add a backslash before the
207 @lilypond[quote,ragged-right,fragment,verbatim]
208 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
209 \addlyrics { "\"I" am so lone- "ly\"" said she }
212 The full definition of a word start in Lyrics mode is somewhat more
215 A word in Lyrics mode begins with: an alphabetic character, @code{_},
216 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
217 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
218 any 8-bit character with ASCII code over 127, or a two-character
219 combination of a backslash followed by one of @code{`}, @code{'},
220 @code{"}, or @code{^}.
222 To define variables containing lyrics, the function @code{lyricmode}
226 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
229 \new Voice = "one" \relative c'' @{
232 c4 b8. a16 g4. f8 e4 d c2
234 \addlyrics @{ \verseOne @}
242 Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
245 @node Aligning lyrics to a melody
246 @subsection Aligning lyrics to a melody
253 Lyrics are printed by interpreting them in the context called
254 @internalsref{Lyrics}.
257 \new Lyrics \lyricmode @dots{}
260 There are two main methods to specify the horizontal placement
265 by automatically aligning
266 the lyrics to a melody or other voice of music, using @code{\addlyrics}
270 or by specifying the duration of each syllable
271 explicitly, using @code{\lyricmode}
275 * Automatic syllable durations::
276 * Another way of entering lyrics::
277 * Assigning more than one syllable to a single note::
278 * More than one note on a single syllable::
279 * Extenders and hyphens::
282 @node Automatic syllable durations
283 @unnumberedsubsubsec Automatic syllable durations
285 @cindex automatic syllable durations
286 @cindex lyrics and melodies
288 The lyrics can be aligned under a given melody
289 automatically. This is achieved by combining the
290 melody and the lyrics with the @code{\lyricsto} expression
293 \new Lyrics \lyricsto @var{name} @dots{}
296 This aligns the lyrics to the
297 notes of the @internalsref{Voice} context called @var{name}, which must
298 already exist. Therefore normally the @code{Voice} is specified first, and
299 then the lyrics are specified with @code{\lyricsto}. The command
300 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
301 @code{\lyricmode} keyword may be omitted.
303 The following example uses different commands for entering lyrics.
305 @lilypond[quote,fragment,ragged-right,verbatim]
307 \new Voice = "one" \relative c'' {
310 c4 b8. a16 g4. f8 e4 d c2
312 \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
313 \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
314 \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
318 The second stanza is not properly aligned because the durations
319 were not specified. A solution for that would be to use @code{\lyricsto}.
321 The @code{\addlyrics} command is actually just a convenient way
322 to write a more complicated LilyPond structure that sets up the
327 \addlyrics @{ LYRICS @}
334 \new Voice = "blah" @{ music @}
335 \new Lyrics \lyricsto "blah" @{ LYRICS @}
338 @node Another way of entering lyrics
339 @unnumberedsubsubsec Another way of entering lyrics
341 Lyrics can also be entered without @code{\addlyrics} or
342 @code{\lyricsto}. In this case,
343 syllables are entered like notes -- but with pitches replaced by text -- and the
344 duration of each syllable must be entered explicitly. For example:
351 The alignment to a melody can be specified with the
352 @code{associatedVoice} property,
355 \set associatedVoice = #"lala"
359 The value of the property (here: @code{"lala"}) should be the name of
360 a @internalsref{Voice} context. Without this setting, extender lines
361 will not be formatted properly.
363 Here is an example demonstrating manual lyric durations,
365 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
366 << \new Voice = "melody" {
370 \new Lyrics \lyricmode {
371 \set associatedVoice = #"melody"
378 Internals Reference: @internalsref{Lyrics}.
381 @node Assigning more than one syllable to a single note
382 @unnumberedsubsubsec Assigning more than one syllable to a single note
386 @cindex ties, in lyrics
388 In order to assign more than one syllable to a single note, you can
389 surround them with quotes or use a @code{_} character, to get spaces
390 between syllables, or use tilde symbol (@code{~}) to get a lyric
391 tie@footnote{The lyric ties is implemented with the Unicode character
393 sure to have a font (Like DejaVuLGC) installed that includes this
396 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
398 \relative { c2 e4 g2 e4 }
399 \addlyrics { gran- de_a- mi- go }
400 \addlyrics { pu- "ro y ho-" nes- to }
401 \addlyrics { pu- ro~y~ho- nes- to }
406 Internals Reference: @internalsref{LyricCombineMusic}.
408 @c Here come the section which used to be "Melismata"
409 @c the new title might be more self-explanatory
412 @node More than one note on a single syllable
413 @unnumberedsubsubsec More than one note on a single syllable
417 @cindex phrasing, in lyrics
419 Sometimes, particularly in Medieval music, several notes are to be sung on one
420 single syllable; such vocalises are called melismas, or melismata.
422 @c this method seems to be the simplest; therefore
423 @c it might be better to present it first - vv
425 You can define melismata entirely in the lyrics, by entering @code{_}
427 that is part of the melisma.
429 @lilypond[relative=1,verbatim,fragment,quote]
430 { \set melismaBusyProperties = #'()
431 c d( e) f f( e) e e }
433 { Ky -- _ _ ri __ _ _ _ e }
436 In this case, you can also have ties and slurs in the melody if you
437 set @code{melismaBusyProperties}, as is done in the example above.
439 However, the @code{\lyricsto} command can also
440 detect melismata automatically: it only puts one
441 syllable under a tied or slurred group of notes. If you want to force
442 an unslurred group of notes to be a melisma, insert @code{\melisma}
443 after the first note of the group, and @code{\melismaEnd} after the
446 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
448 \new Voice = "lala" {
456 \new Lyrics \lyricsto "lala" {
462 In addition, notes are considered a melisma if they are manually
463 beamed, and automatic beaming (see @ref{Setting automatic beam
464 behavior}) is switched off.
466 @c TODO: there might be some more relevant place for
467 @c the following link (?)
472 A complete example of a SATB score setup is in section
473 @rlearning{Vocal ensembles}.
478 @code{\melisma}, @code{\melismaEnd}
479 @funindex \melismaEnd
484 Internals Reference: @internalsref{Melisma_translator}.
486 @lsr{vocal,lyric@/-combine.ly}.
490 Melismata are not detected automatically, and extender lines must be
493 @node Extenders and hyphens
494 @unnumberedsubsubsec Extenders and hyphens
499 @c leave this as samp. -gp
500 Melismata are indicated with a horizontal line centered between a syllable
501 and the next one. Such a line is called an extender line, and it is entered
502 as @samp{ __ } (note the spaces before and after the two underscore
507 @c leave this as samp. -gp
508 Centered hyphens are entered as @samp{ -- } between syllables of a same word
509 (note the spaces before and after the two hyphen characters). The hyphen
510 will be centered between the syllables, and its length will be adjusted
511 depending on the space between the syllables.
513 In tighly engraved music, hyphens can be removed. Whether this
514 happens can be controlled with the @code{minimum-distance} (minimum
515 distance between two syllables) and the @code{minimum-length}
516 (threshold below which hyphens are removed).
520 Internals Reference: @internalsref{LyricExtender},
521 @internalsref{LyricHyphen}
524 @node Vocals and variables
525 @subsection Vocals and variables
528 * Working with lyrics and variables::
531 @node Working with lyrics and variables
532 @unnumberedsubsubsec Working with lyrics and variables
534 @cindex lyrics, variables
536 To define variables containing lyrics, the function @code{\lyricmode}
537 must be used. You do not have to enter durations though, if you add
538 @code{\addlyrics} or @code{\lyricsto}
539 when invoking your variable.
542 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
545 \new Voice = "one" \relative c'' @{
548 c4 b8. a16 g4. f8 e4 d c2
550 \addlyrics @{ \verseOne @}
555 For different or more complex orderings, the best way is to setup the
556 hierarchy of staves and lyrics first, e.g.,
559 \new Voice = "soprano" @{ @emph{music} @}
560 \new Lyrics = "sopranoLyrics" @{ s1 @}
561 \new Lyrics = "tenorLyrics" @{ s1 @}
562 \new Voice = "tenor" @{ @emph{music} @}
566 and then combine the appropriate melodies and lyric lines
569 \context Lyrics = sopranoLyrics \lyricsto "soprano"
575 The final input would resemble
578 <<\new ChoirStaff << @emph{setup the music} >>
579 \lyricsto "soprano" @emph{etc}
580 \lyricsto "alto" @emph{etc}
587 @c TODO: document \new Staff << Voice \lyricsto >> bug
588 Internals Reference: @internalsref{LyricCombineMusic},
589 @internalsref{Lyrics}.
592 @node Flexibility in placement
593 @subsection Flexibility in placement
595 Often, different stanzas of one song are put to one melody in slightly
596 differing ways. Such variations can still be captured with
600 * Lyrics to multiple notes of a melisma::
602 * Switching the melody associated with a lyrics line::
603 * Lyrics independent of notes::
607 @node Lyrics to multiple notes of a melisma
608 @unnumberedsubsubsec Lyrics to multiple notes of a melisma
610 One possibility is that the text has a melisma in one stanza, but
611 multiple syllables in another one. One solution is to make the faster
612 voice ignore the melisma. This is done by setting
613 @code{ignoreMelismata} in the Lyrics context.
615 There is one tricky aspect: the setting for @code{ignoreMelismata}
616 must be set one syllable @emph{before} the non-melismatic syllable
617 in the text, as shown here,
619 @c TODO: breaks compile
620 @lilypond[verbatim,ragged-right,quote]
623 \relative \new Voice = "lahlah" {
624 \set Staff.autoBeaming = ##f
630 \new Lyrics \lyricsto "lahlah" {
633 \new Lyrics \lyricsto "lahlah" {
634 \set ignoreMelismata = ##t % applies to "fas"
636 \unset ignoreMelismata
644 The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
645 should be entered before @q{go}.
647 The reverse is also possible: making a lyric line slower than the
648 standard. This can be achieved by insert @code{\skip}s into the
649 lyrics. For every @code{\skip}, the text will be delayed another note.
652 @lilypond[verbatim,ragged-right,quote]
662 @unnumberedsubsubsec Divisi lyrics
664 You can display alternate (or divisi) lyrics by naming voice
665 contexts and attaching lyrics to those specific contexts.
667 @lilypond[verbatim,ragged-right,quote]
669 \new Voice = "melody" {
674 \new Voice = "splitpart" { \voiceTwo c4 }
679 \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
680 \new Lyrics \lyricsto "splitpart" { will }
685 You can use this trick to display different lyrics for a repeated
688 @lilypond[verbatim,ragged-right,quote]
690 \new Voice = "melody" \relative c' {
692 \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
694 \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
697 \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
699 \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
700 dodo rere mimi fafa solsol }
707 @node Switching the melody associated with a lyrics line
708 @unnumberedsubsubsec Switching the melody associated with a lyrics line
710 More complex variations in text underlay are possible. It is possible
711 to switch the melody for a line of lyrics during the text. This is
712 done by setting the @code{associatedVoice} property. In the example
714 @lilypond[ragged-right,quote]
716 \relative \new Voice = "lahlah" {
717 \set Staff.autoBeaming = ##f
720 \new Voice = "alternative" {
723 % show associations clearly.
724 \override NoteColumn #'force-hshift = #-3
735 \new Lyrics \lyricsto "lahlah" {
736 Ju -- ras -- sic Park
738 \new Lyrics \lyricsto "lahlah" {
739 % Tricky: need to set associatedVoice
740 % one syllable too soon!
741 \set associatedVoice = alternative % applies to "ran"
745 \set associatedVoice = lahlah % applies to "rus"
751 the text for the first stanza is set to a melody called @q{lahlah},
754 \new Lyrics \lyricsto "lahlah" @{
755 Ju -- ras -- sic Park
760 The second stanza initially is set to the @code{lahlah} context, but
761 for the syllable @q{ran}, it switches to a different melody.
762 This is achieved with
764 \set associatedVoice = alternative
768 Here, @code{alternative} is the name of the @code{Voice} context
769 containing the triplet.
771 Again, the command must be one syllable too early, before @q{Ty} in
775 \new Lyrics \lyricsto "lahlah" @{
776 \set associatedVoice = alternative % applies to "ran"
780 \set associatedVoice = lahlah % applies to "rus"
786 The underlay is switched back to the starting situation by assigning
787 @code{lahlah} to @code{associatedVoice}.
790 @node Lyrics independent of notes
791 @unnumberedsubsubsec Lyrics independent of notes
793 In some complex vocal music, it may be desirable to place
794 lyrics completely independently of notes. Music defined
795 inside @code{lyricrhythm} disappears into the
796 @code{Devnull} context, but the rhythms can still be used
799 @lilypond[quote,verbatim,ragged-right]
802 \tag #'music { c''2 }
803 \tag #'lyricrhythm { c''4. c''8 }
807 lyr = \lyricmode { I like my cat! }
810 \new Staff \keepWithTag #'music \voice
811 \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
812 \new Lyrics \lyricsto "nowhere" \lyr
813 \new Staff { c'8 c' c' c' c' c' c' c'
814 c' c' c' c' c' c' c' c' }
820 @subsection Spacing vocals
827 @unnumberedsubsubsec Spacing lyrics
829 @cindex Spacing lyrics
830 @cindex Lyrics, increasing space between
832 To increase the spacing between lyrics, set the minimum-distance property of
835 @lilypond[relative,verbatim,fragment,quote,ragged-right]
838 \override Lyrics.LyricSpace #'minimum-distance = #1.0
842 longtext longtext longtext longtext
843 longtext longtext longtext longtext
847 To make this change for all lyrics in the score, set the property in the
850 @lilypond[relative,verbatim,quote,ragged-right]
857 longtext longtext longtext longtext
858 longtext longtext longtext longtext
863 \override LyricSpace #'minimum-distance = #1.0
870 @node More about stanzas
871 @subsection More about stanzas
874 * Adding stanza numbers ::
875 * Adding dynamics marks::
876 * Adding singer names::
877 * Printing stanzas at the end ::
878 * Printing stanzas at the end in multiple columns ::
882 @node Adding stanza numbers
883 @unnumberedsubsubsec Adding stanza numbers
885 @cindex stanza number
887 Stanza numbers can be added by setting @code{stanza}, e.g.,
889 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
891 \time 3/4 g2 e4 a2 f4 g2.
897 Oh, ché -- ri, je t'aime
902 These numbers are put just before the start of the first syllable.
905 @node Adding dynamics marks
906 @unnumberedsubsubsec Adding dynamics marks
908 Stanzas differing in loudness may be indicated by putting a
909 dynamics mark before each stanza. In Lilypond, everthing coming in
910 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
911 are no different. For technical reasons, you have to set the stanza
912 outside @code{\lyricmode}:
914 @lilypond[quote,ragged-right,verbatim]
916 \set stanza = \markup { \dynamic "ff" "1. " }
923 \new Voice = "tune" {
927 \new Lyrics \lyricsto "tune" \text
931 @node Adding singer names
932 @unnumberedsubsubsec Adding singer names
935 @cindex name of singer
937 Names of singers can also be added. They are printed at the start of
938 the line, just like instrument names. They are created by setting
939 @code{vocalName}. A short version may be entered as @code{shortVocalName}.
941 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
943 \time 3/4 g2 e4 a2 f4 g2.
945 \set vocalName = "Bert "
948 \set vocalName = "Ernie "
949 Oh, che -- ri, je t'aime
954 @node Printing stanzas at the end
955 @unnumberedsubsubsec Printing stanzas at the end
957 Sometimes it is appropriate to have one stanza set
958 to the music, and the rest added in verse form at
959 the end of the piece. This can be accomplished by adding
960 the extra verses into a @code{\markup} section outside
961 of the main score block. Notice that there are two
962 different ways to force linebreaks when using
965 @lilypond[ragged-right,verbatim,quote]
966 melody = \relative c' {
972 \set stanza = "1." Ma- ry had a lit- tle lamb,
973 its fleece was white as snow.
977 \new Voice = "one" { \melody }
978 \new Lyrics \lyricsto "one" \text
984 \line{ All the children laughed and played }
985 \line{ To see a lamb at school. }
992 Mary took it home again,
994 It was against the rule."
999 @node Printing stanzas at the end in multiple columns
1000 @unnumberedsubsubsec Printing stanzas at the end in multiple columns
1002 When a piece of music has many verses, they are often printed in
1003 multiple columns across the page. An outdented verse number often
1004 introduces each verse. The following example shows how to produce such
1007 @lilypond[ragged-right,quote,verbatim]
1008 melody = \relative c' {
1013 \set stanza = "1." This is verse one.
1018 \new Voice = "one" { \melody }
1019 \new Lyrics \lyricsto "one" \text
1026 \hspace #0.1 % moves the column off the left margin; can be removed if
1027 % space on the page is tight
1031 "This is verse two."
1035 \hspace #0.1 % adds vertical spacing between verses
1038 "This is verse three."
1043 \hspace #0.1 % adds horizontal spacing between columns; if they are
1044 % still too close, add more " " pairs until the result
1049 "This is verse four."
1053 \hspace #0.1 % adds vertical spacing between verses
1056 "This is verse five."
1061 \hspace #0.1 % gives some extra space on the right margin; can
1062 % be removed if page space is tight
1070 Internals Reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
1071 @internalsref{VocalName}.
1073 @c TODO: stick elsewhere
1075 @n ode Other vocal issues
1076 @s ubsection Other vocal issues
1078 yeah, I'm giving up somewhat by stuffing a bunch of things in
1079 here. But at least they're in the manual now; it's easier to
1080 move them around in the manual once they're already here.
1082 Besides, if users complain about everything stuffed in here, I
1083 can ask them for specific instructions about where to move these
1084 examples, and that might get them more involved in the docs. -gp
1087 @q{Parlato} is spoken without pitch but still with rhythm; it is
1088 notated by cross noteheads. This is demonstrated in
1089 @ref{Special noteheads}.