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 @c TODO: inspirational headword
16 This section explains how to typeset vocal music, and make sure
17 that the lyrics will be aligned with the notes of their melody.
20 * Common notation for vocal music::
22 * Aligning lyrics to a melody::
23 * Specific uses of lyrics::
28 @node Common notation for vocal music
29 @subsection Common notation for vocal music
31 This section discusses issues related to vocal music in general, and
32 to some particular styles of vocal music.
35 * References for vocal music and lyrics::
40 * Ancient vocal music::
44 @node References for vocal music and lyrics
45 @unnumberedsubsubsec References for vocal music and lyrics
47 @c TODO: split this section in two parts? -vv
49 Various issues may arise when engraving vocal music. Some of these
50 are discussed in this section, while others are explained elsewhere:
54 Most styles of vocal music use written text as lyrics. An introduction
55 to this notation is to be found in @rlearning{Setting simple songs}.
58 Vocal music is likely to require the use of @code{markup} mode, either
59 for lyrics of for other text elements (character's names, etc.).
60 This syntax is described in @ref{Text markup introduction}.
63 Lead sheets may be printed by combining vocal parts and @q{chord mode};
64 this syntax is explained in @ref{Chord notation}.
67 @q{Ambitus} may be added at the beginning of vocal staves, as explained
71 Vocal parts may be printed using traditional clefs, as shown in @ref{Clef}.
74 Ancient vocal music is supported, as explained in @ref{Ancient notation}.
79 @unnumberedsubsubsec Opera
84 @c add characters names snippet -vv
87 @unnumberedsubsubsec Song books
93 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
94 {simple-lead-sheet.ly}
103 @unnumberedsubsubsec Spoken music
106 Such effects as @q{parlato} or @q{Sprechgesang} require perfomers to speak
107 without pitch but still with rhythm; these are notated by cross
108 note heads, as demonstrated in @ref{Special note heads}.
110 @c TODO add "marking-notes-on-spoken-parts" snippet -vv
111 @c add "showing the rhythm of a melody" snip
112 @c add "one staff-line notation"
113 @c add "improvisation" ref
114 @c add "lyrics independents of notes" ref
117 @unnumberedsubsubsec Chants
119 @c TODO Add text from lsr and -user
122 @node Ancient vocal music
123 @unnumberedsubsubsec Ancient vocal music
128 @c Add "Printing both the ancient and the modern clef in vocal music" snippet,
129 @c and "Transcription of Ancient music with incipit" snippet. -vv
134 @ref{Ancient notation}.
137 @node Entering lyrics
138 @subsection Entering lyrics
140 @c TODO add one sentence here. -vv
144 * Setting simple songs::
145 * Working with lyrics and variables::
149 @node Lyrics explained
150 @unnumberedsubsubsec Lyrics explained
155 @cindex spaces, in lyrics
156 @cindex quotes, in lyrics
158 @c FIXME: this section is to be rewritten.
159 Since LilyPond input files are text, there is at least one
160 issue to consider when working with vocal music:
161 song texts must be interpreted as text, not notes. For example, the
162 input@tie{}@code{d} should be interpreted as a one letter syllable,
164 Therefore, a special lyric mode has to be used, either explicitly
165 or using some abbreviated methods.
167 Lyrics are entered in a special input mode, which can be introduced
168 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
169 @code{\lyricsto}. In this mode you can enter lyrics,
170 with punctuation and accents, and the input @code{d} is not parsed as
171 a pitch, but rather as a one letter syllable. Syllables are entered
172 like notes, but with pitches replaced by text. For example,
175 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
178 There are two main methods to specify the horizontal placement
179 of the syllables, either by specifying the duration of each syllable
180 explicitly, like in the example above, or by automatically aligning
181 the lyrics to a melody or other voice of music, using @code{\addlyrics}
184 @c For more details see @ref{The Lyrics context}.
186 A word or syllable of lyrics begins with an alphabetic character, and ends
188 any space or digit. The following characters can be any character
189 that is not a digit or white space.
191 Any character that is not a digit or white space will be regarded as
192 part of the syllable; one important consequence of this is that a word
193 can end with @code{@}}, which often leads to the following mistake:
196 \lyricmode @{ lah- lah@}
199 In this example, the @code{@}} is included in the final syllable, so the
200 opening brace is not balanced and the input file will probably not
204 @funindex \property in \lyricmode
207 Similarly, a period which follows an alphabetic sequence is included in
208 the resulting string. As a consequence, spaces must be inserted around
209 property commands: do @emph{not} write
212 \override Score.LyricText #'font-shape = #'italic
219 \override Score . LyricText #'font-shape = #'italic
223 @cindex spaces, in lyrics
224 @cindex quotes, in lyrics
225 @cindex ties, in lyrics
227 In order to assign more than one syllable to a single note, you can
228 surround them with quotes or use a @code{_} character, to get spaces
229 between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
231 @lilypond[quote,ragged-right,fragment,verbatim]
233 \relative c' { c2 e4 g2 e4 }
234 \addlyrics { gran- de_a- mi- go }
235 \addlyrics { pu- "ro y ho-" nes- to }
236 \addlyrics { pu- ro~y~ho- nes- to }
240 The lyric tie is implemented with the Unicode character
241 @code{U+203F}; therefore a font that includes this glyph
242 (such as DejaVuLGC) has to be used. More explanations about
243 text and non-text fonts can be found in @ref{Fonts}.
246 To enter lyrics with characters from non-English languages, or with
247 accented and special characters (such as the heart symbol or slanted quotes),
248 simply insert the characters directly into the input file and save
249 it with UTF-8 encoding. See @ref{Text encoding}, for more info.
251 @lilypond[quote,ragged-right,fragment,verbatim]
252 \relative c' { e4 f e d e f e2 }
253 \addlyrics { He said: “Let my peo ple go”. }
256 To use normal quotes in lyrics, add a backslash before the
259 @lilypond[quote,ragged-right,fragment,verbatim]
260 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
261 \addlyrics { "\"I" am so lone- "ly\"" said she }
264 The full definition of a word start in Lyrics mode is somewhat more
267 A word in Lyrics mode begins with: an alphabetic character, @code{_},
268 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
269 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
270 any 8-bit character with ASCII code over 127, or a two-character
271 combination of a backslash followed by one of @code{`}, @code{'},
272 @code{"}, or @code{^}.
274 @c " to balance double quotes for not-so-bright context-sensitive editors
276 To define variables containing lyrics, the function @code{lyricmode}
280 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
283 \new Voice = "one" \relative c'' @{
286 c4 b8. a16 g4. f8 e4 d c2
288 \addlyrics @{ \verseOne @}
299 @rinternals{LyricText},
300 @rinternals{LyricSpace}.
303 @c FIXME: this title has to be changed (possible confusion with LM) -vv
304 @node Setting simple songs
305 @unnumberedsubsubsec Setting simple songs
309 The easiest way to add lyrics to a melody is to append
312 \addlyrics @{ @var{the lyrics} @}
316 to a melody. Here is an example,
318 @lilypond[ragged-right,verbatim,fragment,quote]
320 \relative c' { c2 e4 g2. }
321 \addlyrics { play the game }
324 More stanzas can be added by adding more
325 @code{\addlyrics} sections
327 @lilypond[ragged-right,verbatim,fragment,quote]
329 \relative c' { c2 e4 g2. }
330 \addlyrics { play the game }
331 \addlyrics { speel het spel }
332 \addlyrics { joue le jeu }
335 The command @code{\addlyrics} cannot handle polyphony settings. For these
336 cases you should use @code{\lyricsto} and @code{\lyricmode}, as will be
337 introduced in @ref{Lyrics explained}.
339 @c TODO: one additional section may be needed here,
340 @c such as "advanced lyric syntax" or whatever -vv
342 @node Working with lyrics and variables
343 @unnumberedsubsubsec Working with lyrics and variables
345 @cindex lyrics, variables
347 To define variables containing lyrics, the function @code{\lyricmode}
348 must be used. You do not have to enter durations though, if you add
349 @code{\addlyrics} or @code{\lyricsto}
350 when invoking your variable.
353 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
356 \new Voice = "one" \relative c'' @{
359 c4 b8. a16 g4. f8 e4 d c2
361 \addlyrics @{ \verseOne @}
366 For different or more complex orderings, the best way is to set up the
367 hierarchy of staves and lyrics first, e.g.,
370 \new Voice = "soprano" @{ @emph{music} @}
371 \new Lyrics = "sopranoLyrics" @{ s1 @}
372 \new Lyrics = "tenorLyrics" @{ s1 @}
373 \new Voice = "tenor" @{ @emph{music} @}
378 and then combine the appropriate melodies and lyric lines
381 \context Lyrics = sopranoLyrics \lyricsto "soprano"
386 The final input would resemble
389 <<\new ChoirStaff << @emph{setup the music} >>
390 \lyricsto "soprano" @emph{etc}
391 \lyricsto "alto" @emph{etc}
398 http://code.google.com/p/lilypond/issues/detail?id=329
399 The problem cannot be reproduced.
400 The following has no sense, because the issue seems to be fixed.
401 A comment is in tracker waiting for response ---FV
404 Be careful when defining a variable with lyrics that creates a new
405 context, for example, using the deprecated @code{\lyrics} command. See
406 the next erroneous example:
409 words = \lyrics{ %warning: this creates a new context
413 \new Voice = "sop" { c1 }
414 \new Lyrics \lyricsto "sop" { \words }
415 \new Voice = "alt" { c2 c }
416 \new Lyrics \lyricsto "alt" { \words }
420 the problem is that \lyricsto will try to connect the "sop" melody with the context
421 created by "\new Lyrics".
423 Then \lyrics in \words creates another context, and the original "\new Lyrics" one
430 @c TODO: document \new Staff << Voice \lyricsto >> bug
432 @rinternals{LyricCombineMusic},
436 @node Aligning lyrics to a melody
437 @subsection Aligning lyrics to a melody
443 @c FIXME: this stuff is to be rewritten. -vv
445 Aligning of text with melodies can be made automatically, but if you
446 specify the durations of the syllables it can also be made manually.
447 Lyrics aligning and typesetting are prepared with the help of skips,
448 hyphens and extender lines.
450 Lyrics are printed by interpreting them in the context called
451 @code{Lyrics}; see @rinternals{Lyrics}, for more.
454 \new Lyrics \lyricmode @dots{}
457 There are two main methods to specify the horizontal placement
462 by automatically aligning
463 the lyrics to a melody or other voice of music, using @code{\addlyrics}
467 or by specifying the duration of each syllable
468 explicitly, using @code{\lyricmode}
471 The @code{Voice} context containing the melody to which the lyrics
472 are being aligned must not have @qq{died}, or the lyrics after that
473 point will be lost. This can happen if there are periods when that
474 voice has nothing to do. For methods of keeping contexts alive, see
475 @ref{Keeping contexts alive}.
479 * Automatic syllable durations::
480 * Manual syllable durations::
481 * Multiple syllables to one note::
482 * Multiple notes to one syllable::
484 * Extenders and hyphens::
485 * Lyrics and repeats::
488 @node Automatic syllable durations
489 @unnumberedsubsubsec Automatic syllable durations
491 @cindex automatic syllable durations
492 @cindex lyrics and melodies
494 The lyrics can be aligned under a given melody
495 automatically. This is achieved by combining the
496 melody and the lyrics with the @code{\lyricsto} expression
499 \new Lyrics \lyricsto @var{name} @dots{}
503 This aligns the lyrics to the
504 notes of the @code{Voice} context called @var{name}, which must
505 already exist. Therefore normally the @code{Voice} is specified first, and
506 then the lyrics are specified with @code{\lyricsto}. The command
507 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
508 @code{\lyricmode} keyword may be omitted.
510 The following example uses different commands for entering lyrics.
512 @lilypond[quote,fragment,ragged-right,verbatim]
514 \new Voice = "one" \relative c'' {
517 c4 b8. a16 g4. f8 e4 d c2
520 % not recommended: left-aligned syllables
521 \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
523 % wrong: durations needed
524 \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
527 \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
531 The second stanza is not properly aligned because the durations
532 were not specified. A solution for that would be to use @code{\lyricsto}.
534 The @code{\addlyrics} command is actually just a convenient way
535 to write a more complicated LilyPond structure that sets up the
540 \addlyrics @{ LYRICS @}
547 \new Voice = "blah" @{ music @}
548 \new Lyrics \lyricsto "blah" @{ LYRICS @}
551 @node Manual syllable durations
552 @unnumberedsubsubsec Manual syllable durations
554 Lyrics can also be entered without @code{\addlyrics} or
555 @code{\lyricsto}. In this case,
556 syllables are entered like notes -- but with pitches replaced by text -- and the
557 duration of each syllable must be entered explicitly. For example:
564 The alignment to a melody can be specified with the
565 @code{associatedVoice} property,
568 \set associatedVoice = #"lala"
572 The value of the property (here: @code{"lala"}) should be the name of
573 a @code{Voice} context. Without this setting, extender lines
574 will not be formatted properly.
576 Here is an example demonstrating manual lyric durations,
578 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
579 << \new Voice = "melody" {
583 \new Lyrics \lyricmode {
584 \set associatedVoice = #"melody"
592 @ref{Keeping contexts alive}.
599 @node Multiple syllables to one note
600 @unnumberedsubsubsec Multiple syllables to one note
604 @cindex ties, in lyrics
606 In order to assign more than one syllable to a single note, you can
607 surround them with quotes or use a @code{_} character, to get spaces
608 between syllables, or use tilde symbol (@code{~}) to get a lyric
609 tie.@footnote{The lyric ties is implemented with the Unicode character
611 sure to have a font (like DejaVuLGC) installed that includes this
614 @lilypond[quote,ragged-right,fragment,verbatim]
616 \relative c' { c2 e4 g2 e4 }
617 \addlyrics { gran- de_a- mi- go }
618 \addlyrics { pu- "ro y ho-" nes- to }
619 \addlyrics { pu- ro~y~ho- nes- to }
625 @rinternals{LyricCombineMusic}.
628 @c Here come the section which used to be "Melismata"
629 @c the new title might be more self-explanatory
632 @node Multiple notes to one syllable
633 @unnumberedsubsubsec Multiple notes to one syllable
637 @cindex phrasing, in lyrics
639 Sometimes, particularly in Medieval music, several notes are to be sung on one
640 single syllable; such vocalises are called melismas, or melismata.
642 @c this method seems to be the simplest; therefore
643 @c it might be better to present it first - vv
645 You can define melismata entirely in the lyrics, by entering @code{_}
646 for every extra note that has to be added to the melisma.
648 @c FIXME: clarify: __ is used to crate a lyric extender,
649 @c _ is used to add a note to a melisma, so both __ and _ are needed.
652 @c duplicated: TODO fix
653 Additionaly, you can make an extender line to be typeset to indicate
654 the melisma in the score, writing a double underscore next to the
655 first syllable of the melisma. This example shows the three elements
656 that are used for this purpose (all of them surrounded by spaces):
657 double hyphens to separate syllables in a word, underscores to add
658 notes to a melisma, and a double underscore to put an extender line.
660 @c wrong: extender line only on last syllable of a word. Change example
661 @lilypond[relative=1,verbatim,fragment,quote]
662 { \set melismaBusyProperties = #'()
663 c d( e) f f( e) e e }
665 { Ky -- _ _ ri __ _ _ _ e }
668 In this case, you can also have ties and slurs in the melody if you
669 set @code{melismaBusyProperties}, as is done in the example above.
671 However, the @code{\lyricsto} command can also
672 detect melismata automatically: it only puts one
673 syllable under a tied or slurred group of notes. If you want to force
674 an unslurred group of notes to be a melisma, insert @code{\melisma}
675 after the first note of the group, and @code{\melismaEnd} after the
678 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
680 \new Voice = "lala" {
688 \new Lyrics \lyricsto "lala" {
694 In addition, notes are considered a melisma if they are manually
695 beamed, and automatic beaming (see @ref{Setting automatic beam
696 behavior}) is switched off.
698 @c FIXME: this now links to LM -vv
703 A complete example of a SATB score setup is in
704 @rlearning{Vocal ensembles}.
710 @funindex \melismaEnd
716 @c @lsr{vocal,lyric@/-combine.ly}.
721 Melismata are not detected automatically, and extender lines must be
725 @unnumberedsubsubsec Skipping notes
727 Making a lyric line run slower than the melody can be achieved by
728 inserting @code{\skip}s into the lyrics. For every @code{\skip},
729 the text will be delayed another note. The @code{\skip} command
730 must be followed by a valid duration, but this is ignored when
731 @code{\skip} is used in lyrics.
733 @lilypond[verbatim,ragged-right,quote]
734 \relative c' { c c g' }
742 @node Extenders and hyphens
743 @unnumberedsubsubsec Extenders and hyphens
748 @c leave this as samp. -gp
749 In the last syllable of a word, melismata are sometimes indicated with
750 a long horizontal line starting in the melisma syllable, and ending in
751 the next one. Such a line is called an extender line, and it is
752 entered as @samp{ __ } (note the spaces before and after the two
753 underscore characters).
755 @warning{Melismata are indicated in the score with extender lines,
756 which are entered as one double underscore; but short melismata can
757 also be entered by skipping individual notes, which are entered as
758 single underscore characters; these do not make an extender line to be
763 @c leave this as samp. -gp
764 Centered hyphens are entered as @samp{ -- } between syllables of a same word
765 (note the spaces before and after the two hyphen characters). The hyphen
766 will be centered between the syllables, and its length will be adjusted
767 depending on the space between the syllables.
769 In tightly engraved music, hyphens can be removed. Whether this
770 happens can be controlled with the @code{minimum-distance} (minimum
771 distance between two syllables) and the @code{minimum-length}
772 (threshold below which hyphens are removed).
777 @rinternals{LyricExtender},
778 @rinternals{LyricHyphen}.
781 @node Lyrics and repeats
782 @unnumberedsubsubsec Lyrics and repeats
784 @c TODO New section. Add text
788 @node Specific uses of lyrics
789 @subsection Specific uses of lyrics
791 @c FIXME This whole section is to be reorganized. -vv
793 Often, different stanzas of one song are put to one melody in slightly
794 differing ways. Such variations can still be captured with
799 * Lyrics independent of notes::
800 * Spacing out syllables::
801 * Centering lyrics between staves::
807 @unnumberedsubsubsec Divisi lyrics
809 You can display alternate (or divisi) lyrics by naming voice
810 contexts and attaching lyrics to those specific contexts.
812 @lilypond[verbatim,ragged-right,quote]
814 \new Voice = "melody" {
819 \new Voice = "splitpart" { \voiceTwo c4 }
824 \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
825 \new Lyrics \lyricsto "splitpart" { will }
830 You can use this trick to display different lyrics for a repeated
833 @lilypond[verbatim,ragged-right,quote]
835 \new Voice = "melody" \relative c' {
837 \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
839 \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
842 \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
844 \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
845 dodo rere mimi fafa solsol }
852 @node Lyrics independent of notes
853 @unnumberedsubsubsec Lyrics independent of notes
855 @cindex Devnull context
857 In some complex vocal music, it may be desirable to place
858 lyrics completely independently of notes. Music defined
859 inside @code{lyricrhythm} disappears into the
860 @code{Devnull} context, but the rhythms can still be used
863 @lilypond[quote,verbatim,ragged-right]
866 \tag #'music { c''2 }
867 \tag #'lyricrhythm { c''4. c''8 }
871 lyr = \lyricmode { I like my cat! }
874 \new Staff \keepWithTag #'music \voice
875 \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
876 \new Lyrics \lyricsto "nowhere" \lyr
877 \new Staff { c'8 c' c' c' c' c' c' c'
878 c' c' c' c' c' c' c' c' }
882 This method is recommended only if the music in the @code{Devnull}
883 context does not contain melismata. Melismata are defined by the
884 @code{Voice} context. Connecting lyrics to a @code{Devnull} context
885 makes the voice/lyrics links to get lost, and so does the info on
886 melismata. Therefore, if you link lyrics to a @code{Devnull} context,
887 the implicit melismata get ignored.
889 @c Conclusion: do not use devnull for lyrics -FV
891 @c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248
893 @node Spacing out syllables
894 @unnumberedsubsubsec Spacing out syllables
896 @cindex Spacing lyrics
897 @cindex Lyrics, increasing space between
899 To increase the spacing between lyrics, set the @code{minimum-distance}
900 property of @code{LyricSpace}.
902 @lilypond[relative,verbatim,fragment,quote,ragged-right]
905 \override Lyrics.LyricSpace #'minimum-distance = #1.0
909 longtext longtext longtext longtext
910 longtext longtext longtext longtext
915 To make this change for all lyrics in the score, set the property in the
918 @lilypond[verbatim,quote,ragged-right]
925 longtext longtext longtext longtext
926 longtext longtext longtext longtext
931 \override LyricSpace #'minimum-distance = #1.0
938 @c This snippet has been renamed to "lyrics-alignment.ly"
939 @c update as soon as lsr/is updated -vv
940 @c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
941 @c {lyrics-alignment.ly}
943 @c TODO: move to LSR -vv
946 Checking to make sure that text scripts and lyrics are within the margins is
947 a relatively large computational task. To speed up processing, LilyPond does
948 not perform such calculations by default; to enable it, use
951 \override Score.PaperColumn #'keep-inside-line = ##t
954 To make lyrics avoid bar lines as well, use
960 \consists "Bar_engraver"
961 \consists "Separating_line_group_engraver"
962 \override BarLine #'transparent = ##t
967 @c TODO Create and add lsr example of lyricMelismaAlignment
968 @c It's used like this to center-align all lyric syllables,
969 @c even when notes are tied. -td
974 \context { \Score lyricMelismaAlignment = #0 }
979 @node Centering lyrics between staves
980 @unnumberedsubsubsec Centering lyrics between staves
982 @c TODO Add text from -user
989 * Adding stanza numbers::
990 * Adding dynamics marks to stanzas::
991 * Adding singers' names to stanzas::
992 * Stanzas with different rhythms::
993 * Printing stanzas at the end::
994 * Printing stanzas at the end in multiple columns::
998 @node Adding stanza numbers
999 @unnumberedsubsubsec Adding stanza numbers
1001 @cindex stanza number
1003 Stanza numbers can be added by setting @code{stanza}, e.g.,
1005 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
1007 \time 3/4 g2 e4 a2 f4 g2.
1009 \set stanza = #"1. "
1010 Hi, my name is Bert.
1012 \set stanza = #"2. "
1013 Oh, ché -- ri, je t'aime
1019 These numbers are put just before the start of the first syllable.
1021 @c TODO Create and add snippet to show how two lines of a
1022 @c stanza can be grouped together, along these lines:
1023 @c (might need improving a bit) -td
1026 leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup
1030 \set stanza = \markup { "1. " \leftbrace }
1031 \lyricmode { Child, you're mine and I love you.
1032 Lend thine ear to what I say.
1038 % \set stanza = \markup { " "}
1039 \lyricmode { Child, I have no great -- er joy
1040 Than to have you walk in truth.
1046 \repeat volta 2 { c'8 c' c' c' c' c' c'4
1047 c'8 c' c' c' c' c' c'4 }
1048 } \addlyrics { \stanzaOneOne }
1049 \addlyrics { \stanzaOneThree }
1053 @node Adding dynamics marks to stanzas
1054 @unnumberedsubsubsec Adding dynamics marks to stanzas
1056 Stanzas differing in loudness may be indicated by putting a
1057 dynamics mark before each stanza. In LilyPond, everything coming in
1058 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
1059 are no different. For technical reasons, you have to set the stanza
1060 outside @code{\lyricmode}:
1062 @lilypond[quote,ragged-right,verbatim]
1064 \set stanza = \markup { \dynamic "ff" "1. " }
1071 \new Voice = "tune" {
1075 \new Lyrics \lyricsto "tune" \text
1079 @node Adding singers' names to stanzas
1080 @unnumberedsubsubsec Adding singers' names to stanzas
1083 @cindex name of singer
1085 Names of singers can also be added. They are printed at the start of
1086 the line, just like instrument names. They are created by setting
1087 @code{vocalName}. A short version may be entered as @code{shortVocalName}.
1089 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
1091 \time 3/4 g2 e4 a2 f4 g2.
1093 \set vocalName = #"Bert "
1094 Hi, my name is Bert.
1096 \set vocalName = #"Ernie "
1097 Oh, ché -- ri, je t'aime
1101 @node Stanzas with different rhythms
1102 @unnumberedsubsubsec Stanzas with different rhythms
1104 @subsubheading Ignoring melismata
1106 One possibility is that the text has a melisma in one stanza, but
1107 multiple syllables in another one. One solution is to make the faster
1108 voice ignore the melisma. This is done by setting
1109 @code{ignoreMelismata} in the Lyrics context.
1111 @lilypond[verbatim,ragged-right,quote]
1113 \relative c' \new Voice = "lahlah" {
1114 \set Staff.autoBeaming = ##f
1120 \new Lyrics \lyricsto "lahlah" {
1123 \new Lyrics \lyricsto "lahlah" {
1125 \set ignoreMelismata = ##t
1127 \unset ignoreMelismata
1134 Unlike most @code{\set} commands, @code{\set ignoreMelismata} does
1135 not work if prefixed with @code{\once}. It is necessary to use
1136 @code{\set} and @code{\unset} to bracket the lyrics where melismata
1139 @subsubheading Switching to an alternative melody
1141 More complex variations in text underlay are possible. It is possible
1142 to switch the melody for a line of lyrics during the text. This is
1143 done by setting the @code{associatedVoice} property. In the example
1145 @lilypond[ragged-right,quote]
1147 \relative c' \new Voice = "lahlah" {
1148 \set Staff.autoBeaming = ##f
1151 \new Voice = "alternative" {
1154 % show associations clearly.
1155 \override NoteColumn #'force-hshift = #-3
1166 \new Lyrics \lyricsto "lahlah" {
1167 Ju -- ras -- sic Park
1169 \new Lyrics \lyricsto "lahlah" {
1170 % Tricky: need to set associatedVoice
1171 % one syllable too soon!
1172 \set associatedVoice = alternative % applies to "ran"
1176 \set associatedVoice = lahlah % applies to "rus"
1182 the text for the first stanza is set to a melody called @q{lahlah},
1185 \new Lyrics \lyricsto "lahlah" @{
1186 Ju -- ras -- sic Park
1191 The second stanza initially is set to the @code{lahlah} context, but
1192 for the syllable @q{ran}, it switches to a different melody.
1193 This is achieved with
1195 \set associatedVoice = alternative
1199 Here, @code{alternative} is the name of the @code{Voice} context
1200 containing the triplet.
1202 @c FIXME: make this easier to understand -vv
1203 This command must be one syllable too early, before @q{Ty} in this
1204 case. In other words, changing the associatedVoice happens one step
1205 later than expected. This is for technical reasons, and it is not a
1209 \new Lyrics \lyricsto "lahlah" @{
1210 \set associatedVoice = alternative % applies to "ran"
1214 \set associatedVoice = lahlah % applies to "rus"
1220 The underlay is switched back to the starting situation by assigning
1221 @code{lahlah} to @code{associatedVoice}.
1224 @node Printing stanzas at the end
1225 @unnumberedsubsubsec Printing stanzas at the end
1227 Sometimes it is appropriate to have one stanza set
1228 to the music, and the rest added in verse form at
1229 the end of the piece. This can be accomplished by adding
1230 the extra verses into a @code{\markup} section outside
1231 of the main score block. Notice that there are two
1232 different ways to force linebreaks when using
1235 @lilypond[ragged-right,verbatim,quote]
1236 melody = \relative c' {
1242 \set stanza = #"1." Ma- ry had a lit- tle lamb,
1243 its fleece was white as snow.
1247 \new Voice = "one" { \melody }
1248 \new Lyrics \lyricsto "one" \text
1254 \line{ All the children laughed and played }
1255 \line{ To see a lamb at school. }
1262 Mary took it home again,
1264 It was against the rule."
1269 @node Printing stanzas at the end in multiple columns
1270 @unnumberedsubsubsec Printing stanzas at the end in multiple columns
1272 When a piece of music has many verses, they are often printed in
1273 multiple columns across the page. An outdented verse number often
1274 introduces each verse. The following example shows how to produce such
1277 @lilypond[ragged-right,quote,verbatim]
1278 melody = \relative c' {
1283 \set stanza = #"1." This is verse one.
1288 \new Voice = "one" { \melody }
1289 \new Lyrics \lyricsto "one" \text
1296 \hspace #0.1 % moves the column off the left margin;
1297 % can be removed if space on the page is tight
1301 "This is verse two."
1305 \hspace #0.1 % adds vertical spacing between verses
1308 "This is verse three."
1313 \hspace #0.1 % adds horizontal spacing between columns;
1314 % if they are still too close, add more " " pairs
1315 % until the result looks good
1319 "This is verse four."
1323 \hspace #0.1 % adds vertical spacing between verses
1326 "This is verse five."
1331 \hspace #0.1 % gives some extra space on the right margin;
1332 % can be removed if page space is tight
1339 Internals Reference:
1340 @rinternals{LyricText},
1341 @rinternals{StanzaNumber}.