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.
29 * Setting simple songs::
31 * Aligning lyrics to a melody::
32 * Working with lyrics and variables::
33 * Flexibility in placement::
35 * More about stanzas::
36 * Other vocal issues::
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 barlines as well, use
54 \consists "Bar_engraver"
55 \consists "Separating_line_group_engraver"
56 \override BarLine #'transparent = ##t
61 @node Setting simple songs
62 @subsection Setting simple songs
66 The easiest way to add lyrics to a melody is to append
69 \addlyrics @{ @var{the lyrics} @}
73 to a melody. Here is an example,
75 @lilypond[ragged-right,verbatim,fragment,quote]
77 \relative { c2 e4 g2. }
78 \addlyrics { play the game }
81 More stanzas can be added by adding more
82 @code{\addlyrics} sections
84 @lilypond[ragged-right,verbatim,fragment,quote]
86 \relative { c2 e4 g2. }
87 \addlyrics { play the game }
88 \addlyrics { speel het spel }
89 \addlyrics { joue le jeu }
92 The command @code{\addlyrics} cannot handle polyphony settings. For these
93 cases you should use @code{\lyricsto} and @code{\lyricmode}, as will be
94 introduced in @ref{Entering lyrics}.
99 @subsection Entering lyrics
104 @cindex spaces, in lyrics
105 @cindex quotes, in lyrics
107 Lyrics are entered in a special input mode, which can be introduced
108 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
109 @code{\lyricsto}. In this mode you can enter lyrics,
110 with punctuation and accents, and the input @code{d} is not parsed as
111 a pitch, but rather as a one letter syllable. Syllables are entered
112 like notes, but with pitches replaced by text. For example,
115 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
118 There are two main methods to specify the horizontal placement
119 of the syllables, either by specifying the duration of each syllable
120 explicitly, like in the example above, or by automatically aligning
121 the lyrics to a melody or other voice of music, using @code{\addlyrics}
124 @c For more details see @ref{The Lyrics context}.
126 A word or syllable of lyrics begins with an alphabetic character, and ends
128 any space or digit. The following characters can be any character
129 that is not a digit or white space.
131 Any character that is not a digit or white space will be regarded as
132 part of the syllable; one important consequence of this is that a word
133 can end with @code{@}}, which often leads to the following mistake:
136 \lyricmode @{ lah- lah@}
139 In this example, the @code{@}} is included in the final syllable, so the
140 opening brace is not balanced and the input file will probably not
144 @funindex \property in \lyricmode
147 Similarly, a period which follows an alphabetic sequence is included in
148 the resulting string. As a consequence, spaces must be inserted around
149 property commands: do @emph{not} write
152 \override Score.LyricText #'font-shape = #'italic
159 \override Score . LyricText #'font-shape = #'italic
163 @cindex spaces, in lyrics
164 @cindex quotes, in lyrics
165 @cindex ties, in lyrics
167 In order to assign more than one syllable to a single note, you can
168 surround them with quotes or use a @code{_} character, to get spaces
169 between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
171 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
173 \relative { c2 e4 g2 e4 }
174 \addlyrics { gran- de_a- mi- go }
175 \addlyrics { pu- "ro y ho-" nes- to }
176 \addlyrics { pu- ro~y~ho- nes- to }
179 The lyric tie is implemented with the Unicode character U+203F, so be
180 sure to have a font (Like DejaVuLGC) installed that includes this
184 To enter lyrics with characters from non-English languages, or with
185 accented and special characters (such as the heart symbol or slanted quotes),
186 simply insert the characters directly into the input file and save
187 it with utf-8 encoding. See @ref{Text encoding}, for more info.
189 @lilypond[quote,ragged-right,fragment,verbatim]
190 \relative { e4 f e d e f e2 }
191 \addlyrics { He said: “Let my peo ple goâ€
\9d. }
194 To use normal quotes in lyrics, add a backslash before the
197 @lilypond[quote,ragged-right,fragment,verbatim]
198 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
199 \addlyrics { "\"I" am so lone- "ly\"" said she }
202 The full definition of a word start in Lyrics mode is somewhat more
205 A word in Lyrics mode begins with: an alphabetic character, @code{_},
206 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
207 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
208 any 8-bit character with ASCII code over 127, or a two-character
209 combination of a backslash followed by one of @code{`}, @code{'},
210 @code{"}, or @code{^}.
212 To define variables containing lyrics, the function @code{lyricmode}
216 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
219 \new Voice = "one" \relative c'' @{
222 c4 b8. a16 g4. f8 e4 d c2
224 \addlyrics @{ \verseOne @}
232 Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
236 @node Aligning lyrics to a melody
237 @subsection Aligning lyrics to a melody
244 Lyrics are printed by interpreting them in the context called
245 @internalsref{Lyrics}.
248 \new Lyrics \lyricmode @dots{}
251 There are two main methods to specify the horizontal placement
256 by automatically aligning
257 the lyrics to a melody or other voice of music, using @code{\addlyrics}
261 or by specifying the duration of each syllable
262 explicitly, using @code{\lyricmode}
266 * Automatic syllable durations::
267 * Another way of entering lyrics::
268 * Assigning more than one syllable to a single note::
269 * More than one note on a single syllable::
270 * Extenders and hyphens::
273 @node Automatic syllable durations
274 @unnumberedsubsubsec Automatic syllable durations
276 @cindex automatic syllable durations
277 @cindex lyrics and melodies
279 The lyrics can be aligned under a given melody
280 automatically. This is achieved by combining the
281 melody and the lyrics with the @code{\lyricsto} expression
284 \new Lyrics \lyricsto @var{name} @dots{}
287 This aligns the lyrics to the
288 notes of the @internalsref{Voice} context called @var{name}, which must
289 already exist. Therefore normally the @code{Voice} is specified first, and
290 then the lyrics are specified with @code{\lyricsto}. The command
291 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
292 @code{\lyricmode} keyword may be omitted.
294 The following example uses different commands for entering lyrics.
296 @lilypond[quote,fragment,ragged-right,verbatim]
298 \new Voice = "one" \relative c'' {
301 c4 b8. a16 g4. f8 e4 d c2
303 \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
304 \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
305 \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
309 The second stanza is not properly aligned because the durations
310 were not specified. A solution for that would be to use @code{\lyricsto}.
312 The @code{\addlyrics} command is actually just a convenient way
313 to write a more complicated LilyPond structure that sets up the
318 \addlyrics @{ LYRICS @}
325 \new Voice = "blah" @{ music @}
326 \new Lyrics \lyricsto "blah" @{ LYRICS @}
329 @node Another way of entering lyrics
330 @unnumberedsubsubsec Another way of entering lyrics
332 Lyrics can also be entered without @code{\addlyrics} or
333 @code{\lyricsto}. In this case,
334 syllables are entered like notes -- but with pitches replaced by text -- and the
335 duration of each syllable must be entered explicitly. For example:
342 The alignment to a melody can be specified with the
343 @code{associatedVoice} property,
346 \set associatedVoice = #"lala"
350 The value of the property (here: @code{"lala"}) should be the name of
351 a @internalsref{Voice} context. Without this setting, extender lines
352 will not be formatted properly.
354 Here is an example demonstrating manual lyric durations,
356 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
357 << \new Voice = "melody" {
361 \new Lyrics \lyricmode {
362 \set associatedVoice = #"melody"
369 Internals Reference: @internalsref{Lyrics}.
372 @node Assigning more than one syllable to a single note
373 @unnumberedsubsubsec Assigning more than one syllable to a single note
377 @cindex ties, in lyrics
379 In order to assign more than one syllable to a single note, you can
380 surround them with quotes or use a @code{_} character, to get spaces
381 between syllables, or use tilde symbol (@code{~}) to get a lyric
382 tie@footnote{The lyric ties is implemented with the Unicode character
384 sure to have a font (Like DejaVuLGC) installed that includes this
387 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
389 \relative { c2 e4 g2 e4 }
390 \addlyrics { gran- de_a- mi- go }
391 \addlyrics { pu- "ro y ho-" nes- to }
392 \addlyrics { pu- ro~y~ho- nes- to }
397 Internals Reference: @internalsref{LyricCombineMusic}.
399 @c Here come the section which used to be "Melismata"
400 @c the new title might be more self-explanatory
403 @node More than one note on a single syllable
404 @unnumberedsubsubsec More than one note on a single syllable
408 @cindex phrasing, in lyrics
410 Sometimes, particularly in Medieval music, several notes are to be sung on one
411 single syllable; such vocalises are called melismas, or melismata.
413 @c this method seems to be the simplest; therefore
414 @c it might be better to present it first - vv
416 You can define melismata entirely in the lyrics, by entering @code{_}
418 that is part of the melisma.
420 @lilypond[relative=1,verbatim,fragment,quote]
421 { \set melismaBusyProperties = #'()
422 c d( e) f f( e) e e }
424 { Ky -- _ _ ri __ _ _ _ e }
427 In this case, you can also have ties and slurs in the melody if you
428 set @code{melismaBusyProperties}, as is done in the example above.
430 However, the @code{\lyricsto} command can also
431 detect melismata automatically: it only puts one
432 syllable under a tied or slurred group of notes. If you want to force
433 an unslurred group of notes to be a melisma, insert @code{\melisma}
434 after the first note of the group, and @code{\melismaEnd} after the
437 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
439 \new Voice = "lala" {
447 \new Lyrics \lyricsto "lala" {
453 In addition, notes are considered a melisma if they are manually
454 beamed, and automatic beaming (see @ref{Setting automatic beam
455 behavior}) is switched off.
457 @c TODO: there might be some more relevant place for
458 @c the following link (?)
463 A complete example of a SATB score setup is in section
464 @rlearning{Vocal ensembles}.
469 @code{\melisma}, @code{\melismaEnd}
470 @funindex \melismaEnd
475 Internals Reference: @internalsref{Melisma_translator}.
477 @lsr{vocal,lyric@/-combine.ly}.
481 Melismata are not detected automatically, and extender lines must be
484 @node Extenders and hyphens
485 @unnumberedsubsubsec Extenders and hyphens
490 Melismata are indicated with a horizontal line centered between a syllable
491 and the next one. Such a line is called an extender line, and it is entered
492 as @samp{ __ } (note the spaces before and after the two underscore
497 Centered hyphens are entered as @samp{ -- } between syllables of a same word
498 (note the spaces before and after the two hyphen characters). The hyphen
499 will be centered between the syllables, and its length will be adjusted
500 depending on the space between the syllables.
502 In tighly engraved music, hyphens can be removed. Whether this
503 happens can be controlled with the @code{minimum-distance} (minimum
504 distance between two syllables) and the @code{minimum-length}
505 (threshold below which hyphens are removed).
509 Internals Reference: @internalsref{LyricExtender},
510 @internalsref{LyricHyphen}
513 @node Working with lyrics and variables
514 @subsection Working with lyrics and variables
515 @cindex lyrics, variables
517 To define variables containing lyrics, the function @code{\lyricmode}
518 must be used. You do not have to enter durations though, if you add
519 @code{\addlyrics} or @code{\lyricsto}
520 when invoking your variable.
523 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
526 \new Voice = "one" \relative c'' @{
529 c4 b8. a16 g4. f8 e4 d c2
531 \addlyrics @{ \verseOne @}
536 For different or more complex orderings, the best way is to setup the
537 hierarchy of staves and lyrics first, e.g.,
540 \new Voice = "soprano" @{ @emph{music} @}
541 \new Lyrics = "sopranoLyrics" @{ s1 @}
542 \new Lyrics = "tenorLyrics" @{ s1 @}
543 \new Voice = "tenor" @{ @emph{music} @}
547 and then combine the appropriate melodies and lyric lines
550 \context Lyrics = sopranoLyrics \lyricsto "soprano"
556 The final input would resemble
559 <<\new ChoirStaff << @emph{setup the music} >>
560 \lyricsto "soprano" @emph{etc}
561 \lyricsto "alto" @emph{etc}
568 @c TODO: document \new Staff << Voice \lyricsto >> bug
569 Internals Reference: @internalsref{LyricCombineMusic},
570 @internalsref{Lyrics}.
573 @node Flexibility in placement
574 @subsection Flexibility in placement
576 Often, different stanzas of one song are put to one melody in slightly
577 differing ways. Such variations can still be captured with
581 * Lyrics to multiple notes of a melisma::
583 * Switching the melody associated with a lyrics line::
584 * Lyrics independent of notes::
588 @node Lyrics to multiple notes of a melisma
589 @unnumberedsubsubsec Lyrics to multiple notes of a melisma
591 One possibility is that the text has a melisma in one stanza, but
592 multiple syllables in another one. One solution is to make the faster
593 voice ignore the melisma. This is done by setting
594 @code{ignoreMelismata} in the Lyrics context.
596 There is one tricky aspect: the setting for @code{ignoreMelismata}
597 must be set one syllable @emph{before} the non-melismatic syllable
598 in the text, as shown here,
600 @c TODO: breaks compile
601 @lilypond[verbatim,ragged-right,quote]
604 \relative \new Voice = "lahlah" {
605 \set Staff.autoBeaming = ##f
611 \new Lyrics \lyricsto "lahlah" {
614 \new Lyrics \lyricsto "lahlah" {
615 \set ignoreMelismata = ##t % applies to "fas"
617 \unset ignoreMelismata
625 The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
626 should be entered before @q{go}.
628 The reverse is also possible: making a lyric line slower than the
629 standard. This can be achieved by insert @code{\skip}s into the
630 lyrics. For every @code{\skip}, the text will be delayed another note.
633 @lilypond[verbatim,ragged-right,quote]
643 @unnumberedsubsubsec Divisi lyrics
645 You can display alternate (or divisi) lyrics by naming voice
646 contexts and attaching lyrics to those specific contexts.
648 @lilypond[verbatim,ragged-right,quote]
650 \new Voice = "melody" {
655 \new Voice = "splitpart" { \voiceTwo c4 }
660 \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
661 \new Lyrics \lyricsto "splitpart" { will }
666 You can use this trick to display different lyrics for a repeated
669 @lilypond[verbatim,ragged-right,quote]
671 \new Voice = "melody" \relative c' {
673 \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
675 \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
678 \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
680 \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
681 dodo rere mimi fafa solsol }
688 @node Switching the melody associated with a lyrics line
689 @unnumberedsubsubsec Switching the melody associated with a lyrics line
691 More complex variations in text underlay are possible. It is possible
692 to switch the melody for a line of lyrics during the text. This is
693 done by setting the @code{associatedVoice} property. In the example
695 @lilypond[ragged-right,quote]
697 \relative \new Voice = "lahlah" {
698 \set Staff.autoBeaming = ##f
701 \new Voice = "alternative" {
704 % show associations clearly.
705 \override NoteColumn #'force-hshift = #-3
716 \new Lyrics \lyricsto "lahlah" {
717 Ju -- ras -- sic Park
719 \new Lyrics \lyricsto "lahlah" {
720 % Tricky: need to set associatedVoice
721 % one syllable too soon!
722 \set associatedVoice = alternative % applies to "ran"
726 \set associatedVoice = lahlah % applies to "rus"
732 the text for the first stanza is set to a melody called @q{lahlah},
735 \new Lyrics \lyricsto "lahlah" @{
736 Ju -- ras -- sic Park
741 The second stanza initially is set to the @code{lahlah} context, but
742 for the syllable @q{ran}, it switches to a different melody.
743 This is achieved with
745 \set associatedVoice = alternative
749 Here, @code{alternative} is the name of the @code{Voice} context
750 containing the triplet.
752 Again, the command must be one syllable too early, before @q{Ty} in
756 \new Lyrics \lyricsto "lahlah" @{
757 \set associatedVoice = alternative % applies to "ran"
761 \set associatedVoice = lahlah % applies to "rus"
767 The underlay is switched back to the starting situation by assigning
768 @code{lahlah} to @code{associatedVoice}.
771 @node Lyrics independent of notes
772 @unnumberedsubsubsec Lyrics independent of notes
774 In some complex vocal music, it may be desirable to place
775 lyrics completely independently of notes. Music defined
776 inside @code{lyricrhythm} disappears into the
777 @code{Devnull} context, but the rhythms can still be used
780 @lilypond[quote,verbatim,ragged-right]
783 \tag #'music { c''2 }
784 \tag #'lyricrhythm { c''4. c''8 }
788 lyr = \lyricmode { I like my cat! }
791 \new Staff \keepWithTag #'music \voice
792 \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
793 \new Lyrics \lyricsto "nowhere" \lyr
794 \new Staff { c'8 c' c' c' c' c' c' c'
795 c' c' c' c' c' c' c' c' }
801 @subsection Spacing lyrics
803 @cindex Spacing lyrics
804 @cindex Lyrics, increasing space between
806 To increase the spacing between lyrics, set the minimum-distance property of
809 @lilypond[relative,verbatim,fragment,quote,ragged-right]
812 \override Lyrics.LyricSpace #'minimum-distance = #1.0
816 longtext longtext longtext longtext
817 longtext longtext longtext longtext
821 To make this change for all lyrics in the score, set the property in the
824 @lilypond[relative,verbatim,quote,ragged-right]
831 longtext longtext longtext longtext
832 longtext longtext longtext longtext
837 \override LyricSpace #'minimum-distance = #1.0
844 @node More about stanzas
845 @subsection More about stanzas
847 @cindex stanza number
848 @unnumberedsubsubsec Adding stanza numbers
850 Stanza numbers can be added by setting @code{stanza}, e.g.,
852 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
854 \time 3/4 g2 e4 a2 f4 g2.
860 Oh, ché -- ri, je t'aime
865 These numbers are put just before the start of the first syllable.
868 @unnumberedsubsubsec Adding dynamics marks
870 Stanzas differing in loudness may be indicated by putting a
871 dynamics mark before each stanza. In Lilypond, everthing coming in
872 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
873 are no different. For technical reasons, you have to set the stanza
874 outside @code{\lyricmode}:
876 @lilypond[quote,ragged-right,verbatim]
878 \set stanza = \markup { \dynamic "ff" "1. " }
885 \new Voice = "tune" {
889 \new Lyrics \lyricsto "tune" \text
894 @cindex name of singer
895 @unnumberedsubsubsec Adding singer names
897 Names of singers can also be added. They are printed at the start of
898 the line, just like instrument names. They are created by setting
899 @code{vocalName}. A short version may be entered as @code{shortVocalName}.
901 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
903 \time 3/4 g2 e4 a2 f4 g2.
905 \set vocalName = "Bert "
908 \set vocalName = "Ernie "
909 Oh, che -- ri, je t'aime
914 @unnumberedsubsubsec Printing stanzas at the end
916 Sometimes it is appropriate to have one stanza set
917 to the music, and the rest added in verse form at
918 the end of the piece. This can be accomplished by adding
919 the extra verses into a @code{\markup} section outside
920 of the main score block. Notice that there are two
921 different ways to force linebreaks when using
924 @lilypond[ragged-right,verbatim,quote]
925 melody = \relative c' {
931 \set stanza = "1." Ma- ry had a lit- tle lamb,
932 its fleece was white as snow.
936 \new Voice = "one" { \melody }
937 \new Lyrics \lyricsto "one" \text
943 \line{ All the children laughed and played }
944 \line{ To see a lamb at school. }
951 Mary took it home again,
953 It was against the rule."
958 @unnumberedsubsubsec Printing stanzas at the end in multiple columns
960 When a piece of music has many verses, they are often printed in
961 multiple columns across the page. An outdented verse number often
962 introduces each verse. The following example shows how to produce such
965 @lilypond[ragged-right,quote,verbatim]
966 melody = \relative c' {
971 \set stanza = "1." This is verse one.
976 \new Voice = "one" { \melody }
977 \new Lyrics \lyricsto "one" \text
984 \hspace #0.1 % moves the column off the left margin; can be removed if
985 % space on the page is tight
993 \hspace #0.1 % adds vertical spacing between verses
996 "This is verse three."
1001 \hspace #0.1 % adds horizontal spacing between columns; if they are
1002 % still too close, add more " " pairs until the result
1007 "This is verse four."
1011 \hspace #0.1 % adds vertical spacing between verses
1014 "This is verse five."
1019 \hspace #0.1 % gives some extra space on the right margin; can
1020 % be removed if page space is tight
1028 Internals Reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
1029 @internalsref{VocalName}.
1033 @node Other vocal issues
1034 @subsection Other vocal issues
1037 yeah, I'm giving up somewhat by stuffing a bunch of things in
1038 here. But at least they're in the manual now; it's easier to
1039 move them around in the manual once they're already here.
1041 Besides, if users complain about everything stuffed in here, I
1042 can ask them for specific instructions about where to move these
1043 examples, and that might get them more involved in the docs. -gp
1046 @q{Parlato} is spoken without pitch but still with rhythm; it is
1047 notated by cross noteheads. This is demonstrated in
1048 @ref{Special noteheads}.