X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fvocal.itely;h=118a58e4822b7ca9959377fbfc1550f4694e438f;hb=07125596018d32e3235e80627915cfac77323272;hp=f2ea75ca29d57ef72cbe5acfff8bbd6c13896cc3;hpb=f71ede90de06fdc16dad9ed75f38558efe819080;p=lilypond.git diff --git a/Documentation/notation/vocal.itely b/Documentation/notation/vocal.itely index f2ea75ca29..118a58e482 100644 --- a/Documentation/notation/vocal.itely +++ b/Documentation/notation/vocal.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.14.0" +@c \version "2.19.21" @node Vocal music @section Vocal music @@ -63,7 +63,7 @@ introduction to this notation is to be found in @item Vocal music is likely to require the use of @code{markup} mode, either for lyrics or for other text elements (characters' names, -etc.) This syntax is described in @ref{Text markup introduction}. +etc.). This syntax is described in @ref{Text markup introduction}. @item @notation{Ambitus} may be added at the beginning of vocal staves, @@ -149,25 +149,6 @@ compile. Instead, braces should always be surrounded with white space: \lyricmode @{ lah lah lah @} @end example -@cindex overrides in lyric mode -@funindex \override in \lyricmode - -Similarly, in lyric mode, a period will be included in the -alphabetic sequence that it follows. As a consequence, spaces -must be inserted around the period in @code{\override} commands. -Do @emph{not} write - -@example -\override Score.LyricText #'font-shape = #'italic -@end example - -@noindent -but instead use - -@example -\override Score . LyricText #'font-shape = #'italic -@end example - Punctuation, lyrics with accented characters, characters from non-English languages, or special characters (such as the heart symbol or slanted quotes), may simply be inserted directly @@ -175,7 +156,7 @@ into the input file, providing it is saved with UTF-8 encoding. For more information, see @ref{Special characters}. @lilypond[quote,verbatim] -\relative c'' { d8 c16 a bes8 f e' d c4 } +\relative { d''8 c16 a bes8 f ees' d c4 } \addlyrics { „Schad’ um das schö -- ne grü -- ne Band, } @end lilypond @@ -184,7 +165,7 @@ with a backslash character and the whole syllable has to be enclosed between additional quotes. For example, @lilypond[quote,verbatim] -\relative c' { \time 3/4 e4 e4. e8 d4 e d c2. } +\relative { \time 3/4 e'4 e4. e8 d4 e d c2. } \addlyrics { "\"I" am so lone -- "ly,\"" said she } @end lilypond @@ -237,13 +218,22 @@ Snippets: @funindex \addlyrics @funindex \lyricsto -Lyrics are printed by interpreting them in the context called -@code{Lyrics}, see @ref{Contexts explained}. +Lyrics are interpreted in @code{\lyricmode} and printed in a +@code{Lyrics} context, see @ref{Contexts explained}. @example \new Lyrics \lyricmode @{ @dots{} @} @end example +Two variants of @code{\lyricmode} additionally set an associated +context used to synchronise the lyric syllables to music. The more +convenient @code{\addlyrics} immediately follows the musical content +of the Voice context with which it should be synchronised, implicitly +creating a Lyrics context of its own. The more versatile +@code{\lyricsto} requires both specifying the associated Voice context +by name and explicitly creating a containing Lyrics context. For +details see @ref{Automatic syllable durations}. + Lyrics can be aligned with melodies in two main ways: @itemize @@ -259,13 +249,13 @@ For more details, see @ref{Automatic syllable durations}. << \new Staff << \time 2/4 - \new Voice = "one" \relative c'' { + \new Voice = "one" \relative { \voiceOne - c4 b8. a16 g4. r8 a4 ( b ) c2 + c''4 b8. a16 g4. r8 a4 ( b ) c2 } - \new Voice = "two" \relative c' { + \new Voice = "two" \relative { \voiceTwo - s2 s4. f8 e4 d c2 + s2 s4. f'8 e4 d c2 } >> @@ -299,9 +289,9 @@ and entered with @code{\lyricmode}. @lilypond[quote,ragged-right,verbatim] << - \new Voice = "one" \relative c'' { + \new Voice = "one" \relative { \time 2/4 - c4 b8. a16 g4. f8 e4 d c2 + c''4 b8. a16 g4. f8 e4 d c2 } % uses previous explicit duration of 2; @@ -328,11 +318,6 @@ see @ref{Manual syllable durations}. This technique is also useful when setting dialogue over music; for examples showing this, see @ref{Dialogue over music}. -When entered in this way the words are left-aligned to the notes -by default, but may be center-aligned to the notes of a melody by -specifying an associated voice, if one exists. For details, see -@ref{Manual syllable durations}. - @end itemize @seealso @@ -399,10 +384,10 @@ Lyrics can be aligned under a melody automatically by specifying the named Voice context containing the melody with @code{\lyricsto}: -@lilypond[quote,verbatim,relative=2] +@lilypond[quote,verbatim] << - \new Voice = "melody" { - a4 a a a + \new Voice = "melody" \relative { + a'1 a4. a8 a2 } \new Lyrics \lyricsto "melody" { These are the words @@ -416,9 +401,9 @@ context, which must already exist. Therefore normally the @code{Voice} context is specified first, followed by the @code{Lyrics} context. The lyrics themselves follow the @code{\lyricsto} command. The @code{\lyricsto} command -invokes lyric mode automatically, so the @code{\lyricmode} keyword -may be omitted. By default, the lyrics are placed underneath the -notes. For other placements, see @ref{Placing lyrics vertically}. +invokes lyric mode automatically. By default, the lyrics are placed +underneath the notes. For other placements, see +@ref{Placing lyrics vertically}. @subheading Using @code{\addlyrics} @@ -447,7 +432,7 @@ Here is an example, @lilypond[verbatim,quote] { \time 3/4 - \relative c' { c2 e4 g2. } + \relative { c'2 e4 g2. } \addlyrics { play the game } } @end lilypond @@ -459,7 +444,7 @@ More stanzas can be added by adding more @lilypond[ragged-right,verbatim,quote] { \time 3/4 - \relative c' { c2 e4 g2. } + \relative { c'2 e4 g2. } \addlyrics { play the game } \addlyrics { speel het spel } \addlyrics { joue le jeu } @@ -467,6 +452,7 @@ More stanzas can be added by adding more @end lilypond The command @code{\addlyrics} cannot handle polyphonic settings. +Also, it cannot be used to associate lyrics to a @code{TabVoice}. For these cases one should use @code{\lyricsto}. @subheading Using associatedVoice @@ -491,13 +477,13 @@ Here is an example demonstrating its use: << \new Staff << \time 2/4 - \new Voice = "one" \relative c'' { + \new Voice = "one" \relative { \voiceOne - c4 b8. a16 g4. r8 a4 ( b ) c2 + c''4 b8. a16 g4. r8 a4 ( b ) c2 } - \new Voice = "two" \relative c' { + \new Voice = "two" \relative { \voiceTwo - s2 s4. f8 e8 d4. c2 + s2 s4. f'8 e8 d4. c2 } >> % takes durations and alignment from notes in "one" initially @@ -527,21 +513,19 @@ completely independently of notes. In this case do not use but with pitches replaced by text -- and the duration of each syllable is entered explicitly after the syllable. -By default, syllables will be left-aligned to the corresponding -musical moment. Hyphenated lines may be drawn between syllables +Hyphenated lines may be drawn between syllables as usual, but extender lines cannot be drawn when there is no associated voice. Here are two examples: -@lilypond[relative=1,verbatim,quote] +@lilypond[verbatim,quote] << - \new Voice = "melody" { - \time 3/4 - c2 e4 g2 f + \new Voice = "melody" \relative { + c''2 a f f e e } \new Lyrics \lyricmode { - play1 the4 game4 + c4. -- a -- f -- f -- e2. -- e } >> @end lilypond @@ -550,8 +534,8 @@ Here are two examples: @lilypond[quote,verbatim,ragged-right] << \new Staff { - \relative c'' { - c2 c2 + \relative { + c''2 c2 d1 } } @@ -561,8 +545,8 @@ Here are two examples: } } \new Staff { - \relative c' { - c8 c c c c c c c + \relative { + c'8 c c c c c c c c8 c c c c c c c } } @@ -572,27 +556,22 @@ Here are two examples: This technique is useful when writing dialogue over music, see @ref{Dialogue over music}. -To center-align syllables on the notes at the corresponding musical -moments, set @code{associatedVoice} to the name of the Voice context -containing those notes. When @code{associatedVoice} is set, both -double hyphens and double underscores can be used to draw -hyphenated lines and extenders under melismata correctly. +To change syllable alignment, simply override the @code{self-alignment-X} +property: -@lilypond[relative=1,verbatim,quote] +@lilypond[verbatim,quote] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 - c2 e4 g f g + c'2 e4 g2 f } \new Lyrics \lyricmode { - \set associatedVoice = #"melody" - play2 the4 game2. __ + \override LyricText.self-alignment-X = #LEFT + play1 a4 game4 } >> @end lilypond -@c TODO see also feature request 707 - show how to do this with manual durations - @seealso Notation Reference: @ref{Dialogue over music}. @@ -617,9 +596,15 @@ the tilde symbol (@code{~}) to get a lyric tie. @lilypond[quote,ragged-right,verbatim] { - \relative c'' { \autoBeamOff - r8 b c fis, fis c' b e, } - \addlyrics { Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da } + \relative { + \autoBeamOff + r8 b' c fis, fis c' b e, + } + \addlyrics + { + \override LyricHyphen.minimum-distance = #1.0 % Ensure hyphens are visible + Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da + } \addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da } \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da } } @@ -639,12 +624,12 @@ Internals Reference: @funindex \melisma @funindex \melismaEnd -Sometimes, particularly in Medieval music, several notes are to be -sung on one syllable; such vocalises are called melismata, or -@rglos{melisma}s. The syllable to a melisma is usually +Sometimes, particularly in Medieval and baroque music, several notes are +sung on one syllable; this is called melisma, see +@rglos{melisma}. The syllable to a melisma is usually left-aligned with the first note of the melisma. -When a melisma occurs on a syllable other that the last one in a +When a melisma occurs on a syllable other than the last one in a word, that syllable is usually joined to the following one with a hyphenated line. This is indicated by placing a double hyphen, @w{@code{--}}, immediately after the syllable. @@ -662,13 +647,13 @@ There are five ways in which melismata can be indicated: Melismata are created automatically over notes which are tied together: -@lilypond[quote,relative=2,verbatim] +@lilypond[quote,verbatim] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 - f4 g2 ~ | - g4 e2 ~ | - e8 + f''4 g2 ~ | + 4 e2 ~ | + 8 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e __ @@ -681,11 +666,11 @@ Melismata can be created automatically from the music by placing slurs over the notes of each melisma. This is the usual way of entering lyrics: -@lilypond[quote,relative=2,verbatim] +@lilypond[quote,verbatim] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 - f4 g8 ( f e f ) + f''4 g8 ( f e f ) e8 ( d e2 ) } \new Lyrics \lyricsto "melody" { @@ -694,17 +679,19 @@ entering lyrics: >> @end lilypond +Note that phrasing slurs do not affect the creation of melismata. + @item Notes are considered a melisma if they are manually beamed, providing automatic beaming is switched off. See @ref{Setting automatic beam behavior}. -@lilypond[quote,relative=2,verbatim] +@lilypond[quote,verbatim] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 \autoBeamOff - f4 g8[ f e f] + f''4 g8[ f e f] e2. } \new Lyrics \lyricsto "melody" { @@ -720,11 +707,11 @@ than eighth notes. An unslurred group of notes will be treated as a melisma if they are bracketed between @code{\melisma} and @code{\melismaEnd}. -@lilypond[quote,relative=2,verbatim] +@lilypond[quote,verbatim] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 - f4 g8 + f''4 g8 \melisma f e f \melismaEnd @@ -736,19 +723,16 @@ are bracketed between @code{\melisma} and @code{\melismaEnd}. >> @end lilypond -Note that this method cannot be used to indicate two melismata if -the first one is immediately followed by another. - @item A melisma can be defined entirely in the lyrics by entering a single underscore character, @code{_}, for every extra note that has to be added to the melisma. -@lilypond[verbatim, quote, relative=2] +@lilypond[verbatim, quote] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 - f4 g8 f e f + f''4 g8 f e f e8 d e2 } \new Lyrics \lyricsto "melody" { @@ -763,13 +747,13 @@ It is possible to have ties, slurs and manual beams in the melody without their indicating melismata. To do this, set @code{melismaBusyProperties}: -@lilypond[relative=1,verbatim,quote] +@lilypond[verbatim,quote] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 \set melismaBusyProperties = #'() - c4 d ( e ) - g8 [ f ] f4 ~ f + c'4 d ( e ) + g8 [ f ] f4 ~ 4 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e e -- le -- i -- son @@ -791,13 +775,13 @@ If a melisma is required during a passage in which placing a single underscore in the lyrics for each note which should be included in the melisma: -@lilypond[relative=1,verbatim,quote] +@lilypond[verbatim,quote] << - \new Voice = "melody" { + \new Voice = "melody" \relative { \time 3/4 \set melismaBusyProperties = #'() - c4 d ( e ) - g8 [ f ] ~ f4 ~ f + c'4 d ( e ) + g8 [ f ] ~ 4 ~ f } \new Lyrics \lyricsto "melody" { Ky -- ri -- _ e __ _ _ _ @@ -807,11 +791,11 @@ should be included in the melisma: @predefined - @code{\autoBeamOff}, @code{\autoBeamOn}, @code{\melisma}, @code{\melismaEnd}. +@endpredefined @seealso Musical Glossary: @@ -887,6 +871,7 @@ Internals Reference: * Placing syllables horizontally:: * Lyrics and repeats:: * Divisi lyrics:: +* Polyphony with shared lyrics:: @end menu @@ -900,8 +885,8 @@ Variables containing lyrics can be created, but the lyrics must be entered in lyric mode: @lilypond[quote,verbatim] -musicOne = \relative c'' { - c4 b8. a16 g4. f8 e4 d c2 +musicOne = \relative { + c''4 b8. a16 g4. f8 e4 d c2 } verseOne = \lyricmode { Joy to the world, the Lord is come. @@ -930,8 +915,8 @@ voices referenced by @code{\lyricsto} have always been defined earlier. For example: @lilypond[quote,verbatim] -sopranoMusic = \relative c'' { c4 c c c } -contraltoMusic = \relative c'' { a4 a a a } +sopranoMusic = \relative { c''4 c c c } +contraltoMusic = \relative { a'4 a a a } sopranoWords = \lyricmode { Sop -- ra -- no words } contraltoWords = \lyricmode { Con -- tral -- to words } @@ -989,7 +974,7 @@ context: << \new Staff { \new Voice = "melody" { - \relative c'' { c4 c c c } + \relative { c''4 c c c } } } \new Lyrics { @@ -1011,7 +996,7 @@ specify the position of the lyrics: << \new Staff = "staff" { \new Voice = "melody" { - \relative c'' { c4 c c c } + \relative { c''4 c c c } } } \new Lyrics \with { alignAboveContext = "staff" } { @@ -1034,11 +1019,11 @@ follows: << \new Lyrics = "lyrics" \with { % lyrics above a staff should have this override - \override VerticalAxisGroup #'staff-affinity = #DOWN + \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "melody" { - \relative c'' { c4 c c c } + \relative { c''4 c c c } } } \context Lyrics = "lyrics" { @@ -1059,17 +1044,17 @@ is an example of the second method: \new ChoirStaff << \new Staff { \new Voice = "sopranos" { - \relative c'' { c4 c c c } + \relative { c''4 c c c } } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \with { % lyrics above a staff should have this override - \override VerticalAxisGroup #'staff-affinity = #DOWN + \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "contraltos" { - \relative c'' { a4 a a a } + \relative { a'4 a a a } } } \context Lyrics = "sopranos" { @@ -1087,8 +1072,8 @@ is an example of the second method: @end lilypond Other combinations of lyrics and staves may be generated by -elaborating these examples, or by examining the -@rlearning{Vocal ensembles} templates in the Learning Manual. +elaborating these examples, or by examining the templates in the +Learning Manual, see @rlearning{Vocal ensembles templates}. @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] @@ -1096,11 +1081,11 @@ elaborating these examples, or by examining the @seealso Learning Manual: -@rlearning{Vocal ensembles}. +@rlearning{Vocal ensembles templates}. Notation Reference: @ref{Context layout order}, -@ref{Creating contexts}. +@ref{Creating and referencing contexts}. @node Placing syllables horizontally @@ -1112,10 +1097,10 @@ Notation Reference: To increase the spacing between lyrics, set the @code{minimum-distance} property of @code{LyricSpace}. -@lilypond[relative=1,verbatim,quote,ragged-right] -{ +@lilypond[verbatim,quote,ragged-right] +\relative c' { c c c c - \override Lyrics.LyricSpace #'minimum-distance = #1.0 + \override Lyrics.LyricSpace.minimum-distance = #1.0 c c c c } \addlyrics { @@ -1130,8 +1115,8 @@ To make this change for all lyrics in the score, set the property in the @lilypond[verbatim,quote,ragged-right] \score { - \relative c' { - c c c c + \relative { + c' c c c c c c c } \addlyrics { @@ -1141,7 +1126,7 @@ To make this change for all lyrics in the score, set the property in the \layout { \context { \Lyrics - \override LyricSpace #'minimum-distance = #1.0 + \override LyricSpace.minimum-distance = #1.0 } } } @@ -1158,7 +1143,7 @@ requires additional calculations. To speed up processing slightly, this feature can be disabled: @example -\override Score.PaperColumn #'keep-inside-line = ##f +\override Score.PaperColumn.keep-inside-line = ##f @end example To make lyrics avoid bar lines as well, use @@ -1169,23 +1154,11 @@ To make lyrics avoid bar lines as well, use \Lyrics \consists "Bar_engraver" \consists "Separating_line_group_engraver" - \override BarLine #'transparent = ##t + \hide BarLine @} @} @end example -@c TODO Create and add lsr example of lyricMelismaAlignment -@c It's used like this to center-align all lyric syllables, -@c even when notes are tied. -td - -@ignore -\layout -{ - \context { \Score lyricMelismaAlignment = #0 } -} -@end ignore - - @node Lyrics and repeats @unnumberedsubsubsec Lyrics and repeats @@ -1207,8 +1180,8 @@ unchanged. << \new Staff { \new Voice = "melody" { - \relative c'' { - a4 a a a + \relative { + a'4 a a a \repeat volta 2 { b4 b b b } } } @@ -1232,8 +1205,8 @@ unfolded. << \new Staff { \new Voice = "melody" { - \relative c'' { - a4 a a a + \relative { + a'4 a a a \repeat volta 2 { b4 b b b } } } @@ -1257,8 +1230,8 @@ simply enter all the words: << \new Staff { \new Voice = "melody" { - \relative c'' { - a4 a a a + \relative { + a'4 a a a \repeat unfold 2 { b4 b b b } } } @@ -1283,8 +1256,8 @@ correctly nested in parallel sections: << \new Staff { \new Voice = "melody" { - \relative c'' { - a4 a a a + \relative { + a'4 a a a \repeat volta 2 { b4 b b b } } } @@ -1310,8 +1283,8 @@ More verses may be added in a similar way: << \new Staff { \new Voice = "singleVoice" { - \relative c'' { - a4 a a a + \relative { + a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } @@ -1336,6 +1309,54 @@ More verses may be added in a similar way: } @end lilypond +@cindex alignBelowContext +@funindex alignBelowContext + +However, if this construct is embedded within a multi-staved +context such as a @code{ChoirStaff} the lyrics of the second and +third verses will appear beneath the bottom staff. + +To position them correctly use @code{alignBelowContext}: + +@lilypond[verbatim,quote] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative { + a'4 a a a + \repeat volta 3 { b4 b b b } + c4 c c c + } + } + } + \new Lyrics = "firstVerse" \lyricsto "melody" { + Not re -- peat -- ed. + << + { The first time words. } + \new Lyrics = "secondVerse" + \with { alignBelowContext = #"firstVerse" } { + \set associatedVoice = "melody" + Sec -- ond time words. + } + \new Lyrics = "thirdVerse" + \with { alignBelowContext = #"secondVerse" } { + \set associatedVoice = "melody" + The third time words. + } + >> + The end sec -- tion. + } + \new Voice = "harmony" { + \relative { + f'4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2 + } + } + >> +} +@end lilypond + + @c TODO positioning a common line of lyrics @@ -1345,8 +1366,11 @@ More verses may be added in a similar way: @cindex repeating lyrics with alternative endings @cindex alternative endings and lyrics -If the words of the repeated section are the same, exactly the -same structure can be used for both the lyrics and music. +If the words of the repeated section are the same, and none of the +@code{\alternative} blocks start with a rest, exactly the same +structure can be used for both the lyrics and music. This has the +advantage that @code{\unfoldRepeats} will expand both music and +lyrics correctly. @lilypond[quote,verbatim] \score { @@ -1354,8 +1378,8 @@ same structure can be used for both the lyrics and music. \new Staff { \time 2/4 \new Voice = "melody" { - \relative c'' { - a4 a a a + \relative { + a'4 a a a \repeat volta 2 { b4 b } \alternative { { b b } { b c } } } @@ -1376,7 +1400,8 @@ same structure can be used for both the lyrics and music. @cindex skipping notes in lyrics @cindex lyrics, skipping notes -But when the repeated section has different words, a repeat +But when the repeated section has different words, or when one +of the @code{\alternative} blocks starts with a rest, a repeat construct cannot be used around the words and @code{\skip} commands have to be inserted manually to skip over the notes in the alternative sections which do not apply. @@ -1397,8 +1422,8 @@ value, irrespective of the value of the following number.} \new Staff { \time 2/4 \new Voice = "melody" { - \relative c'' { - \repeat volta 2 { b4 b } + \relative { + \repeat volta 2 { b'4 b } \alternative { { b b } { b c } } c4 c } @@ -1444,9 +1469,9 @@ melismata over the volta section and insert manual skips. \new Staff { \time 2/4 \new Voice = "melody" { - \relative c'' { + \relative { \set melismaBusyProperties = #'() - \repeat volta 2 { b4 b ~} + \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } \unset melismaBusyProperties c4 c @@ -1481,8 +1506,8 @@ be inserted manually, as before. \new Staff { \time 2/4 \new Voice = "melody" { - \relative c'' { - \repeat volta 2 { b4 b ~} + \relative { + \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } c4 c } @@ -1514,8 +1539,8 @@ alternative sections these must be inserted manually. \new Staff { \time 2/4 \new Voice = "melody" { - \relative c'' { - \repeat volta 2 { b4 b ~} + \relative { + \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } c4 c } @@ -1586,11 +1611,11 @@ attaching lyrics to those specific contexts: \score { << \new Voice = "melody" { - \relative c' { + \relative { << { \voiceOne - e4 e8 e + e'4 e8 e } \new Voice = "splitpart" { \voiceTwo @@ -1612,6 +1637,106 @@ attaching lyrics to those specific contexts: } @end lilypond +It is common in choral music to have a voice part split for +several measures. The @code{<< @{@dots{}@} \\ @{@dots{}@} >>} +construct, where the two (or more) musical expressions are +separated by double backslashes, might seem the proper way to +set the split voices. This construct, however, will assign +@strong{all} the expressions within it to @strong{NEW Voice +contexts} which will result in @emph{no lyrics} being set for +them since the lyrics will be set to the original voice context +-- not, typically, what one wants. The temporary polyphonic +passage is the proper construct to use, see section +@emph{Temporary polyphonic passages} in @ref{Single-staff polyphony}. + + +@node Polyphony with shared lyrics +@unnumberedsubsubsec Polyphony with shared lyrics + +@cindex NullVoice +@cindex polyphony, shared lyrics +@cindex lyrics, shared among voices +@cindex \partcombine and lyrics +@funindex \partcombine + +When two voices with different rhythms share the same lyrics, +aligning the lyrics to one of the voices may lead to problems in +the other voice. For example, the second lyric extender below is +too short, since the lyrics are aligned only to the top voice: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +alto = \relative { g'2 b8( a g a) } +words = \lyricmode { la __ la __ } + +\new Staff << + \new Voice = "sopranoVoice" { \voiceOne \soprano } + \new Voice { \voiceTwo \alto } + \new Lyrics \lyricsto "sopranoVoice" \words +>> +@end lilypond + +To get the desired result, align the lyrics to a new +@code{NullVoice} context containing a suitable combination of the +two voices. The notes of the @code{NullVoice} context do not +appear on the printed page, but can be used to align the lyrics +appropriately: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +alto = \relative { g'2 b8( a g a) } +aligner = \relative { b'8( c d c) b( a g a) } +words = \lyricmode { la __ la __ } + +\new Staff << + \new Voice { \voiceOne \soprano } + \new Voice { \voiceTwo \alto } + \new NullVoice = "aligner" \aligner + \new Lyrics \lyricsto "aligner" \words +>> +@end lilypond + +This method also can be used with the @code{\partcombine} +function, which does not allow lyrics on its own: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +alto = \relative { g'2 b8( a g a) } +aligner = \relative { b'8( c d c) b( a g a) } +words = \lyricmode { la __ la __ } + +\new Staff << + \new Voice \partcombine \soprano \alto + \new NullVoice = "aligner" \aligner + \new Lyrics \lyricsto "aligner" \words +>> +@end lilypond + +@knownissues +The @code{\addLyrics} function only works with @code{Voice} lyrics +and so cannot be used with @code{NullVoice}. + +@noindent +The @code{\partcombine} function is described in +@ref{Automatic part combining}. + +Lastly, this method can be used even when the voices are in +different staves, and is not limited to only two voices: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +altoOne = \relative { g'2 b8( a b4) } +altoTwo = \relative { d'2 g4( fis8 g) } +aligner = \relative { b'8( c d c) d( d d d) } +words = \lyricmode { la __ la __ } + +\new ChoirStaff \with {\accepts NullVoice } << + \new Staff \soprano + \new NullVoice = "aligner" \aligner + \new Lyrics \lyricsto "aligner" \words + \new Staff \partcombine \altoOne \altoTwo +>> +@end lilypond @node Stanzas @subsection Stanzas @@ -1633,9 +1758,9 @@ attaching lyrics to those specific contexts: Stanza numbers can be added by setting @code{stanza}, e.g., -@lilypond[quote,ragged-right,verbatim,relative=2] -\new Voice { - \time 3/4 g2 e4 a2 f4 g2. +@lilypond[quote,ragged-right,verbatim] +\new Voice \relative { + \time 3/4 g'2 e4 a2 f4 g2. } \addlyrics { \set stanza = #"1. " Hi, my name is Bert. @@ -1718,9 +1843,9 @@ the line, just like instrument names. They are created by setting @code{vocalName}. A short version may be entered as @code{shortVocalName}. -@lilypond[ragged-right,quote,verbatim,relative=2] -\new Voice { - \time 3/4 g2 e4 a2 f4 g2. +@lilypond[ragged-right,quote,verbatim] +\new Voice \relative { + \time 3/4 g'2 e4 a2 f4 g2. } \addlyrics { \set vocalName = #"Bert " Hi, my name is Bert. @@ -1746,9 +1871,9 @@ voice ignore the melisma. This is done by setting @lilypond[verbatim,ragged-right,quote] << - \relative c' \new Voice = "lahlah" { + \relative \new Voice = "lahlah" { \set Staff.autoBeaming = ##f - c4 + c'4 \slurDotted f8.[( g16]) a4 @@ -1777,15 +1902,15 @@ are to be ignored. @cindex grace notes and lyrics @cindex lyrics on grace notes -By default, grace notes (e.g. via @code{\grace}) do not get assigned +By default, grace notes (e.g., via @code{\grace}) do not get assigned syllables when using @code{\lyricsto}, but this behavior can be changed: @lilypond[verbatim,ragged-right,quote] << - \new Voice = melody \relative c' { - f4 \appoggiatura a32 b4 - \grace { f16[ a16] } b2 + \new Voice = melody \relative { + f'4 \appoggiatura a32 b4 + \grace { f16 a16 } b2 \afterGrace b2 { f16[ a16] } \appoggiatura a32 b4 \acciaccatura a8 b4 @@ -1814,7 +1939,7 @@ block: @lilypond[verbatim,ragged-right,quote] << \new Voice = melody \relative c' { - \grace { c16[( d e f] } + \grace { c16( d e f } g1) f } \new Lyrics \with { includeGraceNotes = ##t } @@ -1835,15 +1960,15 @@ within the lyrics by setting the @code{associatedVoice} property: @lilypond[verbatim,quote] << - \relative c' \new Voice = "lahlah" { + \relative \new Voice = "lahlah" { \set Staff.autoBeaming = ##f - c4 + c'4 << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { % show associations clearly. - \override NoteColumn #'force-hshift = #-3 + \override NoteColumn.force-hshift = #-3 f8 f g } } @@ -1911,8 +2036,8 @@ different ways to force linebreaks when using @code{\markup}. @lilypond[ragged-right,verbatim,quote] -melody = \relative c' { -e d c d | e e e e | +melody = \relative { +e' d c d | e e e e | d d e d | c1 | } @@ -1953,8 +2078,8 @@ introduces each verse. The following example shows how to produce such output in LilyPond. @lilypond[ragged-right,quote,verbatim] -melody = \relative c' { - c c c c | d d d d +melody = \relative { + c'4 c c c | d d d d } text = \lyricmode { @@ -1973,7 +2098,7 @@ text = \lyricmode { \markup { \fill-line { \hspace #0.1 % moves the column off the left margin; - % can be removed if space on the page is tight + % can be removed if space on the page is tight \column { \line { \bold "2." \column { @@ -1981,7 +2106,7 @@ text = \lyricmode { "It has two lines." } } - \hspace #0.1 % adds vertical spacing between verses + \combine \null \vspace #0.1 % adds vertical spacing between verses \line { \bold "3." \column { "This is verse three." @@ -1989,17 +2114,15 @@ text = \lyricmode { } } } - \hspace #0.1 % adds horizontal spacing between columns; - % if they are still too close, add more " " pairs - % until the result looks good - \column { + \hspace #0.1 % adds horizontal spacing between columns; + \column { \line { \bold "4." \column { "This is verse four." "It has two lines." } } - \hspace #0.1 % adds vertical spacing between verses + \combine \null \vspace #0.1 % adds vertical spacing between verses \line { \bold "5." \column { "This is verse five." @@ -2008,7 +2131,7 @@ text = \lyricmode { } } \hspace #0.1 % gives some extra space on the right margin; - % can be removed if page space is tight + % can be removed if page space is tight } } @end lilypond @@ -2128,8 +2251,8 @@ etc. Choral music is usually notated on two, three or four staves within a @code{ChoirStaff} group. Accompaniment, if required, is placed beneath in a @code{PianoStaff} group, which is usually reduced in -size for @emph{a capella} choral works. The notes for each vocal -part are placed in a @code{Voice} context, with each staff +size for rehearsal of @emph{a cappella} choral works. The notes for +each vocal part are placed in a @code{Voice} context, with each staff being given either a single vocal part (i.e., one @code{Voice}) or a pair of vocal parts (i.e., two @code{Voice}s). @@ -2144,11 +2267,13 @@ Several common topics in choral music are described fully elsewhere: @item An introduction to creating an SATB vocal score can be found in the Learning Manual, see @rlearning{Four-part SATB vocal score}. +There is also a built-in template which simplifies the entry of +SATB vocal music, see @rlearning{Built-in templates}. @item Several templates suitable for various styles of choral music can also be found in the Learning Manual, see -@rlearning{Vocal ensembles}. +@rlearning{Vocal ensembles templates}. @item For information about @code{ChoirStaff} and @code{PianoStaff} see @@ -2164,17 +2289,23 @@ the higher part will be directed up and those of the lower part down. To do this, use @code{\voiceOne} and @code{\voiceTwo}. See @ref{Single-staff polyphony}. +@item +When a vocal part temporarily splits, you should use +@emph{Temporary polyphonic passages} +(see @ref{Single-staff polyphony}). + @end itemize @predefined @code{\oneVoice}, @code{\voiceOne}, @code{\voiceTwo}. +@endpredefined @seealso Learning Manual: @rlearning{Four-part SATB vocal score}, -@rlearning{Vocal ensembles}. +@rlearning{Vocal ensembles templates}. Notation Reference: @ref{Context layout order}, @@ -2242,27 +2373,30 @@ above their respective staves, as shown here: \new ChoirStaff << \new Staff { \new Voice { - \relative c'' { g4\f g g g } + \relative { g'4\f g g g } } } \new Staff { \new Voice { - \relative c' { d4 d d\p d } + \relative { d'4 d d\p d } } } >> \layout { \context { \Score - \override DynamicText #'direction = #UP - \override DynamicLineSpanner #'direction = #UP + \override DynamicText.direction = #UP + \override DynamicLineSpanner.direction = #UP } } } @end lilypond @predefined -@code{\dynamicUp}, @code{\dynamicDown}, @code{\dynamicNeutral}. +@code{\dynamicUp}, +@code{\dynamicDown}, +@code{\dynamicNeutral}. +@endpredefined @seealso Notation Reference: @@ -2273,7 +2407,7 @@ Notation Reference: @ref{Score layout}, @ref{Separating systems}, @ref{Setting the staff size}, -@ref{Using an extra voice for breaks}, +@ref{Breaks}, @ref{Vertical spacing}. Internals Reference: @@ -2419,9 +2553,9 @@ staff is dedicated to that character alone: \new Staff { \set Staff.vocalName = \markup \smallCaps Kaspar \set Staff.shortVocalName = \markup \smallCaps Kas. - \relative c' { + \relative { \clef "G_8" - c4 c c c + c'4 c c c \break c4 c c c } @@ -2430,7 +2564,7 @@ staff is dedicated to that character alone: \set Staff.vocalName = \markup \smallCaps Melchior \set Staff.shortVocalName = \markup \smallCaps Mel \clef "bass" - \relative c' { + \relative { a4 a a a a4 a a a } @@ -2444,64 +2578,57 @@ usually printed above the staff at the start of every section applying to that character. This can be done with markup. Often a specific font is used for this purpose. -@lilypond[quote,verbatim,relative=1] -\clef "G_8" -c4^\markup \fontsize #1 \smallCaps Kaspar -c c c -\clef "bass" -a4^\markup \fontsize #1 \smallCaps Melchior -a a a -\clef "G_8" -c4^\markup \fontsize #1 \smallCaps Kaspar -c c c +@lilypond[quote,verbatim] +\relative c' { + \clef "G_8" + c4^\markup \fontsize #1 \smallCaps Kaspar + c c c + \clef "bass" + a4^\markup \fontsize #1 \smallCaps Melchior + a a a + \clef "G_8" + c4^\markup \fontsize #1 \smallCaps Kaspar + c c c +} @end lilypond -Alternatively, if there are many character changes, it may be -easier to set up @qq{instrument} definitions for each character at -the top level so that @code{\instrumentSwitch} can be used to -indicate each change. +Alternatively, if there are many character changes, it may be easier +to set up variables to hold the definitions for each character so +that the switch of characters can be indicated easily and concisely. @lilypond[quote,verbatim] -\addInstrumentDefinition #"kaspar" - #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) - (shortInstrumentName . "Kas.") - (clefGlyph . "clefs.G") - (clefOctavation . -7) - (middleCPosition . 1) - (clefPosition . -2) - (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Kaspar")) - (midiInstrument . "voice oohs")) - -\addInstrumentDefinition #"melchior" - #`((instrumentTransposition . ,(ly:make-pitch 0 0 0)) - (shortInstrumentName . "Mel.") - (clefGlyph . "clefs.F") - (clefOctavation . 0) - (middleCPosition . 6) - (clefPosition . 2) - (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Melchior")) - (midiInstrument . "voice aahs")) +kaspar = { + \clef "G_8" + \set Staff.shortVocalName = "Kas." + \set Staff.midiInstrument = "voice oohs" + <>^\markup \smallCaps "Kaspar" +} + +melchior = { + \clef "bass" + \set Staff.shortVocalName = "Mel." + \set Staff.midiInstrument = "choir aahs" + <>^\markup \smallCaps "Melchior" +} \relative c' { - \instrumentSwitch "kaspar" + \kaspar c4 c c c - \instrumentSwitch "melchior" + \melchior a4 a a a - \instrumentSwitch "kaspar" + \kaspar c4 c c c } @end lilypond @seealso +Learning Manual: +@rlearning{Organizing pieces with variables}. + Notation Reference: -@ref{Instrument names}, -@ref{Scheme functions}, @ref{Text}, @ref{Text markup commands}. -Extending LilyPond: -@rextend{Markup construction in Scheme}. - @node Musical cues @unnumberedsubsubsec Musical cues @@ -2525,19 +2652,19 @@ close to the start of the cue notes. The following example shows how this is done. @lilypond[quote,verbatim] -flute = \relative c'' { - s4 s4 e g +flute = \relative { + s4 s4 e'' g } \addQuote "flute" { \flute } -pianoRH = \relative c'' { - c4. g8 +pianoRH = \relative { + c''4. g8 % position name of cue-ing instrument just before the cue notes, % and above the staff - s1*0^\markup { \right-align { \tiny "Flute" } } + <>^\markup { \right-align { \tiny "Flute" } } \cueDuring "flute" #UP { g4 bes4 } } -pianoLH = \relative c { c4 e, } +pianoLH = \relative { c4 e, } \score { \new PianoStaff << @@ -2557,11 +2684,7 @@ specify its key so the conversion of its cue notes will be done automatically. The example below shows this transposition for a B-flat clarinet. The notes in this example are low on the staff so @code{DOWN} is specified in @code{\cueDuring} (so the stems are -down) and the instrument name is positioned below the staff. Note -also that the piano right-hand voice is explicitly declared. This -is because the cue notes in this example begin at the start of the -first bar and this would otherwise cause the entire piano right-hand -notes to be placed in a @code{CueVoice} context. +down) and the instrument name is positioned below the staff. @lilypond[quote,verbatim] clarinet = \relative c' { @@ -2573,11 +2696,11 @@ clarinet = \relative c' { pianoRH = \relative c'' { \transposition c' % position name of cue-ing instrument below the staff - s1*0_\markup { \right-align { \tiny "Clar." } } + <>_\markup { \right-align { \tiny "Clar." } } \cueDuring "clarinet" #DOWN { c4. g8 } g4 bes4 } -pianoLH = \relative c { c4 e, } +pianoLH = \relative { c4 e, } \score { << @@ -2621,7 +2744,6 @@ Snippets: @rlsr{Vocal music}. Internals Reference: -@rinternals{InstrumentSwitch}, @rinternals{CueVoice}. @knownissues @@ -2657,10 +2779,12 @@ moment. For short interjections a simple markup suffices. -@lilypond[quote,verbatim,relative=2] -a4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a -a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a -a4 a a a +@lilypond[quote,verbatim] +\relative { + a'4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a + a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a + a4 a a a +} @end lilypond For longer phrases it may be necessary to expand the music to make @@ -2687,8 +2811,8 @@ Here is an example illustrating how this might be done. @c manually adjusted to suit the imposed line length. -td @lilypond[quote,verbatim,ragged-right] -music = \relative c'' { - \repeat unfold 3 { a4 a a a } +music = \relative { + \repeat unfold 3 { a'4 a a a } } dialogue = \lyricmode { @@ -2705,8 +2829,8 @@ dialogue = \lyricmode { \score { << \new Lyrics \with { - \override LyricText #'font-shape = #'italic - \override LyricText #'self-alignment-X = #LEFT + \override LyricText.font-shape = #'italic + \override LyricText.self-alignment-X = #LEFT } { \dialogue } \new Staff { @@ -2772,7 +2896,7 @@ Chants often use quarter notes without stems to indicate the pitch, with the rhythm being taken from the spoken rhythm of the words. @lilypond[verbatim,quote] -stemOff = { \override Staff.Stem #'transparent = ##t } +stemOff = { \hide Staff.Stem } \relative c' { \stemOff @@ -2789,15 +2913,15 @@ all staves remove the bar line engraver completely: \score { \new StaffGroup << \new Staff { - \relative c'' { - a4 b c2 | + \relative { + a'4 b c2 | a4 b c2 | a4 b c2 | } } \new Staff { - \relative c'' { - a4 b c2 | + \relative { + a'4 b c2 | a4 b c2 | a4 b c2 | } @@ -2806,7 +2930,7 @@ all staves remove the bar line engraver completely: \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2818,16 +2942,16 @@ Bar lines can also be removed on a staff-by-staff basis: \score { \new ChoirStaff << \new Staff - \with { \remove Bar_engraver } { - \relative c'' { - a4 b c2 | + \with { \remove "Bar_engraver" } { + \relative { + a'4 b c2 | a4 b c2 | a4 b c2 | } } \new Staff { - \relative c'' { - a4 b c2 | + \relative { + a'4 b c2 | a4 b c2 | a4 b c2 | } @@ -2840,34 +2964,38 @@ To remove bar lines from just a section of music treat it as a cadenza. If the section is long you may need to insert dummy bar lines with @code{\bar ""} to show where the line should break. -@lilypond[verbatim,quote,relative=2] -a4 b c2 | -\cadenzaOn -a4 b c2 -a4 b c2 -\bar "" -a4 b c2 -a4 b c2 -\cadenzaOff -a4 b c2 | -a4 b c2 | +@lilypond[verbatim,quote] +\relative a' { + a4 b c2 | + \cadenzaOn + a4 b c2 + a4 b c2 + \bar "" + a4 b c2 + a4 b c2 + \cadenzaOff + a4 b c2 | + a4 b c2 | +} @end lilypond Rests or pauses in chants can be indicated by modified bar lines. -@lilypond[verbatim, quote,relative=2] -a4 -\cadenzaOn -b c2 -a4 b c2 -\bar "'" -a4 b c2 -a4 b c2 -\bar ":" -a4 b c2 -\bar "dashed" -a4 b c2 -\bar "||" +@lilypond[verbatim, quote] +\relative a' { + a4 + \cadenzaOn + b c2 + a4 b c2 + \bar "'" + a4 b c2 + a4 b c2 + \bar ";" + a4 b c2 + \bar "!" + a4 b c2 + \bar "||" +} @end lilypond Alternatively, the notation used in Gregorian chant for pauses or @@ -2876,29 +3004,29 @@ modern. This uses a modified @code{\breathe} mark: @lilypond[verbatim,quote] divisioMinima = { - \once \override BreathingSign #'stencil = #ly:breathing-sign::divisio-minima - \once \override BreathingSign #'Y-offset = #0 + \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-minima + \once \override BreathingSign.Y-offset = #0 \breathe } divisioMaior = { - \once \override BreathingSign #'stencil = #ly:breathing-sign::divisio-maior - \once \override BreathingSign #'Y-offset = #0 + \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maior + \once \override BreathingSign.Y-offset = #0 \breathe } divisioMaxima = { - \once \override BreathingSign #'stencil = #ly:breathing-sign::divisio-maxima - \once \override BreathingSign #'Y-offset = #0 + \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maxima + \once \override BreathingSign.Y-offset = #0 \breathe } finalis = { - \once \override BreathingSign #'stencil = #ly:breathing-sign::finalis - \once \override BreathingSign #'Y-offset = #0 + \once \override BreathingSign.stencil = #ly:breathing-sign::finalis + \once \override BreathingSign.Y-offset = #0 \breathe } \score { - \relative c'' { - g2 a4 g + \relative { + g'2 a4 g \divisioMinima g2 a4 g \divisioMaior @@ -2910,7 +3038,7 @@ finalis = { \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2921,8 +3049,8 @@ Chants usually omit the time signature and often omit the clef too. @lilypond[verbatim,quote] \score { \new Staff { - \relative c'' { - a4 b c2 | + \relative { + a'4 b c2 | a4 b c2 | a4 b c2 | } @@ -2930,9 +3058,9 @@ Chants usually omit the time signature and often omit the clef too. \layout { \context { \Staff - \remove Bar_engraver - \remove Time_signature_engraver - \remove Clef_engraver + \remove "Bar_engraver" + \remove "Time_signature_engraver" + \remove "Clef_engraver" } } } @@ -2947,22 +3075,22 @@ in each half always contains a single chord of whole notes. This is the @qq{reciting note}. Chants are usually centered on the page. @lilypond[verbatim,quote] -SopranoMusic = \relative g' { - g1 | c2 b | a1 | \bar "||" +SopranoMusic = \relative { + g'1 | c2 b | a1 | \bar "||" a1 | d2 c | c b | c1 | \bar "||" } -AltoMusic = \relative c' { - e1 | g2 g | f1 | +AltoMusic = \relative { + e'1 | g2 g | f1 | f1 | f2 e | d d | e1 | } -TenorMusic = \relative a { - c1 | c2 c | c1 | +TenorMusic = \relative { + c'1 | c2 c | c1 | d1 | g,2 g | g g | g1 | } -BassMusic = \relative c { +BassMusic = \relative { c1 | e2 e | f1 | d1 | b2 c | g' g | c,1 | } @@ -3006,8 +3134,7 @@ global = { \layout { \context { \Score - \override SpacingSpanner - #'base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff @@ -3039,7 +3166,7 @@ durations. @seealso Learning Manual: @rlearning{Visibility and color of objects}, -@rlearning{Vocal ensembles}. +@rlearning{Vocal ensembles templates}. Notation Reference: @ref{Ancient notation}, @@ -3198,11 +3325,12 @@ The use of markup to center text, and arrange lines in columns is described in @ref{Formatting text}. Most of these elements are shown in one or other of the two verses -in the template, see @qq{Psalms} in @rlearning{Vocal ensembles}. +in the template, see @rlearning{Psalms}. @seealso Learning Manual: -@rlearning{Vocal ensembles}. +@rlearning{Psalms}, +@rlearning{Vocal ensembles templates}. Notation Reference: @ref{Fonts},