X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fvocal.itely;h=62600cf5478aa0f2d27d84db3a5453d6119183d5;hb=40aac0ae57ee113faa860ba221d83d9e6312173e;hp=c159c4cf1882003b9030e721a76ce62c9e68bfb7;hpb=9a73c67a79a21b889d67f8d28f2c106de830d936;p=lilypond.git diff --git a/Documentation/notation/vocal.itely b/Documentation/notation/vocal.itely index c159c4cf18..62600cf547 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.2" @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 @@ -402,7 +383,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 @@ -467,6 +448,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 @@ -615,11 +597,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 +626,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 +654,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 +681,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 +725,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 +755,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 +783,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 +873,7 @@ Internals Reference: * Placing syllables horizontally:: * Lyrics and repeats:: * Divisi lyrics:: +* Polyphony with shared lyrics:: @end menu @@ -1034,7 +1021,7 @@ 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" { @@ -1065,7 +1052,7 @@ is an example of the second method: \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" { @@ -1087,20 +1074,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 +1102,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 { @@ -1141,7 +1128,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 +1145,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 +1156,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 @@ -1336,6 +1311,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 c'' { + a4 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 c' { + f4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2 + } + } + >> +} +@end lilypond + + @c TODO positioning a common line of lyrics @@ -1612,6 +1635,123 @@ 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 + +The @code{NullVoice} context must be placed within a @code{Staff} +context and contain notes that are already being displayed in that staff and that are also in the same octave. Otherwise the +@code{NullVoice} may interact with the printed voices in +unexpected ways. For example, arbitrary notes in the +@code{NullVoice} may cause accidentals to appear (or disappear) on +the staff. + +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 + +However, note that in the second half of the measure above, the +notes in the @code{NullVoice} context reflect the rhythm of the +lower staff, but they do not deviate from the single pitch being +displayed in the staff to which the @code{NullVoice} belongs. +While not actually required in this particular example, it is a +good idea in general to enter the notes in this way. + @node Stanzas @subsection Stanzas @@ -1785,7 +1925,7 @@ changed: << \new Voice = melody \relative c' { f4 \appoggiatura a32 b4 - \grace { f16[ a16] } b2 + \grace { f16 a16 } b2 \afterGrace b2 { f16[ a16] } \appoggiatura a32 b4 \acciaccatura a8 b4 @@ -1814,7 +1954,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 +1981,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 } } @@ -1954,7 +2094,7 @@ output in LilyPond. @lilypond[ragged-right,quote,verbatim] melody = \relative c' { - c c c c | d d d d + c4 c c c | d d d d } text = \lyricmode { @@ -1973,7 +2113,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 +2121,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 +2129,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 +2146,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 +2266,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 +2282,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 +2304,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 +2319,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}, @@ -2254,8 +2399,8 @@ above their respective staves, as shown here: \layout { \context { \Score - \override DynamicText #'direction = #UP - \override DynamicLineSpanner #'direction = #UP + \override DynamicText.direction = #UP + \override DynamicLineSpanner.direction = #UP } } } @@ -2466,7 +2611,7 @@ indicate each change. #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) (shortInstrumentName . "Kas.") (clefGlyph . "clefs.G") - (clefOctavation . -7) + (clefTransposition . -7) (middleCPosition . 1) (clefPosition . -2) (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Kaspar")) @@ -2476,11 +2621,11 @@ indicate each change. #`((instrumentTransposition . ,(ly:make-pitch 0 0 0)) (shortInstrumentName . "Mel.") (clefGlyph . "clefs.F") - (clefOctavation . 0) + (clefTransposition . 0) (middleCPosition . 6) (clefPosition . 2) (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Melchior")) - (midiInstrument . "voice aahs")) + (midiInstrument . "choir aahs")) \relative c' { \instrumentSwitch "kaspar" @@ -2534,7 +2679,10 @@ pianoRH = \relative c'' { c4. g8 % position name of cue-ing instrument just before the cue notes, % and above the staff - s1*0^\markup { \right-align { \tiny "Flute" } } + \new CueVoice { + \override InstrumentSwitch.self-alignment-X = #RIGHT + \set instrumentCueName = "Flute" + } \cueDuring "flute" #UP { g4 bes4 } } pianoLH = \relative c { c4 e, } @@ -2573,7 +2721,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." } } + \new CueVoice { + \override InstrumentSwitch.self-alignment-X = #RIGHT + \override InstrumentSwitch.direction = #DOWN + \set instrumentCueName = "Clar." + } \cueDuring "clarinet" #DOWN { c4. g8 } g4 bes4 } @@ -2705,8 +2857,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 +2924,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 @@ -2806,7 +2958,7 @@ all staves remove the bar line engraver completely: \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2818,7 +2970,7 @@ Bar lines can also be removed on a staff-by-staff basis: \score { \new ChoirStaff << \new Staff - \with { \remove Bar_engraver } { + \with { \remove "Bar_engraver" } { \relative c'' { a4 b c2 | a4 b c2 | @@ -2863,9 +3015,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,23 +3028,23 @@ 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 } @@ -2910,7 +3062,7 @@ finalis = { \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2930,9 +3082,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" } } } @@ -3006,8 +3158,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 +3190,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 +3349,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},