]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/vocal.itely
1d68c157a95dd3c92184b9512a7af46a71f4d2d6
[lilypond.git] / Documentation / notation / vocal.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  For details, see the Contributors'
7     Guide, node Updating translation committishes..
8 @end ignore
9
10 @c \version "2.12.0"
11
12 @node Vocal music
13 @section Vocal music
14
15 @c TODO: inspirational headword
16
17 This section explains how to typeset vocal music, and make sure
18 that the lyrics will be aligned with the notes of their melody.
19
20 @menu
21 * Common notation for vocal music::
22 * Entering lyrics::
23 * Aligning lyrics to a melody::
24 * Techniques specific to lyrics::
25 * Stanzas::
26 * Songs::
27 * Choral::
28 * Opera and stage musicals::
29 * Chants hymns and psalms::
30 * Ancient vocal music::
31
32 @end menu
33
34
35 @node Common notation for vocal music
36 @subsection Common notation for vocal music
37
38 This section and sections 2.1.2 to 2.1.5 discuss issues common to
39 all types of vocal music.  Issues specific to certain types of
40 vocal music are covered in section 2.1.6 on.
41
42 @menu
43 * Common references for vocal music::
44 @end menu
45
46
47 @node Common references for vocal music
48 @unnumberedsubsubsec Common references for vocal music
49
50 This section indicates where to find details of notation issues
51 that may arise in any type of vocal music.
52
53 @itemize
54
55 @item
56 Most styles of vocal music use written text as lyrics.  An introduction
57 to this notation is to be found in @rlearning{Setting simple songs}.
58
59 @item
60 Vocal music is likely to require the use of @code{markup} mode, either
61 for lyrics of for other text elements (character's names, etc.).
62 This syntax is described in @ref{Text markup introduction}.
63
64 @item
65 @q{Ambitus} may be added at the beginning of vocal staves, as explained
66 in @ref{Ambitus}.
67
68 @end itemize
69
70
71 @node Entering lyrics
72 @subsection Entering lyrics
73
74 Lyrics are entered in lyric mode.  This section explains how this
75 done.
76
77 @menu
78 * Lyrics explained::
79 * Working with lyrics and variables::
80 @end menu
81
82
83 @node Lyrics explained
84 @unnumberedsubsubsec Lyrics explained
85
86 @cindex lyrics
87 @funindex \lyricmode
88 @cindex punctuation
89 @cindex spaces, in lyrics
90 @cindex quotes, in lyrics
91
92 @c TODO: this section is to be rewritten.
93 Since LilyPond input files are text, there is at least one
94 issue to consider when working with vocal music:
95 song texts must be interpreted as text, not notes.  For example, the
96 input@tie{}@code{d} should be interpreted as a one letter syllable,
97 not the note@tie{}D.
98 Therefore, a special lyric mode has to be used, either explicitly
99 or using some abbreviated methods.
100
101 Lyrics are entered in a special input mode, which can be introduced
102 by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
103 @code{\lyricsto}.  In this mode you can enter lyrics,
104 with punctuation and accents, and the input @code{d} is not parsed as
105 a pitch, but rather as a one letter syllable.  Syllables are entered
106 like notes, but with pitches replaced by text.  For example,
107
108 @example
109 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
110 @end example
111
112 There are two main methods to specify the horizontal placement
113 of the syllables, either by specifying the duration of each syllable
114 explicitly, like in the example above, or by automatically aligning
115 the lyrics to a melody or other voice of music, using @code{\addlyrics}
116 or @code{\lyricsto}.
117 @c  TODO: broken
118 @c For more details see @ref{The Lyrics context}.
119
120 A word or syllable of lyrics begins with an alphabetic character, and ends
121 with
122 any space or digit.  The following characters can be any character
123 that is not a digit or white space.
124
125 Any character that is not a digit or white space will be regarded as
126 part of the syllable; one important consequence of this is that a word
127 can end with @code{@}}, which often leads to the following mistake:
128
129 @example
130 \lyricmode @{ lah- lah@}
131 @end example
132
133 In this example, the @code{@}} is included in the final syllable, so the
134 opening brace is not balanced and the input file will probably not
135 compile.
136
137
138 @funindex \property in \lyricmode
139
140 @noindent
141 Similarly, a period which follows an alphabetic sequence is included in
142 the resulting string.  As a consequence, spaces must be inserted around
143 property commands: do @emph{not} write
144
145 @example
146 \override Score.LyricText #'font-shape = #'italic
147 @end example
148
149 @noindent
150 but instead use
151
152 @example
153 \override Score . LyricText #'font-shape = #'italic
154 @end example
155
156 @funindex _
157 @cindex spaces, in lyrics
158 @cindex quotes, in lyrics
159 @cindex ties, in lyrics
160
161 In order to assign more than one syllable to a single note, you can
162 surround them with quotes or use a @code{_} character, to get spaces
163 between syllables, or use tilde  symbol (@code{~}) to get a lyric tie.
164
165 @lilypond[quote,ragged-right,fragment,verbatim]
166 \time 3/4
167 \relative c' { c2 e4 g2 e4 }
168 \addlyrics { gran- de_a- mi- go }
169 \addlyrics { pu- "ro y ho-" nes- to }
170 \addlyrics { pu- ro~y~ho- nes- to }
171 @end lilypond
172
173 @noindent
174 The lyric tie is implemented with the Unicode character
175 @code{U+203F}; therefore a font that includes this glyph
176 (such as DejaVuLGC) has to be used.  More explanations about
177 text and non-text fonts can be found in @ref{Fonts}.
178
179
180 To enter lyrics with characters from non-English languages, or with
181 accented and special characters (such as the heart symbol or slanted quotes),
182 simply insert the characters directly into the input file and save
183 it with UTF-8 encoding.  See @ref{Text encoding}, for more info.
184
185 @lilypond[quote,ragged-right,fragment,verbatim]
186 \relative c' { e4 f e d e f e2 }
187 \addlyrics { He said: “Let my peo ple go”. }
188 @end lilypond
189
190 To use normal quotes in lyrics, add a backslash before the
191 quotes.  For example,
192
193 @lilypond[quote,ragged-right,fragment,verbatim]
194 \relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
195 \addlyrics { "\"I" am so lone- "ly\"" said she }
196 @end lilypond
197
198 The full definition of a word start in Lyrics mode is somewhat more
199 complex.
200
201 A word in Lyrics mode begins with: an alphabetic character, @code{_},
202 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
203 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
204 any 8-bit character with ASCII code over 127, or a two-character
205 combination of a backslash followed by one of @code{`}, @code{'},
206 @code{"}, or @code{^}.
207
208 @c " to balance double quotes for not-so-bright context-sensitive editors
209
210 To define variables containing lyrics, the function @code{lyricmode}
211 must be used.
212
213 @example
214 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
215 \score @{
216   <<
217     \new Voice = "one" \relative c'' @{
218       \autoBeamOff
219       \time 2/4
220       c4 b8. a16 g4. f8 e4 d c2
221     @}
222     \addlyrics @{ \verseOne @}
223   >>
224 @}
225 @end example
226
227
228 @seealso
229 Notation Reference:
230 @ref{Fonts}.
231
232 Internals Reference:
233 @rinternals{LyricText},
234 @rinternals{LyricSpace}.
235
236
237 @node Working with lyrics and variables
238 @unnumberedsubsubsec Working with lyrics and variables
239
240 @cindex lyrics, variables
241
242 To define variables containing lyrics, the function @code{\lyricmode}
243 must be used.  You do not have to enter durations though, if you add
244 @code{\addlyrics} or @code{\lyricsto}
245 when invoking your variable.
246
247 @example
248 verseOne = \lyricmode @{ Joy to the world the Lord is come @}
249 \score @{
250  <<
251    \new Voice = "one" \relative c'' @{
252      \autoBeamOff
253      \time 2/4
254      c4 b8. a16 g4. f8 e4 d c2
255    @}
256    \addlyrics @{ \verseOne @}
257  >>
258 @}
259 @end example
260
261 For different or more complex orderings, the best way is to set up the
262 hierarchy of staves and lyrics first, e.g.,
263 @example
264 \new ChoirStaff <<
265   \new Voice = "soprano" @{ @emph{music} @}
266   \new Lyrics = "sopranoLyrics" @{ s1 @}
267   \new Lyrics = "tenorLyrics" @{ s1 @}
268   \new Voice = "tenor" @{ @emph{music} @}
269 >>
270 @end example
271
272 @noindent
273 and then combine the appropriate melodies and lyric lines
274
275 @example
276 \context Lyrics = sopranoLyrics \lyricsto "soprano"
277 @emph{the lyrics}
278 @end example
279
280 @noindent
281 The final input would resemble
282
283 @example
284 <<\new ChoirStaff << @emph{setup the music} >>
285  \lyricsto "soprano" @emph{etc}
286  \lyricsto "alto" @emph{etc}
287 @emph{etc}
288 >>
289 @end example
290
291 @ignore
292 @c TODO
293 http://code.google.com/p/lilypond/issues/detail?id=329
294 The problem cannot be reproduced.
295 The following has no sense, because the issue seems to be fixed.
296 A comment is in tracker waiting for response ---FV
297
298
299 Be careful when defining a variable with lyrics that creates a new
300 context, for example, using the deprecated @code{\lyrics} command.  See
301 the next erroneous example:
302
303 @example
304 words = \lyrics{ %warning: this creates a new context
305  one two
306 }
307 <<
308   \new Voice = "sop" { c1 }
309   \new Lyrics \lyricsto "sop" { \words }
310   \new Voice = "alt" { c2 c }
311   \new Lyrics \lyricsto "alt" { \words }
312 >>
313 @end example
314
315 the problem is that \lyricsto will try to connect the "sop" melody with the context
316 created by "\new Lyrics".
317
318 Then \lyrics in \words creates another context, and the original "\new Lyrics" one
319 remains empty.
320
321 @end ignore
322
323
324 @seealso
325 @c TODO: document \new Staff << Voice \lyricsto >> bug
326 Internals Reference:
327 @rinternals{LyricCombineMusic},
328 @rinternals{Lyrics}.
329
330
331 @node Aligning lyrics to a melody
332 @subsection Aligning lyrics to a melody
333
334 @funindex \lyricmode
335 @funindex \addlyrics
336 @funindex \lyricsto
337
338 @c TODO: this stuff is to be rewritten. -vv
339
340 Aligning of text with melodies can be made automatically, but if you
341 specify the durations of the syllables it can also be made manually.
342 Lyrics aligning and typesetting are prepared with the help of skips,
343 hyphens and extender lines.
344
345 Lyrics are printed by interpreting them in the context called
346 @code{Lyrics}; see @rinternals{Lyrics}, for more.
347
348 @example
349 \new Lyrics \lyricmode @dots{}
350 @end example
351
352 There are two main methods to specify the horizontal placement
353 of the syllables:
354
355 @itemize
356 @item
357 by automatically aligning
358 the lyrics to a melody or other voice of music, using @code{\addlyrics}
359 or @code{\lyricsto}
360
361 @item
362 or by specifying the duration of each syllable
363 explicitly, using @code{\lyricmode}
364 @end itemize
365
366 The @code{Voice} context containing the melody to which the lyrics
367 are being aligned must not have @qq{died}, or the lyrics after that
368 point will be lost.  This can happen if there are periods when that
369 voice has nothing to do.  For methods of keeping contexts alive, see
370 @ref{Keeping contexts alive}.
371
372
373 @menu
374 * Automatic syllable durations::
375 * Manual syllable durations::
376 * Multiple syllables to one note::
377 * Multiple notes to one syllable::
378 * Skipping notes::
379 * Extenders and hyphens::
380 * Lyrics and repeats::
381 @end menu
382
383 @node Automatic syllable durations
384 @unnumberedsubsubsec Automatic syllable durations
385
386 @cindex automatic syllable durations
387 @cindex lyrics and melodies
388
389 The lyrics can be aligned under a given melody
390 automatically.  This is achieved by combining the
391 melody and the lyrics with the @code{\lyricsto} expression
392
393 @example
394 \new Lyrics \lyricsto @var{name} @dots{}
395 @end example
396
397 @noindent
398 This aligns the lyrics to the
399 notes of the @code{Voice} context called @var{name}, which must
400 already exist.  Therefore normally the @code{Voice} is specified first, and
401 then the lyrics are specified with @code{\lyricsto}.  The command
402 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
403 @code{\lyricmode} keyword may be omitted.
404
405 The following example uses different commands for entering lyrics.
406
407 @lilypond[quote,fragment,ragged-right,verbatim]
408 <<
409   \new Voice = "one" \relative c'' {
410     \autoBeamOff
411     \time 2/4
412     c4 b8. a16 g4. f8 e4 d c2
413   }
414
415 % not recommended: left-aligned syllables
416   \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
417
418 % wrong: durations needed
419   \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
420
421 %correct
422   \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
423 >>
424 @end lilypond
425
426 The second stanza is not properly aligned because the durations
427 were not specified.  A solution for that would be to use @code{\lyricsto}.
428
429 @cindex \addlyrics
430
431 The @code{\addlyrics} command is actually just a convenient way
432 to write a more complicated LilyPond structure that sets up the
433 lyrics.
434
435 @example
436 @{ MUSIC @}
437 \addlyrics @{ LYRICS @}
438 @end example
439
440 @noindent
441 is the same as
442
443 @example
444 \new Voice = "blah" @{ music @}
445 \new Lyrics \lyricsto "blah" @{ LYRICS @}
446 @end example
447
448 Here is an example,
449
450 @lilypond[ragged-right,verbatim,fragment,quote]
451 \time 3/4
452 \relative c' { c2 e4 g2. }
453 \addlyrics { play the game }
454 @end lilypond
455
456 More stanzas can be added by adding more
457 @code{\addlyrics} sections
458
459 @lilypond[ragged-right,verbatim,fragment,quote]
460 \time 3/4
461 \relative c' { c2 e4 g2. }
462 \addlyrics { play the game }
463 \addlyrics { speel het spel }
464 \addlyrics { joue le jeu }
465 @end lilypond
466
467 The command @code{\addlyrics} cannot handle polyphony settings.
468 For these cases you should use @code{\lyricsto} and
469 @code{\lyricmode}, for details see@ref{Lyrics explained}.
470
471 @node Manual syllable durations
472 @unnumberedsubsubsec Manual syllable durations
473
474 Lyrics can also be entered without @code{\addlyrics} or
475 @code{\lyricsto}.  In this case,
476 syllables are entered like notes -- but with pitches replaced by text -- and the
477 duration of each syllable must be entered explicitly.  For example:
478
479 @example
480 play2 the4 game2.
481 sink2 or4 swim2.
482 @end example
483
484 The alignment to a melody can be specified with the
485 @code{associatedVoice} property,
486
487 @example
488 \set associatedVoice = #"lala"
489 @end example
490
491 @noindent
492 The value of the property (here: @code{"lala"}) should be the name of
493 a @code{Voice} context.  Without this setting, extender lines
494 will not be formatted properly.
495
496 Here is an example demonstrating manual lyric durations,
497
498 @lilypond[relative=1,ragged-right,verbatim,fragment,quote]
499 << \new Voice = "melody" {
500     \time 3/4
501     c2 e4 g2.
502  }
503  \new Lyrics \lyricmode {
504    \set associatedVoice = #"melody"
505    play2 the4 game2.
506  } >>
507 @end lilypond
508
509
510 @seealso
511 Notation Reference:
512 @ref{Keeping contexts alive}.
513
514 Internals Reference:
515 @rinternals{Lyrics},
516 @rinternals{Voice}.
517
518
519 @node Multiple syllables to one note
520 @unnumberedsubsubsec Multiple syllables to one note
521
522
523 @funindex _
524 @cindex ties, in lyrics
525
526 In order to assign more than one syllable to a single note, you can
527 surround them with quotes or use a @code{_} character, to get spaces
528 between syllables, or use tilde  symbol (@code{~}) to get a lyric
529 tie.@footnote{The lyric ties is implemented with the Unicode character
530 U+203F, so be
531 sure to have a font (like DejaVuLGC) installed that includes this
532 glyph.}
533
534 @lilypond[quote,ragged-right,fragment,verbatim]
535 \time 3/4
536 \relative c' { c2 e4 g2 e4 }
537 \addlyrics { gran- de_a- mi- go }
538 \addlyrics { pu- "ro y ho-" nes- to }
539 \addlyrics { pu- ro~y~ho- nes- to }
540 @end lilypond
541
542
543 @seealso
544 Internals Reference:
545 @rinternals{LyricCombineMusic}.
546
547
548 @c Here come the section which used to be "Melismata"
549 @c the new title might be more self-explanatory
550
551
552 @node Multiple notes to one syllable
553 @unnumberedsubsubsec Multiple notes to one syllable
554
555 @cindex melisma
556 @cindex melismata
557 @cindex phrasing, in lyrics
558
559 Sometimes, particularly in Medieval music, several notes are to be sung on one
560 single syllable; such vocalises are called melismas, or melismata.
561
562 @c this method seems to be the simplest; therefore
563 @c it might be better to present it first - vv
564
565 You can define melismata entirely in the lyrics, by entering @code{_}
566 for every extra note that has to be added to the melisma.
567
568 @c TODO: clarify: __ is used to crate a lyric extender,
569 @c _ is used to add a note to a melisma, so both __ and _ are needed.
570
571 @c verbose! --FV
572 @c duplicated: TODO fix
573 Additionally, you can make an extender line to be typeset to indicate
574 the melisma in the score, writing a double underscore next to the
575 first syllable of the melisma.  This example shows the three elements
576 that are used for this purpose (all of them surrounded by spaces):
577 double hyphens to separate syllables in a word, underscores to add
578 notes to a melisma, and a double underscore to put an extender line.
579
580 @c wrong: extender line only on last syllable of a word.  Change example
581 @lilypond[relative=1,verbatim,fragment,quote]
582 { \set melismaBusyProperties = #'()
583  c d( e) f f( e) e e  }
584 \addlyrics
585  { Ky -- _ _ ri __ _ _ _  e }
586 @end lilypond
587
588 In this case, you can also have ties and slurs in the melody if you
589 set @code{melismaBusyProperties}, as is done in the example above.
590
591 However, the @code{\lyricsto} command can also
592 detect melismata automatically: it only puts one
593 syllable under a tied or slurred group of notes.  If you want to force
594 an unslurred group of notes to be a melisma, insert @code{\melisma}
595 after the first note of the group, and @code{\melismaEnd} after the
596 last one, e.g.,
597
598 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
599 <<
600   \new Voice = "lala" {
601     \time 3/4
602     f4 g8
603     \melisma
604     f e f
605     \melismaEnd
606     e2
607   }
608   \new Lyrics \lyricsto "lala" {
609     la di __ daah
610   }
611 >>
612 @end lilypond
613
614 In addition, notes are considered a melisma if they are manually
615 beamed, and automatic beaming (see @ref{Setting automatic beam
616 behavior}) is switched off.
617
618 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
619 <<
620   \new Voice = "lala" {
621     \time 3/4
622     \autoBeamOff
623     f4 g8[ f e f]
624     e2
625   }
626   \new Lyrics \lyricsto "lala" {
627     la di __ daah
628   }
629 >>
630 @end lilypond
631
632 @c TODO: this now links to LM -vv
633 @c   umm, yeah... so what?  -gp
634
635 @cindex SATB
636 @cindex choral score
637
638 A complete example of a SATB score setup is in
639 @rlearning{Vocal ensembles}.
640
641
642 @predefined
643 @funindex \melisma
644 @code{\melisma},
645 @funindex \melismaEnd
646 @code{\melismaEnd}.
647 @endpredefined
648
649
650 @c @seealso
651 @c @lsr{vocal,lyric@/-combine.ly}.
652
653
654 @knownissues
655
656 Melismata are not detected automatically, and extender lines must be
657 inserted by hand.
658
659 @node Skipping notes
660 @unnumberedsubsubsec Skipping notes
661
662 Making a lyric line run slower than the melody can be achieved by
663 inserting @code{\skip}s into the lyrics.  For every @code{\skip},
664 the text will be delayed another note.  The @code{\skip} command
665 must be followed by a valid duration, but this is ignored when
666 @code{\skip} is used in lyrics.
667
668 @lilypond[verbatim,ragged-right,quote]
669 \relative c' { c c g' }
670 \addlyrics {
671   twin -- \skip 4
672   kle
673 }
674 @end lilypond
675
676
677 @node Extenders and hyphens
678 @unnumberedsubsubsec Extenders and hyphens
679
680 @cindex melisma
681 @cindex extender
682
683 @c leave this as samp. -gp
684 In the last syllable of a word, melismata are sometimes indicated with
685 a long horizontal line starting in the melisma syllable, and ending in
686 the next one.  Such a line is called an extender line, and it is
687 entered as @samp{ __ } (note the spaces before and after the two
688 underscore characters).
689
690 @warning{Melismata are indicated in the score with extender lines,
691 which are entered as one double underscore; but short melismata can
692 also be entered by skipping individual notes, which are entered as
693 single underscore characters; these do not make an extender line to be
694 typeset by default.}
695
696 @cindex hyphens
697
698 @c leave this as samp. -gp
699 Centered hyphens are entered as @samp{ -- } between syllables of a same word
700 (note the spaces before and after the two hyphen characters).  The hyphen
701 will be centered between the syllables, and its length will be adjusted
702 depending on the space between the syllables.
703
704 In tightly engraved music, hyphens can be removed.  Whether this
705 happens can be controlled with the @code{minimum-distance} (minimum
706 distance between two syllables) and the @code{minimum-length}
707 (threshold below which hyphens are removed).
708
709
710 @seealso
711 Internals Reference:
712 @rinternals{LyricExtender},
713 @rinternals{LyricHyphen}.
714
715
716 @node Lyrics and repeats
717 @unnumberedsubsubsec Lyrics and repeats
718
719 @c TODO New section.  Add text
720 TBC
721
722
723 @node Techniques specific to lyrics
724 @subsection Techniques specific to lyrics
725
726 @c TODO This whole section is to be reorganized. -vv
727
728 Often, different stanzas of one song are put to one melody in slightly
729 differing ways.  Such variations can still be captured with
730 @code{\lyricsto}.
731
732 @menu
733 * Divisi lyrics::
734 * Lyrics independent of notes::
735 * Spacing out syllables::
736 * Placement of lyrics between staves::
737 @end menu
738
739
740
741 @node Divisi lyrics
742 @unnumberedsubsubsec Divisi lyrics
743
744 You can display alternate (or divisi) lyrics by naming voice
745 contexts and attaching lyrics to those specific contexts.
746
747 @lilypond[verbatim,ragged-right,quote]
748 \score{ <<
749   \new Voice = "melody" {
750     \relative c' {
751       c4
752       <<
753         { \voiceOne c8 e }
754         \new Voice = "splitpart" { \voiceTwo c4 }
755       >>
756       \oneVoice c4 c | c
757     }
758   }
759   \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
760   \new Lyrics \lyricsto "splitpart" { will }
761 >> }
762 @end lilypond
763
764
765 You can use this trick to display different lyrics for a repeated
766 section.
767
768 @lilypond[verbatim,ragged-right,quote]
769 \score{ <<
770   \new Voice = "melody" \relative c' {
771     c2 e | g e | c1 |
772     \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | }
773     a2 b | c1}
774   \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode {
775     do mi sol mi do
776     la si do }
777   \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode {
778    do re mi fa sol }
779   \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode {
780    dodo rere mimi fafa solsol }
781 >>
782 }
783 @end lilypond
784
785
786
787 @node Lyrics independent of notes
788 @unnumberedsubsubsec Lyrics independent of notes
789
790 @cindex Devnull context
791
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
796 to place the lyrics.
797
798 @lilypond[quote,verbatim,ragged-right]
799 voice = {
800   c''2
801   \tag #'music { c''2 }
802   \tag #'lyricrhythm { c''4. c''8 }
803   d''1
804 }
805
806 lyr = \lyricmode { I like my cat! }
807
808 <<
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' }
814 >>
815 @end lilypond
816
817 This method is recommended only if the music in the @code{Devnull}
818 context does not contain melismata.  Melismata are defined by the
819 @code{Voice} context.  Connecting lyrics to a @code{Devnull} context
820 makes the voice/lyrics links to get lost, and so does the info on
821 melismata.  Therefore, if you link lyrics to a @code{Devnull} context,
822 the implicit melismata get ignored.
823
824 @c Conclusion: do not use devnull for lyrics -FV
825
826 @c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248
827
828 @node Spacing out syllables
829 @unnumberedsubsubsec Spacing out syllables
830
831 @cindex Spacing lyrics
832 @cindex Lyrics, increasing space between
833
834 To increase the spacing between lyrics, set the @code{minimum-distance}
835 property of @code{LyricSpace}.
836
837 @lilypond[relative,verbatim,fragment,quote,ragged-right]
838 {
839   c c c c
840   \override Lyrics.LyricSpace #'minimum-distance = #1.0
841   c c c c
842 }
843 \addlyrics {
844   longtext longtext longtext longtext
845   longtext longtext longtext longtext
846 }
847 @end lilypond
848
849 @noindent
850 To make this change for all lyrics in the score, set the property in the
851 layout.
852
853 @lilypond[verbatim,quote,ragged-right]
854 \score {
855   \relative c' {
856   c c c c
857   c c c c
858   }
859   \addlyrics {
860   longtext longtext longtext longtext
861   longtext longtext longtext longtext
862   }
863   \layout {
864     \context {
865       \Lyrics
866       \override LyricSpace #'minimum-distance = #1.0
867     }
868   }
869 }
870 @end lilypond
871
872 @c @snippets
873 @c This snippet has been renamed to "lyrics-alignment.ly"
874 @c update as soon as lsr/is updated -vv
875 @c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
876 @c {lyrics-alignment.ly}
877
878 @c TODO: move to LSR -vv
879 @snippets
880
881 Checking to make sure that text scripts and lyrics are within the margins is
882 a relatively large computational task.  To speed up processing, LilyPond does
883 not perform such calculations by default; to enable it, use
884
885 @example
886 \override Score.PaperColumn #'keep-inside-line = ##t
887 @end example
888
889 To make lyrics avoid bar lines as well, use
890
891 @example
892 \layout @{
893   \context @{
894     \Lyrics
895       \consists "Bar_engraver"
896       \consists "Separating_line_group_engraver"
897       \override BarLine #'transparent = ##t
898   @}
899 @}
900 @end example
901
902 @c TODO Create and add lsr example of lyricMelismaAlignment
903 @c It's used like this to center-align all lyric syllables,
904 @c even when notes are tied. -td
905
906 @ignore
907 \layout
908 {
909      \context { \Score lyricMelismaAlignment = #0 }
910 }
911 @end ignore
912
913
914 @node Placement of lyrics between staves
915 @unnumberedsubsubsec Placement of lyrics between staves
916
917 @c TODO Add text from -user
918 @c TODO Add new spacing properties, centering lyrics, etc
919 TBC
920
921 @node Stanzas
922 @subsection Stanzas
923
924 @menu
925 * Adding stanza numbers::
926 * Adding dynamics marks to stanzas::
927 * Adding singers' names to stanzas::
928 * Stanzas with different rhythms::
929 * Printing stanzas at the end::
930 * Printing stanzas at the end in multiple columns::
931 @end menu
932
933
934 @node Adding stanza numbers
935 @unnumberedsubsubsec Adding stanza numbers
936
937 @cindex stanza number
938
939 Stanza numbers can be added by setting @code{stanza}, e.g.,
940
941 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
942 \new Voice {
943   \time 3/4 g2 e4 a2 f4 g2.
944 } \addlyrics {
945   \set stanza = #"1. "
946   Hi, my name is Bert.
947 } \addlyrics {
948   \set stanza = #"2. "
949   Oh, ché -- ri, je t'aime
950 }
951 @end lilypond
952
953
954 @noindent
955 These numbers are put just before the start of the first syllable.
956
957 @c TODO Create and add snippet to show how two lines of a
958 @c stanza can be grouped together, along these lines:
959 @c (might need improving a bit) -td
960
961 @ignore
962 leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup
963 #"brace105" }
964
965 stanzaOneOne = {
966   \set stanza = \markup { "1. " \leftbrace }
967   \lyricmode { Child, you're mine and I love you.
968     Lend thine ear to what I say.
969
970   }
971 }
972
973 stanzaOneThree =  {
974 %  \set stanza = \markup { "   "}
975   \lyricmode { Child, I have no great -- er joy
976     Than to have you walk in truth.
977
978   }
979 }
980
981 \new Voice {
982   \repeat volta 2 { c'8 c' c' c' c' c' c'4
983                     c'8 c' c' c' c' c' c'4   }
984 }  \addlyrics { \stanzaOneOne }
985    \addlyrics { \stanzaOneThree }
986
987 @end ignore
988
989 @node Adding dynamics marks to stanzas
990 @unnumberedsubsubsec Adding dynamics marks to stanzas
991
992 Stanzas differing in loudness may be indicated by putting a
993 dynamics mark before each stanza.  In LilyPond, everything coming in
994 front of a stanza goes into the @code{StanzaNumber} object; dynamics marks
995 are no different.  For technical reasons, you have to set the stanza
996 outside @code{\lyricmode}:
997
998 @lilypond[quote,ragged-right,verbatim]
999 text = {
1000   \set stanza = \markup { \dynamic "ff" "1. " }
1001   \lyricmode {
1002     Big bang
1003   }
1004 }
1005
1006 <<
1007   \new Voice = "tune" {
1008     \time 3/4
1009     g'4 c'2
1010   }
1011 \new Lyrics \lyricsto "tune" \text
1012 >>
1013 @end lilypond
1014
1015 @node Adding singers' names to stanzas
1016 @unnumberedsubsubsec Adding singers' names to stanzas
1017
1018 @cindex singer name
1019 @cindex name of singer
1020
1021 Names of singers can also be added.  They are printed at the start of
1022 the line, just like instrument names.  They are created by setting
1023 @code{vocalName}.  A short version may be entered as @code{shortVocalName}.
1024
1025 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
1026 \new Voice {
1027   \time 3/4 g2 e4 a2 f4 g2.
1028 } \addlyrics {
1029   \set vocalName = #"Bert "
1030   Hi, my name is Bert.
1031 } \addlyrics {
1032   \set vocalName = #"Ernie "
1033   Oh, ché -- ri, je t'aime
1034 }
1035 @end lilypond
1036
1037 @node Stanzas with different rhythms
1038 @unnumberedsubsubsec Stanzas with different rhythms
1039
1040 @subsubheading Ignoring melismata
1041
1042 One possibility is that the text has a melisma in one stanza, but
1043 multiple syllables in another one.  One solution is to make the faster
1044 voice ignore the melisma.  This is done by setting
1045 @code{ignoreMelismata} in the Lyrics context.
1046
1047 @lilypond[verbatim,ragged-right,quote]
1048 <<
1049   \relative c' \new Voice = "lahlah" {
1050     \set Staff.autoBeaming = ##f
1051     c4
1052     \slurDotted
1053     f8.[( g16])
1054     a4
1055   }
1056   \new Lyrics \lyricsto "lahlah" {
1057     more slow -- ly
1058   }
1059   \new Lyrics \lyricsto "lahlah" {
1060     go
1061     \set ignoreMelismata = ##t
1062     fas -- ter
1063     \unset ignoreMelismata
1064     still
1065   }
1066 >>
1067 @end lilypond
1068
1069 @knownissues
1070 Unlike most @code{\set} commands, @code{\set ignoreMelismata} does
1071 not work if prefixed with @code{\once}.  It is necessary to use
1072 @code{\set} and @code{\unset} to bracket the lyrics where melismata
1073 are to be ignored.
1074
1075 @subsubheading Adding syllables to grace notes
1076
1077 By default, grace notes (e.g. via @code{\grace}) do not get assigned
1078 syllables when using @code{\lyricsto}, but this behavior can be
1079 changed:
1080
1081 @lilypond[verbatim,ragged-right,quote]
1082 \relative c' {
1083   f4 \appoggiatura a32 b4
1084   \grace { f16[ a16] } b2
1085   \afterGrace b2 { f16[ a16] }
1086   \appoggiatura a32 b4
1087   \acciaccatura a8 b4
1088 }
1089 \addlyrics {
1090   normal
1091   \set includeGraceNotes = ##t
1092   case,
1093   gra -- ce case,
1094   after -- grace case,
1095   \set ignoreMelismata = ##t
1096   app. case,
1097   acc. case.
1098 }
1099 @end lilypond
1100
1101 @knownissues
1102 Like for @code{associatedVoice}, @code{includeGraceNotes} needs to be
1103 set at latest one syllable before the one which is to be put under a
1104 grace note.  For the case of a grace note at the very beginning of a
1105 piece of music, consider using a @code{\with} or @code{\context}
1106 block:
1107
1108 @lilypond[verbatim,ragged-right,quote]
1109 <<
1110   \new Voice = melody \relative c' {
1111     \grace { c16[( d e f] }
1112     g1) f
1113   }
1114   \new Lyrics \with { includeGraceNotes = ##t }
1115   \lyricsto melody {
1116     Ah __ fa
1117   }
1118 >>
1119 @end lilypond
1120
1121 @subsubheading Switching to an alternative melody
1122
1123 More complex variations in text underlay are possible.  It is possible
1124 to switch the melody for a line of lyrics during the text.  This is
1125 done by setting the @code{associatedVoice} property.  In the example
1126
1127 @lilypond[ragged-right,quote]
1128 <<
1129   \relative c' \new Voice = "lahlah" {
1130     \set Staff.autoBeaming = ##f
1131     c4
1132     <<
1133       \new Voice = "alternative" {
1134         \voiceOne
1135         \times 2/3 {
1136           % show associations clearly.
1137           \override NoteColumn #'force-hshift = #-3
1138           f8 f g
1139         }
1140       }
1141       {
1142         \voiceTwo
1143         f8.[ g16]
1144         \oneVoice
1145       } >>
1146     a8( b) c
1147   }
1148   \new Lyrics \lyricsto "lahlah" {
1149     Ju -- ras -- sic Park
1150   }
1151   \new Lyrics \lyricsto "lahlah" {
1152     % Tricky: need to set associatedVoice
1153     % one syllable too soon!
1154     \set associatedVoice = alternative % applies to "ran"
1155     Ty --
1156     ran --
1157     no --
1158     \set associatedVoice = lahlah % applies to "rus"
1159     sau -- rus Rex
1160   } >>
1161 @end lilypond
1162
1163 @noindent
1164 the text for the first stanza is set to a melody called @q{lahlah},
1165
1166 @example
1167 \new Lyrics \lyricsto "lahlah" @{
1168   Ju -- ras -- sic Park
1169 @}
1170 @end example
1171
1172
1173 The second stanza initially is set to the @code{lahlah} context, but
1174 for the syllable @q{ran}, it switches to a different melody.
1175 This is achieved with
1176 @example
1177 \set associatedVoice = alternative
1178 @end example
1179
1180 @noindent
1181 Here, @code{alternative} is the name of the @code{Voice} context
1182 containing the triplet.
1183
1184 @c TODO: make this easier to understand -vv
1185 This command must be one syllable too early, before @q{Ty} in this
1186 case.  In other words, changing the associatedVoice happens one step
1187 later than expected.  This is for technical reasons, and it is not a
1188 bug.
1189
1190 @example
1191 \new Lyrics \lyricsto "lahlah" @{
1192   \set associatedVoice = alternative % applies to "ran"
1193   Ty --
1194   ran --
1195   no --
1196   \set associatedVoice = lahlah % applies to "rus"
1197   sau -- rus Rex
1198 @}
1199 @end example
1200
1201 @noindent
1202 The underlay is switched back to the starting situation by assigning
1203 @code{lahlah} to @code{associatedVoice}.
1204
1205
1206 @node Printing stanzas at the end
1207 @unnumberedsubsubsec Printing stanzas at the end
1208
1209 Sometimes it is appropriate to have one stanza set
1210 to the music, and the rest added in verse form at
1211 the end of the piece.  This can be accomplished by adding
1212 the extra verses into a @code{\markup} section outside
1213 of the main score block.  Notice that there are two
1214 different ways to force linebreaks when using
1215 @code{\markup}.
1216
1217 @lilypond[ragged-right,verbatim,quote]
1218 melody = \relative c' {
1219 e d c d | e e e e |
1220 d d e d | c1 |
1221 }
1222
1223 text = \lyricmode {
1224 \set stanza = #"1." Ma- ry had a lit- tle lamb,
1225 its fleece was white as snow.
1226 }
1227
1228 \score{ <<
1229   \new Voice = "one" { \melody }
1230   \new Lyrics \lyricsto "one" \text
1231 >>
1232   \layout { }
1233 }
1234 \markup { \column{
1235   \line{ Verse 2. }
1236   \line{ All the children laughed and played }
1237   \line{ To see a lamb at school. }
1238   }
1239 }
1240 \markup{
1241   \wordwrap-string #"
1242   Verse 3.
1243
1244   Mary took it home again,
1245
1246   It was against the rule."
1247 }
1248 @end lilypond
1249
1250
1251 @node Printing stanzas at the end in multiple columns
1252 @unnumberedsubsubsec Printing stanzas at the end in multiple columns
1253
1254 When a piece of music has many verses, they are often printed in
1255 multiple columns across the page.  An outdented verse number often
1256 introduces each verse.  The following example shows how to produce such
1257 output in LilyPond.
1258
1259 @lilypond[ragged-right,quote,verbatim]
1260 melody = \relative c' {
1261   c c c c | d d d d
1262 }
1263
1264 text = \lyricmode {
1265   \set stanza = #"1." This is verse one.
1266   It has two lines.
1267 }
1268
1269 \score{ <<
1270     \new Voice = "one" { \melody }
1271     \new Lyrics \lyricsto "one" \text
1272    >>
1273   \layout { }
1274 }
1275
1276 \markup {
1277   \fill-line {
1278     \hspace #0.1 % moves the column off the left margin;
1279         % can be removed if space on the page is tight
1280      \column {
1281       \line { \bold "2."
1282         \column {
1283           "This is verse two."
1284           "It has two lines."
1285         }
1286       }
1287       \hspace #0.1 % adds vertical spacing between verses
1288       \line { \bold "3."
1289         \column {
1290           "This is verse three."
1291           "It has two lines."
1292         }
1293       }
1294     }
1295     \hspace #0.1  % adds horizontal spacing between columns;
1296         % if they are still too close, add more " " pairs
1297         % until the result looks good
1298      \column {
1299       \line { \bold "4."
1300         \column {
1301           "This is verse four."
1302           "It has two lines."
1303         }
1304       }
1305       \hspace #0.1 % adds vertical spacing between verses
1306       \line { \bold "5."
1307         \column {
1308           "This is verse five."
1309           "It has two lines."
1310         }
1311       }
1312     }
1313   \hspace #0.1 % gives some extra space on the right margin;
1314       % can be removed if page space is tight
1315   }
1316 }
1317 @end lilypond
1318
1319
1320 @seealso
1321 Internals Reference:
1322 @rinternals{LyricText},
1323 @rinternals{StanzaNumber}.
1324
1325
1326 @node Songs
1327 @subsection Songs
1328
1329 @menu
1330 * References for songs::
1331 * Lead sheets::
1332 @end menu
1333
1334 @node References for songs
1335 @unnumberedsubsubsec References for songs
1336
1337 @c TODO chords, setting simple songs (LM), stanzas
1338 TBC
1339
1340 @node Lead sheets
1341 @unnumberedsubsubsec Lead sheets
1342
1343 Lead sheets may be printed by combining vocal parts and @q{chord mode};
1344 this syntax is explained in @ref{Chord notation}.
1345
1346 @snippets
1347 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1348 {simple-lead-sheet.ly}
1349
1350 @seealso
1351 Notation Reference:
1352 @ref{Chord notation}.
1353
1354
1355 @node Choral
1356 @subsection Choral
1357
1358 @cindex anthems
1359 @cindex part songs
1360 @cindex oratorio
1361 @cindex SATB
1362
1363 This section discusses notation issues that relate most directly
1364 to choral music.  This includes anthems, part songs, oratorio,
1365 etc.
1366
1367 @menu
1368 * References for choral::
1369 * Score layouts::
1370 @end menu
1371
1372 @node References for choral
1373 @unnumberedsubsubsec References for choral
1374
1375 Choral music is usually notated on two, three or four staves within
1376 a @code{ChoirStaff} group.  Accompaniment, if required, is placed
1377 beneath in a @code{PianoStaff} group, which is usually reduced in
1378 size for @emph{a capella} choral works.  The notes for each vocal
1379 part are placed in a @code{Voice} context, with each either on a
1380 staff of its own or grouped in pairs on a single staff.
1381
1382 Words are placed in @code{Lyrics} contexts, either underneath each
1383 corresponding music staff, or one above and one below the music
1384 staff if this contains the music for two parts.
1385
1386 Several common topics in choral music are described fully elsewhere:
1387
1388 @itemize
1389
1390 @item
1391 An introduction to creating an SATB vocal score can be found in
1392 the Learning Manual, see @rlearning{Four-part SATB vocal score}.
1393
1394 @item
1395 Several templates suitable for various styles of choral music can
1396 also be found in the Learning Manual, see
1397 @rlearning{Vocal ensembles}.
1398
1399 @item
1400 For information about @code{ChoirStaff} and @code{PianoStaff} see
1401 @ref{Grouping staves}.
1402
1403 @item
1404 General information about entering the words (i.e. @qq{lyrics}) to
1405 vocal music is described in sections 2.1.2 to 2.1.5 of this manual.
1406 All these sections are relevant to choral music.
1407
1408 @item
1409 Shape noteheads, as used in Sacred Harp and similar notation, are
1410 described in @ref{Shape note heads}.
1411
1412 @end itemize
1413
1414 @seealso
1415 Learning Manual:
1416 @rlearning{Four-part SATB vocal score},
1417 @rlearning{Vocal ensembles}.
1418
1419 Notation Reference:
1420 @ref{Grouping staves},
1421 @ref{Context layout order},
1422 @ref{Shape note heads}.
1423
1424 Internals Reference:
1425 @rinternals{ChoirStaff},
1426 @rinternals{Lyrics},
1427 @rinternals{PianoStaff}.
1428
1429 @node Score layouts
1430 @unnumberedsubsubsec Score layouts
1431
1432 @c TODO 2-stave and 4-stave, accompaniment, SATB, different lyrics
1433 @c fitting 2 systems on a page
1434
1435 TBC
1436
1437 @node Opera and stage musicals
1438 @subsection Opera and stage musicals
1439
1440 @menu
1441 * References for opera and stage musicals::
1442 * Spoken music::
1443 * Dialogue over music::
1444 @end menu
1445
1446 @node References for opera and stage musicals
1447 @unnumberedsubsubsec References for opera and stage musicals
1448
1449 @c TODO Choral, cues, character names, French staves
1450 @c vocal/conductor scores
1451 @c add characters names snippet -vv
1452
1453 TBC
1454
1455 @node Spoken music
1456 @unnumberedsubsubsec Spoken music
1457
1458 @cindex parlato
1459 @cindex Sprechgesang
1460 Such effects as @q{parlato} or @q{Sprechgesang} require performers to speak
1461 without pitch but still with rhythm; these are notated by cross
1462 note heads, as demonstrated in @ref{Special note heads}.
1463
1464 @c TODO add "marking-notes-on-spoken-parts" snippet -vv
1465 @c add "showing the rhythm of a melody" snip
1466 @c add "one staff-line notation"
1467 @c add "improvisation" ref
1468 @c add "lyrics independents of notes" ref
1469
1470 @node Dialogue over music
1471 @unnumberedsubsubsec Dialogue over music
1472
1473 TBC
1474
1475
1476 @node Chants hymns and psalms
1477 @subsection Chants hymns and psalms
1478
1479 @menu
1480 * References for chants hymns and psalms::
1481 * Partial measures::
1482 * Multiple syllables to a note::
1483 * Pointing::
1484 @end menu
1485
1486 @node References for chants hymns and psalms
1487 @unnumberedsubsubsec References for chants hymns and psalms
1488
1489 @c TODO Add text from lsr and -user
1490 TBC
1491
1492 @node Partial measures
1493 @unnumberedsubsubsec Partial measures
1494
1495 Hymn tunes frequently start and end every line of music with
1496 partial measures so that each line of music corresponds exactly
1497 with a line of text.  This requires a @code{\partial} command at
1498 the start of the music and @code{\bar "|"} or @code{\bar "||"}
1499 commands at the end of each line.
1500
1501 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1502 {hymn-template.ly}
1503
1504
1505 @node Multiple syllables to a note
1506 @unnumberedsubsubsec Multiple syllables to a note
1507
1508 TBC
1509
1510 @node Pointing
1511 @unnumberedsubsubsec Pointing
1512
1513 TBC
1514
1515 @node Ancient vocal music
1516 @subsection Ancient vocal music
1517
1518 Ancient vocal music is supported, as explained in @ref{Ancient notation}.
1519
1520 @c TODO
1521
1522 @c Add "Printing both the ancient and the modern clef in vocal music" snippet,
1523 @c and "Transcription of Ancient music with incipit" snippet. -vv
1524
1525 @seealso
1526 Notation Reference:
1527 @ref{Ancient notation}.
1528
1529
1530
1531