X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fvocal.itely;h=fe6f26e880686c263088371a1af44babd1184fcb;hb=d36171e34d236d890f5dc511b895037188c6c7cb;hp=c159c4cf1882003b9030e721a76ce62c9e68bfb7;hpb=9a73c67a79a21b889d67f8d28f2c106de830d936;p=lilypond.git diff --git a/Documentation/notation/vocal.itely b/Documentation/notation/vocal.itely index c159c4cf18..fe6f26e880 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 @@ -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 @@ -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 @@ -402,7 +387,7 @@ the named Voice context containing the melody with @lilypond[quote,verbatim,relative=2] << \new Voice = "melody" { - a4 a a a + a1 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 @@ -527,8 +513,7 @@ 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. @@ -537,11 +522,10 @@ Here are two examples: @lilypond[relative=1,verbatim,quote] << \new Voice = "melody" { - \time 3/4 - c2 e4 g2 f + 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] << \new Voice = "melody" { \time 3/4 - c2 e4 g f g + c2 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}. @@ -615,11 +594,16 @@ spaces between the syllables, you can surround the phrase with quotes or use a @code{_} character. Alternatively, you can use the tilde symbol (@code{~}) to get a lyric tie. -@lilypond[quote,ragged-right,verbatim] +@lilypond[quote,ragged-right,verbatim,relative=2] { - \relative c'' { \autoBeamOff - r8 b c fis, fis c' b e, } - \addlyrics { Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da } + { \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 +623,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. @@ -667,8 +651,8 @@ together: \new Voice = "melody" { \time 3/4 f4 g2 ~ | - g4 e2 ~ | - e8 + 4 e2 ~ | + 8 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e __ @@ -694,6 +678,8 @@ 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 @@ -736,9 +722,6 @@ 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 @@ -769,7 +752,7 @@ without their indicating melismata. To do this, set \time 3/4 \set melismaBusyProperties = #'() c4 d ( e ) - g8 [ f ] f4 ~ f + g8 [ f ] f4 ~ 4 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e e -- le -- i -- son @@ -797,7 +780,7 @@ should be included in the melisma: \time 3/4 \set melismaBusyProperties = #'() c4 d ( e ) - g8 [ f ] ~ f4 ~ f + g8 [ f ] ~ 4 ~ f } \new Lyrics \lyricsto "melody" { Ky -- ri -- _ e __ _ _ _ @@ -887,6 +870,7 @@ Internals Reference: * Placing syllables horizontally:: * Lyrics and repeats:: * Divisi lyrics:: +* Polyphony with shared lyrics:: @end menu @@ -900,8 +884,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 +914,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 +973,7 @@ context: << \new Staff { \new Voice = "melody" { - \relative c'' { c4 c c c } + \relative { c''4 c c c } } } \new Lyrics { @@ -1011,7 +995,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 +1018,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 +1043,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,20 +1071,20 @@ 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] -{lyrics-old-spacing-settings.ly} +{obtaining-2.12-lyrics-spacing-in-newer-versions.ly} @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 @@ -1115,7 +1099,7 @@ To increase the spacing between lyrics, set the @lilypond[relative=1,verbatim,quote,ragged-right] { 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 +1114,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 +1125,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 +1142,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 +1153,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 +1179,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 +1204,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 +1229,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 +1255,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 +1282,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 +1308,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 @@ -1354,8 +1374,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 } } } @@ -1612,6 +1632,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 << + \new Staff \soprano + \new NullVoice = "aligner" \aligner + \new Lyrics \lyricsto "aligner" \words + \new Staff \partcombine \altoOne \altoTwo +>> +@end lilypond @node Stanzas @subsection Stanzas @@ -1783,9 +1903,9 @@ 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 +1934,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 } @@ -1841,9 +1961,9 @@ within the lyrics by setting the @code{associatedVoice} property: << \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 +2031,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 +2073,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 +2093,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 +2101,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 +2109,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 +2126,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 +2246,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 +2262,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,6 +2284,11 @@ 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 @@ -2174,7 +2299,7 @@ down. To do this, use @code{\voiceOne} and @code{\voiceTwo}. See @seealso Learning Manual: @rlearning{Four-part SATB vocal score}, -@rlearning{Vocal ensembles}. +@rlearning{Vocal ensembles templates}. Notation Reference: @ref{Context layout order}, @@ -2242,20 +2367,20 @@ 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 } } } @@ -2273,7 +2398,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 +2544,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 +2555,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 } @@ -2456,52 +2581,43 @@ 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 +2641,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 +2673,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 +2685,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 +2733,6 @@ Snippets: @rlsr{Vocal music}. Internals Reference: -@rinternals{InstrumentSwitch}, @rinternals{CueVoice}. @knownissues @@ -2705,8 +2816,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 +2883,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 +2900,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 +2917,7 @@ all staves remove the bar line engraver completely: \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2818,16 +2929,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 | } @@ -2863,9 +2974,9 @@ a4 b c2 \bar "'" a4 b c2 a4 b c2 -\bar ":" +\bar ";" a4 b c2 -\bar "dashed" +\bar "!" a4 b c2 \bar "||" @end lilypond @@ -2876,29 +2987,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 +3021,7 @@ finalis = { \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2921,8 +3032,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 +3041,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 +3058,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 +3117,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 +3149,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 +3308,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},