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 * TODO subsection vocal music::
35 Checking to make sure that text scripts and lyrics are within the margins is
36 a relatively large computational task. To speed up processing, lilypond does
37 not perform such calculations by default; to enable it, use
40 \override Score.PaperColumn #'keep-inside-line = ##t
43 To make lyrics avoid barlines as well, use
48 \consists "Bar_engraver"
49 \consists "Separating_line_group_engraver"
50 \override BarLine #'transparent = ##t
56 @node TODO subsection vocal music
57 @subsection TODO subsection vocal music
60 * Setting simple songs::
62 * Aligning lyrics to a melody::
63 * Automatic syllable durations::
64 * Another way of entering lyrics::
65 * Assigning more than one syllable to a single note::
66 * More than one note on a single syllable::
67 * Extenders and hyphens::
68 * Working with lyrics and identifiers::
69 * Flexibility in placement::
70 * Lyrics to multiple notes of a melisma::
72 * Switching the melody associated with a lyrics line::
73 * Lyrics independent of notes::
75 * More about stanzas::
76 * Other vocal issues::
79 @node Setting simple songs
80 @unnumberedsubsubsec Setting simple songs
84 The easiest way to add lyrics to a melody is to append
87 \addlyrics @{ @var{the lyrics} @}
91 to a melody. Here is an example,
93 @lilypond[ragged-right,verbatim,fragment,quote]
95 \relative { c2 e4 g2. }
96 \addlyrics { play the game }
99 More stanzas can be added by adding more
100 @code{\addlyrics} sections
102 @lilypond[ragged-right,verbatim,fragment,quote]
104 \relative { c2 e4 g2. }
105 \addlyrics { play the game }
106 \addlyrics { speel het spel }
107 \addlyrics { joue le jeu }
110 The command @code{\addlyrics} cannot handle polyphony settings. For these
111 cases you should use @code{\lyricsto} and @code{\lyricmode}, as will be
112 introduced in @ref{Entering lyrics}.
116 @node Entering lyrics
117 @unnumberedsubsubsec Entering lyrics
122 @cindex spaces, in lyrics
123 @cindex quotes, in lyrics
125 Lyrics are entered in a special input mode, which can be introduced
126 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
127 @code{\lyricsto}. In this mode you can enter lyrics,
128 with punctuation and accents, and the input @code{d} is not parsed as
129 a pitch, but rather as a one letter syllable. Syllables are entered
130 like notes, but with pitches replaced by text. For example,
133 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
136 There are two main methods to specify the horizontal placement
137 of the syllables, either by specifying the duration of each syllable
138 explicitly, like in the example above, or by automatically aligning
139 the lyrics to a melody or other voice of music, using @code{\addlyrics}
142 @c For more details see @ref{The Lyrics context}.
144 A word or syllable of lyrics begins with an alphabetic character, and ends
146 any space or digit. The following characters can be any character
147 that is not a digit or white space.
149 Any character that is not a digit or white space will be regarded as
150 part of the syllable; one important consequence of this is that a word
151 can end with @code{@}}, which often leads to the following mistake:
154 \lyricmode @{ lah- lah@}
157 In this example, the @code{@}} is included in the final syllable, so the
158 opening brace is not balanced and the input file will probably not
162 @funindex \property in \lyricmode
165 Similarly, a period which follows an alphabetic sequence is included in
166 the resulting string. As a consequence, spaces must be inserted around
167 property commands: do @emph{not} write
170 \override Score.LyricText #'font-shape = #'italic
177 \override Score . LyricText #'font-shape = #'italic
181 @cindex spaces, in lyrics
182 @cindex quotes, in lyrics
183 @cindex ties, in lyrics
185 In order to assign more than one syllable to a single note, you can
186 surround them with quotes or use a @code{_} character, to get spaces
187 between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
189 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
191 \relative { c2 e4 g2 e4 }
192 \addlyrics { gran- de_a- mi- go }
193 \addlyrics { pu- "ro y ho-" nes- to }
194 \addlyrics { pu- ro~y~ho- nes- to }
197 The lyric tie is implemented with the Unicode character U+203F, so be
198 sure to have a font (Like DejaVuLGC) installed that includes this
202 To enter lyrics with characters from non-English languages, or with
203 accented and special characters (such as the heart symbol or slanted quotes),
204 simply insert the characters directly into the input file and save
205 it with utf-8 encoding. See @ref{Text encoding}, for more info.
207 @lilypond[quote,ragged-right,fragment,verbatim]
208 \relative { e4 f e d e f e2 }
209 \addlyrics { He said: “Let my peo ple go”. }
212 To use normal quotes in lyrics, add a backslash before the
215 @lilypond[quote,ragged-right,fragment,verbatim]
216 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
217 \addlyrics { "\"I" am so lone- "ly\"" said she }
220 The full definition of a word start in Lyrics mode is somewhat more
223 A word in Lyrics mode begins with: an alphabetic character, @code{_},
224 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
225 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
226 any 8-bit character with ASCII code over 127, or a two-character
227 combination of a backslash followed by one of @code{`}, @code{'},
228 @code{"}, or @code{^}.
230 To define identifiers containing lyrics, the function @code{lyricmode}
234 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
237 \new Voice = "one" \relative c'' @{
240 c4 b8. a16 g4. f8 e4 d c2
242 \addlyrics @{ \verseOne @}
250 Program reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
254 @node Aligning lyrics to a melody
255 @unnumberedsubsubsec Aligning lyrics to a melody
262 Lyrics are printed by interpreting them in the context called
263 @internalsref{Lyrics}.
266 \new Lyrics \lyricmode @dots{}
269 There are two main methods to specify the horizontal placement
274 by automatically aligning
275 the lyrics to a melody or other voice of music, using @code{\addlyrics}
279 or by specifying the duration of each syllable
280 explicitly, using @code{\lyricmode}
284 * Automatic syllable durations::
285 * Another way of entering lyrics::
286 * Assigning more than one syllable to a single note::
287 * More than one note on a single syllable::
288 * Extenders and hyphens::
291 @node Automatic syllable durations
292 @unnumberedsubsubsec Automatic syllable durations
294 @cindex automatic syllable durations
295 @cindex lyrics and melodies
297 The lyrics can be aligned under a given melody
298 automatically. This is achieved by combining the
299 melody and the lyrics with the @code{\lyricsto} expression
302 \new Lyrics \lyricsto @var{name} @dots{}
305 This aligns the lyrics to the
306 notes of the @internalsref{Voice} context called @var{name}, which must
307 already exist. Therefore normally the @code{Voice} is specified first, and
308 then the lyrics are specified with @code{\lyricsto}. The command
309 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
310 @code{\lyricmode} keyword may be omitted.
312 The following example uses different commands for entering lyrics.
314 @lilypond[quote,fragment,ragged-right,verbatim]
316 \new Voice = "one" \relative c'' {
319 c4 b8. a16 g4. f8 e4 d c2
321 \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
322 \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
323 \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
327 The second stanza is not properly aligned because the durations
328 were not specified. A solution for that would be to use @code{\lyricsto}.
330 The @code{\addlyrics} command is actually just a convenient way
331 to write a more complicated LilyPond structure that sets up the
336 \addlyrics @{ LYRICS @}
343 \new Voice = "blah" @{ music @}
344 \new Lyrics \lyricsto "blah" @{ LYRICS @}
347 @node Another way of entering lyrics
348 @unnumberedsubsubsec Another way of entering lyrics
350 Lyrics can also be entered without @code{\addlyrics} or
351 @code{\lyricsto}. In this case,
352 syllables are entered like notes -- but with pitches replaced by text -- and the
353 duration of each syllable must be entered explicitly. For example:
360 The alignment to a melody can be specified with the
361 @code{associatedVoice} property,
364 \set associatedVoice = #"lala"
368 The value of the property (here: @code{"lala"}) should be the name of
369 a @internalsref{Voice} context. Without this setting, extender lines
370 will not be formatted properly.
372 Here is an example demonstrating manual lyric durations,
374 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
375 << \new Voice = "melody" {
379 \new Lyrics \lyricmode {
380 \set associatedVoice = #"melody"
387 Program reference: @internalsref{Lyrics}.
390 @node Assigning more than one syllable to a single note
391 @unnumberedsubsubsec Assigning more than one syllable to a single note
395 @cindex ties, in lyrics
397 In order to assign more than one syllable to a single note, you can
398 surround them with quotes or use a @code{_} character, to get spaces
399 between syllables, or use tilde symbol (@code{~}) to get a lyric
400 tie@footnote{The lyric ties is implemented with the Unicode character
402 sure to have a font (Like DejaVuLGC) installed that includes this
405 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
407 \relative { c2 e4 g2 e4 }
408 \addlyrics { gran- de_a- mi- go }
409 \addlyrics { pu- "ro y ho-" nes- to }
410 \addlyrics { pu- ro~y~ho- nes- to }
415 Program reference: @internalsref{LyricCombineMusic}.
417 @c Here come the section which used to be "Melismata"
418 @c the new title might be more self-explanatory
421 @node More than one note on a single syllable
422 @unnumberedsubsubsec More than one note on a single syllable
426 @cindex phrasing, in lyrics
428 Sometimes, particularly in Medieval music, several notes are to be sung on one
429 single syllable; such vocalises are called melismas, or melismata.
431 @c this method seems to be the simplest; therefore
432 @c it might be better to present it first - vv
434 You can define melismata entirely in the lyrics, by entering @code{_}
436 that is part of the melisma.
438 @lilypond[relative=1,verbatim,fragment,quote]
439 { \set melismaBusyProperties = #'()
440 c d( e) f f( e) e e }
442 { Ky -- _ _ ri __ _ _ _ e }
445 In this case, you can also have ties and slurs in the melody if you
446 set @code{melismaBusyProperties}, as is done in the example above.
448 However, the @code{\lyricsto} command can also
449 detect melismata automatically: it only puts one
450 syllable under a tied or slurred group of notes. If you want to force
451 an unslurred group of notes to be a melisma, insert @code{\melisma}
452 after the first note of the group, and @code{\melismaEnd} after the
455 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
457 \new Voice = "lala" {
465 \new Lyrics \lyricsto "lala" {
471 In addition, notes are considered a melisma if they are manually
472 beamed, and automatic beaming (see @ref{Setting automatic beam
473 behavior}) is switched off.
475 @c TODO: there might be some more relevant place for
476 @c the following link (?)
481 A complete example of a SATB score setup is in section
482 @rlearning{Vocal ensembles}.
487 @code{\melisma}, @code{\melismaEnd}
488 @funindex \melismaEnd
493 Program reference: @internalsref{Melisma_translator}.
495 @lsr{vocal,lyric@/-combine.ly}.
499 Melismata are not detected automatically, and extender lines must be
502 @node Extenders and hyphens
503 @unnumberedsubsubsec Extenders and hyphens
508 Melismata are indicated with a horizontal line centered between a syllable
509 and the next one. Such a line is called an extender line, and it is entered
510 as @samp{ __ } (note the spaces before and after the two underscore
515 Centered hyphens are entered as @samp{ -- } between syllables of a same word
516 (note the spaces before and after the two hyphen characters). The hyphen
517 will be centered between the syllables, and its length will be adjusted
518 depending on the space between the syllables.
520 In tighly engraved music, hyphens can be removed. Whether this
521 happens can be controlled with the @code{minimum-distance} (minimum
522 distance between two syllables) and the @code{minimum-length}
523 (threshold below which hyphens are removed).
527 Program reference: @internalsref{LyricExtender},
528 @internalsref{LyricHyphen}
531 @node Working with lyrics and identifiers
532 @unnumberedsubsubsec Working with lyrics and identifiers
533 @cindex lyrics, identifiers
535 To define identifiers containing lyrics, the function @code{\lyricmode}
536 must be used. You do not have to enter durations though, if you add
537 @code{\addlyrics} or @code{\lyricsto}
538 when invoking your identifier.
541 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
544 \new Voice = "one" \relative c'' @{
547 c4 b8. a16 g4. f8 e4 d c2
549 \addlyrics @{ \verseOne @}
554 For different or more complex orderings, the best way is to setup the
555 hierarchy of staves and lyrics first, e.g.,
558 \new Voice = "soprano" @{ @emph{music} @}
559 \new Lyrics = "sopranoLyrics" @{ s1 @}
560 \new Lyrics = "tenorLyrics" @{ s1 @}
561 \new Voice = "tenor" @{ @emph{music} @}
565 and then combine the appropriate melodies and lyric lines
568 \context Lyrics = sopranoLyrics \lyricsto "soprano"
574 The final input would resemble
577 <<\new ChoirStaff << @emph{setup the music} >>
578 \lyricsto "soprano" @emph{etc}
579 \lyricsto "alto" @emph{etc}
586 @c TODO: document \new Staff << Voice \lyricsto >> bug
587 Program reference: @internalsref{LyricCombineMusic},
588 @internalsref{Lyrics}.
591 @node Flexibility in placement
592 @unnumberedsubsubsec Flexibility in placement
594 Often, different stanzas of one song are put to one melody in slightly
595 differing ways. Such variations can still be captured with
599 * Lyrics to multiple notes of a melisma::
601 * Switching the melody associated with a lyrics line::
602 * Lyrics independent of notes::
606 @node Lyrics to multiple notes of a melisma
607 @unnumberedsubsubsec Lyrics to multiple notes of a melisma
609 One possibility is that the text has a melisma in one stanza, but
610 multiple syllables in another one. One solution is to make the faster
611 voice ignore the melisma. This is done by setting
612 @code{ignoreMelismata} in the Lyrics context.
614 There is one tricky aspect: the setting for @code{ignoreMelismata}
615 must be set one syllable @emph{before} the non-melismatic syllable
616 in the text, as shown here,
618 @c FIXME: breaks compile
619 @lilypond[verbatim,ragged-right,quote]
622 \relative \new Voice = "lahlah" {
623 \set Staff.autoBeaming = ##f
629 \new Lyrics \lyricsto "lahlah" {
632 \new Lyrics \lyricsto "lahlah" {
633 \set ignoreMelismata = ##t % applies to "fas"
635 \unset ignoreMelismata
643 The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
644 should be entered before @q{go}.
646 The reverse is also possible: making a lyric line slower than the
647 standard. This can be achieved by insert @code{\skip}s into the
648 lyrics. For every @code{\skip}, the text will be delayed another note.
651 @lilypond[verbatim,ragged-right,quote]
661 @unnumberedsubsubsec Divisi lyrics
663 You can display alternate (or divisi) lyrics by naming voice
664 contexts and attaching lyrics to those specific contexts.
666 @lilypond[verbatim,ragged-right,quote]
668 \new Voice = "melody" {
673 \new Voice = "splitpart" { \voiceTwo c4 }
678 \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
679 \new Lyrics \lyricsto "splitpart" { will }
684 You can use this trick to display different lyrics for a repeated
687 @lilypond[verbatim,ragged-right,quote]
689 \new Voice = "melody" \relative c' {
691 \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
693 \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
696 \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
698 \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
699 dodo rere mimi fafa solsol }
706 @node Switching the melody associated with a lyrics line
707 @unnumberedsubsubsec Switching the melody associated with a lyrics line
709 More complex variations in text underlay are possible. It is possible
710 to switch the melody for a line of lyrics during the text. This is
711 done by setting the @code{associatedVoice} property. In the example
713 @lilypond[ragged-right,quote]
715 \relative \new Voice = "lahlah" {
716 \set Staff.autoBeaming = ##f
719 \new Voice = "alternative" {
722 % show associations clearly.
723 \override NoteColumn #'force-hshift = #-3
734 \new Lyrics \lyricsto "lahlah" {
735 Ju -- ras -- sic Park
737 \new Lyrics \lyricsto "lahlah" {
738 % Tricky: need to set associatedVoice
739 % one syllable too soon!
740 \set associatedVoice = alternative % applies to "ran"
744 \set associatedVoice = lahlah % applies to "rus"
750 the text for the first stanza is set to a melody called @q{lahlah},
753 \new Lyrics \lyricsto "lahlah" @{
754 Ju -- ras -- sic Park
759 The second stanza initially is set to the @code{lahlah} context, but
760 for the syllable @q{ran}, it switches to a different melody.
761 This is achieved with
763 \set associatedVoice = alternative
767 Here, @code{alternative} is the name of the @code{Voice} context
768 containing the triplet.
770 Again, the command must be one syllable too early, before @q{Ty} in
774 \new Lyrics \lyricsto "lahlah" @{
775 \set associatedVoice = alternative % applies to "ran"
779 \set associatedVoice = lahlah % applies to "rus"
785 The underlay is switched back to the starting situation by assigning
786 @code{lahlah} to @code{associatedVoice}.
789 @node Lyrics independent of notes
790 @unnumberedsubsubsec Lyrics independent of notes
792 In some complex vocal music, it may be desirable to place
793 lyrics completely independently of notes. Music defined
794 inside @code{lyricrhythm} disappears into the
795 @code{Devnull} context, but the rhythms can still be used
798 @lilypond[quote,verbatim,ragged-right]
801 \tag #'music { c''2 }
802 \tag #'lyricrhythm { c''4. c''8 }
806 lyr = \lyricmode { I like my cat! }
809 \new Staff \keepWithTag #'music \voice
810 \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
811 \new Lyrics \lyricsto "nowhere" \lyr
812 \new Staff { c'8 c' c' c' c' c' c' c'
813 c' c' c' c' c' c' c' c' }
819 @unnumberedsubsubsec Spacing lyrics
821 @cindex Spacing lyrics
822 @cindex Lyrics, increasing space between
824 To increase the spacing between lyrics, set the minimum-distance property of
827 @lilypond[relative,verbatim,fragment,quote,ragged-right]
830 \override Lyrics.LyricSpace #'minimum-distance = #1.0
834 longtext longtext longtext longtext
835 longtext longtext longtext longtext
839 To make this change for all lyrics in the score, set the property in the
842 @lilypond[relative,verbatim,quote,ragged-right]
849 longtext longtext longtext longtext
850 longtext longtext longtext longtext
855 \override LyricSpace #'minimum-distance = #1.0
862 @node More about stanzas
863 @unnumberedsubsubsec More about stanzas
865 @cindex stanza number
866 @unnumberedsubsubsec Adding stanza numbers
868 Stanza numbers can be added by setting @code{stanza}, e.g.,
870 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
872 \time 3/4 g2 e4 a2 f4 g2.
878 Oh, ché -- ri, je t'aime
883 These numbers are put just before the start of the first syllable.
886 @unnumberedsubsubsec Adding dynamics marks
888 Stanzas differing in loudness may be indicated by putting a
889 dynamics mark before each stanza. In Lilypond, everthing coming in
890 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
891 are no different. For technical reasons, you have to set the stanza
892 outside @code{\lyricmode}:
894 @lilypond[quote,ragged-right,verbatim]
896 \set stanza = \markup { \dynamic "ff" "1. " }
903 \new Voice = "tune" {
907 \new Lyrics \lyricsto "tune" \text
912 @cindex name of singer
913 @unnumberedsubsubsec Adding singer names
915 Names of singers can also be added. They are printed at the start of
916 the line, just like instrument names. They are created by setting
917 @code{vocalName}. A short version may be entered as @code{shortVocalName}.
919 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
921 \time 3/4 g2 e4 a2 f4 g2.
923 \set vocalName = "Bert "
926 \set vocalName = "Ernie "
927 Oh, che -- ri, je t'aime
932 @unnumberedsubsubsec Printing stanzas at the end
934 Sometimes it is appropriate to have one stanza set
935 to the music, and the rest added in verse form at
936 the end of the piece. This can be accomplished by adding
937 the extra verses into a @code{\markup} section outside
938 of the main score block. Notice that there are two
939 different ways to force linebreaks when using
942 @lilypond[ragged-right,verbatim,quote]
943 melody = \relative c' {
949 \set stanza = "1." Ma- ry had a lit- tle lamb,
950 its fleece was white as snow.
954 \new Voice = "one" { \melody }
955 \new Lyrics \lyricsto "one" \text
961 \line{ All the children laughed and played }
962 \line{ To see a lamb at school. }
969 Mary took it home again,
971 It was against the rule."
976 @unnumberedsubsubsec Printing stanzas at the end in multiple columns
978 When a piece of music has many verses, they are often printed in
979 multiple columns across the page. An outdented verse number often
980 introduces each verse. The following example shows how to produce such
983 @lilypond[ragged-right,quote,verbatim]
984 melody = \relative c' {
989 \set stanza = "1." This is verse one.
994 \new Voice = "one" { \melody }
995 \new Lyrics \lyricsto "one" \text
1002 \hspace #0.1 % moves the column off the left margin; can be removed if
1003 % space on the page is tight
1007 "This is verse two."
1011 \hspace #0.1 % adds vertical spacing between verses
1014 "This is verse three."
1019 \hspace #0.1 % adds horizontal spacing between columns; if they are
1020 % still too close, add more " " pairs until the result
1025 "This is verse four."
1029 \hspace #0.1 % adds vertical spacing between verses
1032 "This is verse five."
1037 \hspace #0.1 % gives some extra space on the right margin; can
1038 % be removed if page space is tight
1046 Program reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
1047 @internalsref{VocalName}.
1051 @node Other vocal issues
1052 @unnumberedsubsubsec Other vocal issues
1055 yeah, I'm giving up somewhat by stuffing a bunch of things in
1056 here. But at least they're in the manual now; it's easier to
1057 move them around in the manual once they're already here.
1059 Besides, if users complain about everything stuffed in here, I
1060 can ask them for specific instructions about where to move these
1061 examples, and that might get them more involved in the docs. -gp
1064 @q{Parlato} is spoken without pitch but still with rhythm; it is
1065 notated by cross noteheads. This is demonstrated in
1066 @ref{Special noteheads}.