X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fvocal.itely;h=b337d262054ac2ef75c0337a23c0bf166b57de55;hb=85911b93739aed7bb9858ac950e975cd1343bfe6;hp=85b346e6b274f23879cddf5bdab9762d104b99f8;hpb=bd460dc83250cfecf0c05c37639d554d05edbd60;p=lilypond.git diff --git a/Documentation/notation/vocal.itely b/Documentation/notation/vocal.itely index 85b346e6b2..0b69693bea 100644 --- a/Documentation/notation/vocal.itely +++ b/Documentation/notation/vocal.itely @@ -7,12 +7,12 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" +@c \version "2.19.2" @node Vocal music @section Vocal music -@c TODO: inspirational headword +@lilypondfile[quote]{vocal-headword.ly} This section explains how to typeset vocal music, and make sure that the lyrics will be aligned with the notes of their melody. @@ -43,7 +43,6 @@ This section discusses issues common to most types of vocal music. * Manual syllable durations:: * Multiple syllables to one note:: * Multiple notes to one syllable:: -* Skipping notes:: * Extenders and hyphens:: @end menu @@ -57,17 +56,23 @@ that may arise in any type of vocal music. @itemize @item -Most styles of vocal music use written text as lyrics. An introduction -to this notation is to be found in @rlearning{Setting simple songs}. +Most styles of vocal music use written text as lyrics. An +introduction to this notation is to be found in +@rlearning{Setting simple songs}. @item -Vocal music is likely to require the use of @code{markup} mode, either -for lyrics of for other text elements (character's names, etc.). -This syntax is described in @ref{Text markup introduction}. +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}. @item -@notation{Ambitus} may be added at the beginning of vocal staves, as explained -in @ref{Ambitus}. +@notation{Ambitus} may be added at the beginning of vocal staves, +as explained in @ref{Ambitus}. + +@item +Dynamic markings by default are placed below the staff, but in +choral music they are usually placed above the staff in order to +avoid the lyrics, as explained in @ref{Score layouts for choral}. @end itemize @@ -75,23 +80,39 @@ in @ref{Ambitus}. Music Glossary: @rglos{ambitus}. +Learning Manual: +@rlearning{Setting simple songs}. + +Notation Reference: +@ref{Text markup introduction}, +@ref{Ambitus}, +@ref{Score layouts for choral}. + +Snippets: +@rlsr{Vocal music}. + + @node Entering lyrics @unnumberedsubsubsec Entering lyrics @cindex lyrics, entering @cindex entering lyrics +@cindex formatting in lyrics +@cindex lyrics, formatting @cindex punctuation in lyrics @cindex lyrics punctuation @cindex spaces in lyrics @cindex quotes in lyrics @funindex \lyricmode +@c TODO should we explain hyphens here + Lyrics are entered in a special input mode, which can be introduced by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or -@code{\lyricsto}. In this mode the input @code{d} is not parsed as -the pitch @notation{D}, but rather as a one-letter syllable of text. -In other words, syllables are entered like notes but with pitches -replaced by text. +@code{\lyricsto}. In this special input mode, the input @code{d} +is not parsed as the pitch @notation{D}, but rather as a one-letter +syllable of text. In other words, syllables are entered like notes +but with pitches replaced by text. For example: @@ -122,44 +143,26 @@ as part of the syllable, a word is valid even if it ends with In this example, the @code{@}} is included in the final syllable, so the opening brace is not balanced and the input file will probably not -compile. Instead, always place white space around braces: +compile. Instead, braces should always be surrounded with white space: @example \lyricmode @{ lah lah lah @} @end example -@cindex overrides in lyric mode -@funindex \override in \lyricmode - -Similarly, a period which follows an alphabetic sequence is included -in that sequence in lyric mode. 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 - -To enter punctuation, lyrics with accented characters, characters -from non-English languages, or special characters (such as the heart -symbol or slanted quotes), simply insert the characters directly -into the input file and save it with UTF-8 encoding. For more -information, see @ref{Text encoding}. +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 +into the input file, providing it is saved with UTF-8 encoding. +For more information, see @ref{Special characters}. @lilypond[quote,verbatim] -\relative c' { e4 f e d e f e2 } -\addlyrics { He said: “Let my peo -- ple go.” } +\relative c'' { d8 c16 a bes8 f e' d c4 } +\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, } @end lilypond -To use normal quotes in lyrics, add a backslash before the -quotes and place the whole syllable in quotes. For example, +Normal quotes may be used in lyrics, but they have to be preceded +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. } @@ -177,6 +180,15 @@ combination of a backslash followed by one of @code{`}, @code{'}, @c " to balance double quotes for not-so-bright context-sensitive editors +Great control over the appearance of lyrics comes from using +@code{\markup} inside the lyrics themselves. For explanation of many +options, see @ref{Formatting text}. + +@snippets + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{formatting-lyrics-syllables.ly} + @seealso Learning Manual: @@ -185,53 +197,143 @@ Learning Manual: Notation Reference: @ref{Automatic syllable durations}, @ref{Fonts}, +@ref{Formatting text}, @ref{Input modes}, -@ref{Manual syllable durations}. +@ref{Manual syllable durations}, +@ref{Special characters}. Internals Reference: @rinternals{LyricText}. +Snippets: +@rlsr{Text}. + @node Aligning lyrics to a melody @unnumberedsubsubsec Aligning lyrics to a melody +@cindex lyrics, aligning to a melody +@cindex @code{associatedVoice} @funindex \lyricmode @funindex \addlyrics @funindex \lyricsto -@c TODO: this stuff is to be rewritten. -vv - -Aligning of text with melodies can be made automatically, but if you -specify the durations of the syllables it can also be made manually. -Lyrics aligning and typesetting are prepared with the help of skips, -hyphens and extender lines. - -Lyrics are printed by interpreting them in the context called -@code{Lyrics}; see @rinternals{Lyrics}, for more. +Lyrics are interpreted in @code{\lyricmode} and printed in a +@code{Lyrics} context, see @ref{Contexts explained}. @example -\new Lyrics \lyricmode @dots{} +\new Lyrics \lyricmode @{ @dots{} @} @end example -There are two main methods to specify the horizontal placement -of the syllables: +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 + @item -by automatically aligning -the lyrics to a melody or other voice of music, using @code{\addlyrics} -or @code{\lyricsto} +Lyrics can be aligned automatically, with the durations of the +syllables being taken from another voice of music or (in special +circumstances) an associated melody, using @code{\addlyrics}, +@code{\lyricsto}, or by setting the @code{associatedVoice} property. +For more details, see @ref{Automatic syllable durations}. + +@lilypond[quote,ragged-right,verbatim] +<< + \new Staff << + \time 2/4 + \new Voice = "one" \relative c'' { + \voiceOne + c4 b8. a16 g4. r8 a4 ( b ) c2 + } + \new Voice = "two" \relative c' { + \voiceTwo + s2 s4. f8 e4 d c2 + } + >> + +% takes durations and alignment from notes in "one" + \new Lyrics \lyricsto "one" { + Life is __ _ love, live __ life. + } + +% takes durations and alignment from notes in "one" initially +% then switches to "two" + \new Lyrics \lyricsto "one" { + No more let + \set associatedVoice = "two" % must be set one syllable early + sins and sor -- rows grow. + } +>> +@end lilypond + +The first stanza shows the normal way of entering lyrics. + +The second stanza shows how the voice from which the lyric +durations are taken can be changed. This is useful if the words to +different stanzas fit the notes in different ways and all the +durations are available in Voice contexts. For more details, see +@ref{Stanzas}. @item -or by specifying the duration of each syllable -explicitly, using @code{\lyricmode} +Lyrics can be aligned independently of the duration of any notes +if the durations of the syllables are specified explicitly, +and entered with @code{\lyricmode}. + +@lilypond[quote,ragged-right,verbatim] +<< + \new Voice = "one" \relative c'' { + \time 2/4 + c4 b8. a16 g4. f8 e4 d c2 + } + +% uses previous explicit duration of 2; + \new Lyrics \lyricmode { + Joy to the earth! + } + +% explicit durations, set to a different rhythm + \new Lyrics \lyricmode { + Life4 is love,2. live4 life.2 + } +>> +@end lilypond + +The first stanza is not aligned with the notes because the durations +were not specified, and the previous value of 2 is used for each +word. + +The second stanza shows how the words can be aligned quite +independently from the notes. This is useful if the words to +different stanzas fit the notes in different ways and the required +durations are not available in a music context. For more details +see @ref{Manual syllable durations}. This technique is also useful +when setting dialogue over music; for examples showing this, see +@ref{Dialogue over music}. + @end itemize -The @code{Voice} context containing the melody to which the lyrics -are being aligned must not have @qq{died}, or the lyrics after that -point will be lost. This can happen if there are periods when that -voice has nothing to do. For methods of keeping contexts alive, see -@ref{Keeping contexts alive}. +@seealso +Learning Manual: +@rlearning{Aligning lyrics to a melody}. + +Notation Reference: +@ref{Contexts explained}, +@ref{Automatic syllable durations}, +@ref{Stanzas}, +@ref{Manual syllable durations}, +@ref{Dialogue over music}, +@ref{Manual syllable durations}. + +Internals Reference: +@rinternals{Lyrics}. @node Automatic syllable durations @@ -239,52 +341,78 @@ voice has nothing to do. For methods of keeping contexts alive, see @cindex syllable durations, automatic @cindex lyrics and melodies +@cindex associatedVoice +@funindex \addlyrics +@funindex \lyricsto -The lyrics can be aligned under a given melody -automatically. This is achieved by combining the -melody and the lyrics with the @code{\lyricsto} expression +Lyrics can be automatically aligned to the notes of a melody in +three ways: -@example -\new Lyrics \lyricsto @var{name} @dots{} -@end example +@itemize -@noindent -This aligns the lyrics to the -notes of the @code{Voice} context called @var{name}, which must -already exist. Therefore normally the @code{Voice} is specified first, and -then the lyrics are specified with @code{\lyricsto}. The command -@code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the -@code{\lyricmode} keyword may be omitted. +@item +by specifying the named Voice context containing the melody with +@code{\lyricsto}, -The following example uses different commands for entering lyrics. +@item +by introducing the lyrics with @code{\addlyrics} and placing them +immediately after the Voice context containing the melody, -@lilypond[quote,fragment,ragged-right,verbatim] -<< - \new Voice = "one" \relative c'' { - \autoBeamOff - \time 2/4 - c4 b8. a16 g4. f8 e4 d c2 - } +@item +by setting the @code{associatedVoice} property, the alignment of +the lyrics may be switched to a different named Voice context at +any musical moment. + +@end itemize + +In all three methods hyphens can be drawn between the syllables of +a word and extender lines can be drawn beyond the end of a word. For +details, see @ref{Extenders and hyphens}. + +The @code{Voice} context containing the melody to which the lyrics +are being aligned must not have @qq{died}, or the lyrics after that +point will be lost. This can happen if there are periods when that +voice has nothing to do. For methods of keeping contexts alive, see +@ref{Keeping contexts alive}. -% not recommended: left-aligned syllables - \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 } +@subheading Using @code{\lyricsto} + +@cindex \lyricsto +@funindex \lyricsto -% wrong: durations needed - \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. } +Lyrics can be aligned under a melody automatically by specifying +the named Voice context containing the melody with +@code{\lyricsto}: -%correct - \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. } +@lilypond[quote,verbatim,relative=2] +<< + \new Voice = "melody" { + a1 a4. a8 a2 + } + \new Lyrics \lyricsto "melody" { + These are the words + } >> @end lilypond -The second stanza is not properly aligned because the durations -were not specified. A solution for that would be to use @code{\lyricsto}. +@noindent +This aligns the lyrics to the notes of the named @code{Voice} +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. By default, the lyrics are placed +underneath the notes. For other placements, see +@ref{Placing lyrics vertically}. + +@subheading Using @code{\addlyrics} @cindex \addlyrics +@funindex \addlyrics -The @code{\addlyrics} command is actually just a convenient way -to write a more complicated LilyPond structure that sets up the -lyrics. +The @code{\addlyrics} command is just a convenient shortcut that +can sometimes be used instead of having to set up the lyrics +through a more complicated LilyPond structure. @example @{ MUSIC @} @@ -295,75 +423,158 @@ lyrics. is the same as @example -\new Voice = "blah" @{ music @} +\new Voice = "blah" @{ MUSIC @} \new Lyrics \lyricsto "blah" @{ LYRICS @} @end example Here is an example, -@lilypond[ragged-right,verbatim,fragment,quote] -\time 3/4 -\relative c' { c2 e4 g2. } -\addlyrics { play the game } +@lilypond[verbatim,quote] +{ + \time 3/4 + \relative c' { c2 e4 g2. } + \addlyrics { play the game } +} @end lilypond More stanzas can be added by adding more -@code{\addlyrics} sections - -@lilypond[ragged-right,verbatim,fragment,quote] -\time 3/4 -\relative c' { c2 e4 g2. } -\addlyrics { play the game } -\addlyrics { speel het spel } -\addlyrics { joue le jeu } -@end lilypond +@code{\addlyrics} sections: -The command @code{\addlyrics} cannot handle polyphony settings. -For these cases you should use @code{\lyricsto} and -@code{\lyricmode}, for details see @ref{Entering lyrics}. -@node Manual syllable durations -@unnumberedsubsubsec Manual syllable durations +@lilypond[ragged-right,verbatim,quote] +{ + \time 3/4 + \relative c' { c2 e4 g2. } + \addlyrics { play the game } + \addlyrics { speel het spel } + \addlyrics { joue le jeu } +} +@end lilypond -Lyrics can also be entered without @code{\addlyrics} or -@code{\lyricsto}. In this case, -syllables are entered like notes -- but with pitches replaced by text -- and the -duration of each syllable must be entered explicitly. For example: +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}. -@example -play2 the4 game2. -sink2 or4 swim2. -@end example +@subheading Using associatedVoice -The alignment to a melody can be specified with the -@code{associatedVoice} property, +The melody to which the lyrics are being aligned can be changed by +setting the @code{associatedVoice} property, @example \set associatedVoice = #"lala" @end example @noindent -The value of the property (here: @code{"lala"}) should be the name of -a @code{Voice} context. Without this setting, extender lines -will not be formatted properly. -Here is an example demonstrating manual lyric durations, +The value of the property (here: @code{"lala"}) should be the name +of a @code{Voice} context. For technical reasons, the @code{\set} +command must be placed one syllable before the one to which the +change in voice is to apply. -@lilypond[relative=1,ragged-right,verbatim,fragment,quote] -<< \new Voice = "melody" { - \time 3/4 - c2 e4 g2. - } - \new Lyrics \lyricmode { - \set associatedVoice = #"melody" - play2 the4 game2. - } >> +Here is an example demonstrating its use: + +@lilypond[quote,ragged-right,verbatim] +<< + \new Staff << + \time 2/4 + \new Voice = "one" \relative c'' { + \voiceOne + c4 b8. a16 g4. r8 a4 ( b ) c2 + } + \new Voice = "two" \relative c' { + \voiceTwo + s2 s4. f8 e8 d4. c2 + } + >> +% takes durations and alignment from notes in "one" initially +% then switches to "two" + \new Lyrics \lyricsto "one" { + No more let + \set associatedVoice = "two" % must be set one syllable early + sins and sor -- rows grow. + } +>> +@end lilypond + +@seealso +Notation Reference: +@ref{Extenders and hyphens}, +@ref{Keeping contexts alive}, +@ref{Placing lyrics vertically}. + + +@node Manual syllable durations +@unnumberedsubsubsec Manual syllable durations + +In some complex vocal music, it may be desirable to place lyrics +completely independently of notes. In this case do not use +@code{\lyricsto} or @code{\addlyrics} and do not set +@code{associatedVoice}. Syllables are entered like notes -- +but with pitches replaced by text -- and the duration of each +syllable is entered explicitly after the syllable. + +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] +<< + \new Voice = "melody" { + c'2 a f f e e + } + \new Lyrics \lyricmode { + c4. -- a -- f -- f -- e2. -- e + } +>> +@end lilypond + + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff { + \relative c'' { + c2 c2 + d1 + } + } + \new Lyrics { + \lyricmode { + I2 like4. my8 cat!1 + } + } + \new Staff { + \relative c' { + c8 c c c c c c c + c8 c c c c c c c + } + } +>> @end lilypond +This technique is useful when writing dialogue over music, see +@ref{Dialogue over music}. + +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 g2 f + } + \new Lyrics \lyricmode { + \override LyricText.self-alignment-X = #LEFT + play1 a4 game4 + } +>> +@end lilypond @seealso Notation Reference: -@ref{Keeping contexts alive}. +@ref{Dialogue over music}. Internals Reference: @rinternals{Lyrics}, @@ -381,154 +592,229 @@ Internals Reference: In order to assign more than one syllable to a single note with spaces between the syllables, you can surround the phrase with quotes or use a @code{_} character. Alternatively, you can use -code the tilde symbol (@code{~}) to get a lyric tie. The lyric -tie is implemented with the Unicode character U+203F, so be -sure to have a font (like DejaVuLGC) installed that includes this -glyph. +the tilde symbol (@code{~}) to get a lyric tie. -@lilypond[quote,ragged-right,fragment,verbatim] -\time 3/4 -\relative c' { c2 e4 g2 e4 } -\addlyrics { gran- de_a- mi- go } -\addlyrics { pu- "ro y ho-" nes- to } -\addlyrics { pu- ro~y~ho- nes- to } +@lilypond[quote,ragged-right,verbatim,relative=2] +{ + { \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 } +} @end lilypond - @seealso Internals Reference: @rinternals{LyricCombineMusic}. -@c Here come the section which used to be "Melismata" -@c the new title might be more self-explanatory - - @node Multiple notes to one syllable @unnumberedsubsubsec Multiple notes to one syllable @cindex melisma @cindex melismata @cindex phrasing, in lyrics +@funindex \melisma +@funindex \melismaEnd -Sometimes, particularly in Medieval music, several notes are to be sung on one -single syllable; such vocalises are called melismas, or melismata. +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. -@c this method seems to be the simplest; therefore -@c it might be better to present it first - vv +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. -You can define melismata entirely in the lyrics, by entering @code{_} -for every extra note that has to be added to the melisma. +Alternatively, when a melisma occurs on the last or only syllable in +a word an extender line is usually drawn from the end of the syllable +to the last note of the melisma. This is indicated by placing a +double underscore, @code{__}, immediately after the word. -@c TODO: clarify: __ is used to crate a lyric extender, -@c _ is used to add a note to a melisma, so both __ and _ are needed. +There are five ways in which melismata can be indicated: -@c verbose! --FV -@c duplicated: TODO fix -Additionally, you can make an extender line to be typeset to indicate -the melisma in the score, writing a double underscore next to the -first syllable of the melisma. This example shows the three elements -that are used for this purpose (all of them surrounded by spaces): -double hyphens to separate syllables in a word, underscores to add -notes to a melisma, and a double underscore to put an extender line. +@itemize + +@item +Melismata are created automatically over notes which are tied +together: + +@lilypond[quote,relative=2,verbatim] +<< + \new Voice = "melody" { + \time 3/4 + f4 g2 ~ | + 4 e2 ~ | + 8 + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e __ + } +>> +@end lilypond + +@item +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] +<< + \new Voice = "melody" { + \time 3/4 + f4 g8 ( f e f ) + e8 ( d e2 ) + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e __ + } +>> +@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}. -@c wrong: extender line only on last syllable of a word. Change example -@lilypond[relative=1,verbatim,fragment,quote] -{ \set melismaBusyProperties = #'() - c d( e) f f( e) e e } -\addlyrics - { Ky -- _ _ ri __ _ _ _ e } +@lilypond[quote,relative=2,verbatim] +<< + \new Voice = "melody" { + \time 3/4 + \autoBeamOff + f4 g8[ f e f] + e2. + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e + } +>> @end lilypond -In this case, you can also have ties and slurs in the melody if you -set @code{melismaBusyProperties}, as is done in the example above. +Clearly this is not suited to melismata over notes which are longer +than eighth notes. -However, the @code{\lyricsto} command can also -detect melismata automatically: it only puts one -syllable under a tied or slurred group of notes. If you want to force -an unslurred group of notes to be a melisma, insert @code{\melisma} -after the first note of the group, and @code{\melismaEnd} after the -last one, e.g., +@item +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,ragged-right,fragment,verbatim] +@lilypond[quote,relative=2,verbatim] << - \new Voice = "lala" { + \new Voice = "melody" { \time 3/4 f4 g8 \melisma f e f \melismaEnd - e2 + e2. } - \new Lyrics \lyricsto "lala" { - la di __ daah + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e } >> @end lilypond -In addition, notes are considered a melisma if they are manually -beamed, and automatic beaming (see @ref{Setting automatic beam -behavior}) is switched off. +@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[quote,relative=2,ragged-right,fragment,verbatim] +@lilypond[verbatim, quote, relative=2] << - \new Voice = "lala" { + \new Voice = "melody" { \time 3/4 - \autoBeamOff - f4 g8[ f e f] - e2 + f4 g8 f e f + e8 d e2 } - \new Lyrics \lyricsto "lala" { - la di __ daah + \new Lyrics \lyricsto "melody" { + Ky -- ri -- _ _ _ e __ _ _ } >> @end lilypond -@c TODO: this now links to LM -vv -@c umm, yeah... so what? -gp - -@cindex SATB -@cindex choral score +@end itemize -A complete example of a SATB score setup is in -@rlearning{Vocal ensembles}. +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] +<< + \new Voice = "melody" { + \time 3/4 + \set melismaBusyProperties = #'() + c4 d ( e ) + g8 [ f ] f4 ~ 4 + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e e -- le -- i -- son + } +>> +@end lilypond -@predefined -@funindex \melisma -@code{\melisma}, -@funindex \melismaEnd -@code{\melismaEnd}. -@endpredefined +Other settings for @code{melismaBusyProperties} can be used to +selectively include or exclude ties, slurs, and beams from the +automatic detection of melismata; see @code{melismaBusyProperties} +in @rinternals{Tunable context properties}. +Alternatively, if all melismata indications are to be ignored, +@code{ignoreMelismata} may be set true; +see @ref{Stanzas with different rhythms}. -@c @seealso -@c @lsr{vocal,lyric@/-combine.ly}. +If a melisma is required during a passage in which +@code{melismaBusyProperties} is active, it may be indicated by +placing a single underscore in the lyrics for each note which +should be included in the melisma: +@lilypond[relative=1,verbatim,quote] +<< + \new Voice = "melody" { + \time 3/4 + \set melismaBusyProperties = #'() + c4 d ( e ) + g8 [ f ] ~ 4 ~ f + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- _ e __ _ _ _ + } +>> +@end lilypond -@knownissues -Melismata are not detected automatically, and extender lines must be -inserted by hand. +@predefined -@node Skipping notes -@unnumberedsubsubsec Skipping notes +@code{\autoBeamOff}, +@code{\autoBeamOn}, +@code{\melisma}, +@code{\melismaEnd}. -Making a lyric line run slower than the melody can be achieved by -inserting @code{\skip}s into the lyrics. For every @code{\skip}, -the text will be delayed by another note. The @code{\skip} command -must be followed by a valid duration, but this is ignored when -@code{\skip} is used in lyrics which derive their durations from the -notes in an associated melody through @code{\addlyrics} or -@code{\lyricsto}. +@seealso +Musical Glossary: +@rglos{melisma}. -@lilypond[verbatim,ragged-right,quote] -\relative c' { c c g' } -\addlyrics { - twin -- \skip 4 - kle -} -@end lilypond +Learning Manual: +@rlearning{Aligning lyrics to a melody}. + +Notation Reference: +@ref{Aligning lyrics to a melody}, +@ref{Automatic syllable durations}, +@ref{Setting automatic beam behavior}, +@ref{Stanzas with different rhythms}. + +Internals Reference: +@rinternals{Tunable context properties}. + +@knownissues +Extender lines under melismata are not created automatically; they +must be inserted manually with a double underscore. @node Extenders and hyphens @@ -537,6 +823,8 @@ notes in an associated melody through @code{\addlyrics} or @cindex melisma @cindex extender +@c TODO cf Multiple notes to one syllable; should this be merged in? + @c leave this as samp. -gp In the last syllable of a word, melismata are sometimes indicated with a long horizontal line starting in the melisma syllable, and ending in @@ -553,16 +841,17 @@ typeset by default.} @cindex hyphens @c leave this as samp. -gp -Centered hyphens are entered as @samp{ -- } between syllables of a same word -(note the spaces before and after the two hyphen characters). The hyphen -will be centered between the syllables, and its length will be adjusted -depending on the space between the syllables. +Centered hyphens are entered as @samp{ -- } between syllables of a +same word (note the spaces before and after the two hyphen +characters). The hyphen will be centered between the syllables, and +its length will be adjusted depending on the space between the +syllables. In tightly engraved music, hyphens can be removed. Whether this happens can be controlled with the @code{minimum-distance} (minimum distance between two syllables) and the @code{minimum-length} -(threshold below which hyphens are removed). - +(threshold below which hyphens are removed) properties of +@code{LyricHyphen}. @seealso Internals Reference: @@ -573,15 +862,15 @@ Internals Reference: @node Techniques specific to lyrics @subsection Techniques specific to lyrics -@c TODO This whole section is to be reorganized. -vv +@c TODO this whole section is to be reorganised @menu * Working with lyrics and variables:: +* Placing lyrics vertically:: +* Placing syllables horizontally:: * Lyrics and repeats:: * Divisi lyrics:: -* Lyrics independent of notes:: -* Spacing out syllables:: -* Placement of lyrics:: +* Polyphony with shared lyrics:: @end menu @@ -589,95 +878,285 @@ Internals Reference: @node Working with lyrics and variables @unnumberedsubsubsec Working with lyrics and variables -@cindex lyrics, variables +@cindex lyrics, using variables -To define variables containing lyrics, the function @code{\lyricmode} -must be used. Durations do not need to be added if the variable is -to be invoked with @code{\addlyrics} or @code{\lyricsto}. +Variables containing lyrics can be created, but the lyrics must be +entered in lyric mode: @lilypond[quote,verbatim] -verseOne = \lyricmode { Joy to the world, the Lord is come. } +musicOne = \relative c'' { + c4 b8. a16 g4. f8 e4 d c2 +} +verseOne = \lyricmode { + Joy to the world, the Lord is come. +} \score { << - \new Voice = "one" \relative c'' { - \autoBeamOff + \new Voice = "one" { \time 2/4 - c4 b8. a16 g4. f8 e4 d c2 + \musicOne + } + \new Lyrics \lyricsto "one" { + \verseOne } - \addlyrics { \verseOne } >> } @end lilypond -For different or more complex orderings, the best way is to set up the -hierarchy of staves and lyrics first, e.g., -@example -\new ChoirStaff << - \new Voice = "soprano" @{ @emph{music} @} - \new Lyrics = "sopranoLyrics" @{ s1 @} - \new Lyrics = "tenorLyrics" @{ s1 @} - \new Voice = "tenor" @{ @emph{music} @} ->> -@end example +Durations do not need to be added if the variable is to be invoked +with @code{\addlyrics} or @code{\lyricsto}. -@noindent -and then combine the appropriate melodies and lyric lines +For different or more complex orderings, the best way is to define +the music and lyric variables first, then set up the hierarchy of +staves and lyrics, omitting the lyrics themselves, and then add the +lyrics using @code{\context} underneath. This ensures that the +voices referenced by @code{\lyricsto} have always been defined +earlier. For example: -@example -\context Lyrics = sopranoLyrics \lyricsto "soprano" -@emph{the lyrics} -@end example +@lilypond[quote,verbatim] +sopranoMusic = \relative c'' { c4 c c c } +contraltoMusic = \relative c'' { a4 a a a } +sopranoWords = \lyricmode { Sop -- ra -- no words } +contraltoWords = \lyricmode { Con -- tral -- to words } -@noindent -The final input would resemble +\score { + \new ChoirStaff << + \new Staff { + \new Voice = "sopranos" { + \sopranoMusic + } + } + \new Lyrics = "sopranos" + \new Lyrics = "contraltos" + \new Staff { + \new Voice = "contraltos" { + \contraltoMusic + } + } + \context Lyrics = "sopranos" { + \lyricsto "sopranos" { + \sopranoWords + } + } + \context Lyrics = "contraltos" { + \lyricsto "contraltos" { + \contraltoWords + } + } + >> +} +@end lilypond -@example -<<\new ChoirStaff << @emph{setup the music} >> - \lyricsto "soprano" @emph{etc} - \lyricsto "alto" @emph{etc} -@emph{etc} ->> -@end example +@seealso +Notation Reference: +@ref{Placing lyrics vertically}. -@ignore -@c TODO -http://code.google.com/p/lilypond/issues/detail?id=329 -The problem cannot be reproduced. -The following has no sense, because the issue seems to be fixed. -A comment is in tracker waiting for response ---FV +Internals Reference: +@rinternals{LyricCombineMusic}, +@rinternals{Lyrics}. -Be careful when defining a variable with lyrics that creates a new -context, for example, using the deprecated @code{\lyrics} command. See -the next erroneous example: +@node Placing lyrics vertically +@unnumberedsubsubsec Placing lyrics vertically -@example -words = \lyrics{ %warning: this creates a new context - one two +@cindex placement of lyrics +@cindex lyrics, positioning + +Depending on the type of music, lyrics may be positioned +above the staff, below the staff, or between staves. Placing +lyrics below the associated staff is the easiest, and can be +achieved by simply defining the Lyrics context below the Staff +context: + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { c4 c c c } + } + } + \new Lyrics { + \lyricsto "melody" { + Here are the words + } + } + >> } -<< - \new Voice = "sop" { c1 } - \new Lyrics \lyricsto "sop" { \words } - \new Voice = "alt" { c2 c } - \new Lyrics \lyricsto "alt" { \words } ->> -@end example +@end lilypond + +Lyrics may be positioned above the staff using one of +two methods. The simplest (and preferred) method +is to use the same syntax as above and explicitly +specify the position of the lyrics: -the problem is that \lyricsto will try to connect the "sop" melody with the context -created by "\new Lyrics". +@lilypond[quote,verbatim] +\score { + << + \new Staff = "staff" { + \new Voice = "melody" { + \relative c'' { c4 c c c } + } + } + \new Lyrics \with { alignAboveContext = "staff" } { + \lyricsto "melody" { + Here are the words + } + } + >> +} +@end lilypond -Then \lyrics in \words creates another context, and the original "\new Lyrics" one -remains empty. +Alternatively, a two-step process may be used. First the Lyrics +context is declared (without any content) before the Staff and +Voice contexts, then the @code{\lyricsto} command is placed after +the Voice declaration it references by using @code{\context}, as +follows: -@end ignore +@lilypond[quote,verbatim] +\score { + << + \new Lyrics = "lyrics" \with { + % lyrics above a staff should have this override + \override VerticalAxisGroup.staff-affinity = #DOWN + } + \new Staff { + \new Voice = "melody" { + \relative c'' { c4 c c c } + } + } + \context Lyrics = "lyrics" { + \lyricsto "melody" { + Here are the words + } + } + >> +} +@end lilypond +When there are two voices on separate staves the lyrics may be +placed between the staves using either of these methods. Here +is an example of the second method: + +@lilypond[quote,verbatim] +\score { + \new ChoirStaff << + \new Staff { + \new Voice = "sopranos" { + \relative c'' { c4 c c c } + } + } + \new Lyrics = "sopranos" + \new Lyrics = "contraltos" \with { + % lyrics above a staff should have this override + \override VerticalAxisGroup.staff-affinity = #DOWN + } + \new Staff { + \new Voice = "contraltos" { + \relative c'' { a4 a a a } + } + } + \context Lyrics = "sopranos" { + \lyricsto "sopranos" { + Sop -- ra -- no words + } + } + \context Lyrics = "contraltos" { + \lyricsto "contraltos" { + Con -- tral -- to words + } + } + >> +} +@end lilypond + +Other combinations of lyrics and staves may be generated by +elaborating these examples, or by examining the templates in the +Learning Manual, see @rlearning{Vocal ensembles templates}. + +@snippets +@lilypondfile[verbatim,quote,texidoc,doctitle] +{obtaining-2.12-lyrics-spacing-in-newer-versions.ly} @seealso -@c TODO: document \new Staff << Voice \lyricsto >> bug -Internals Reference: -@rinternals{LyricCombineMusic}, -@rinternals{Lyrics}. +Learning Manual: +@rlearning{Vocal ensembles templates}. + +Notation Reference: +@ref{Context layout order}, +@ref{Creating and referencing contexts}. + + +@node Placing syllables horizontally +@unnumberedsubsubsec Placing syllables horizontally + +@cindex Spacing lyrics +@cindex Lyrics, increasing space between + +To increase the spacing between lyrics, set the +@code{minimum-distance} property of @code{LyricSpace}. +@lilypond[relative=1,verbatim,quote,ragged-right] +{ + c c c c + \override Lyrics.LyricSpace.minimum-distance = #1.0 + c c c c +} +\addlyrics { + longtext longtext longtext longtext + longtext longtext longtext longtext +} +@end lilypond + +@noindent +To make this change for all lyrics in the score, set the property in the +@code{\layout} block. + +@lilypond[verbatim,quote,ragged-right] +\score { + \relative c' { + c c c c + c c c c + } + \addlyrics { + longtext longtext longtext longtext + longtext longtext longtext longtext + } + \layout { + \context { + \Lyrics + \override LyricSpace.minimum-distance = #1.0 + } + } +} +@end lilypond + +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{lyrics-alignment.ly} + +@c TODO: move to LSR -vv + +Checking to make sure that text scripts and lyrics are within the margins +requires additional calculations. To speed up processing slightly, this +feature can be disabled: + +@example +\override Score.PaperColumn.keep-inside-line = ##f +@end example + +To make lyrics avoid bar lines as well, use + +@example +\layout @{ + \context @{ + \Lyrics + \consists "Bar_engraver" + \consists "Separating_line_group_engraver" + \hide BarLine + @} +@} +@end example @node Lyrics and repeats @unnumberedsubsubsec Lyrics and repeats @@ -742,8 +1221,8 @@ unfolded. } @end lilypond -If the repeated section has different words and is unfolded simply -enter all the words: +If the repeated section is to be unfolded and has different words, +simply enter all the words: @lilypond[verbatim,quote,ragged-right] \score { @@ -767,24 +1246,9 @@ enter all the words: } @end lilypond -@cindex lyric skip -@funindex \skip - -When the words to a repeated volta section are different the words -to each repeat must be entered in separate @code{Lyrics} contexts. -Earlier unrepeated sections must be skipped in the second and -subsequent repeats. The easiest way to skip several notes is to -use @code{\repeat unfold} around the @code{\skip} command. - -Note: do not use an underscore, @code{_}, to skip notes as this -indicates a melisma and will cause the preceding syllable to be -left-aligned. - -@warning{The @code{@bs{}skip} command must be followed by a number, -but this number is ignored in lyrics which derive their durations -from the notes in an associated melody through @code{\addlyrics} or -@code{\lyricsto}. Each @code{@bs{}skip} skips a single note of any -value, irrespective of the value of the following number.} +When the words to a repeated volta section are different, the words +to each repeat must be entered in separate @code{Lyrics} contexts, +correctly nested in parallel sections: @lilypond[verbatim,quote] \score { @@ -797,69 +1261,103 @@ value, irrespective of the value of the following number.} } } } - \new Lyrics { - \lyricsto "melody" { - Not re -- peat -- ed. - The first time words. - } - } - \new Lyrics { - \lyricsto "melody" { - % skip 4 notes of any duration - \repeat unfold 4 { \skip 1 } - Sec -- ond time words. - } + \new Lyrics \lyricsto "melody" { + Not re -- peat -- ed. + << + { The first time words. } + \new Lyrics { + \set associatedVoice = "melody" + Sec -- ond time words. + } + >> } >> } @end lilypond -@cindex lyrics, repeating with a temporary voice +More verses may be added in a similar way: -An alternative way, which avoids skips and having to count notes, -is to use a temporary voice for the repeated section. This may be -preferable if the earlier sections are still subject to change. A -temporary voice can be inserted anywhere in the main music stream -in parallel with it, as shown below, but it may be necessary to -keep the main voice alive in complex scores when using this -technique; see @ref{Keeping contexts alive}. - -@lilypond[verbatim,quote,ragged-right] +@lilypond[verbatim,quote] \score { << \new Staff { \new Voice = "singleVoice" { - \relative c'' { a4 a a a } - \new Voice = "repeatVoice" { - \relative c'' \repeat volta 3 { b4 b b b } - } - \relative c'' { c4 c c c } + \relative c'' { + a4 a a a + \repeat volta 3 { b4 b b b } + c4 c c c + } } } - \new Lyrics << - \lyricsto "singleVoice" { - Not re -- peat -- ed. - The end sec -- tion. - } - \lyricsto "repeatVoice" { - The first time words. - } - >> - \new Lyrics { - \lyricsto "repeatVoice" { - Sec -- ond time words. + \new Lyrics \lyricsto "singleVoice" { + Not re -- peat -- ed. + << + { The first time words. } + \new Lyrics { + \set associatedVoice = "singleVoice" + Sec -- ond time words. + } + \new Lyrics { + \set associatedVoice = "singleVoice" + The third time words. + } + >> + The end sec -- tion. + } + >> +} +@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 { - \lyricsto "repeatVoice" { - The third time words. + \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 lowering a common line of lyrics + + +@c TODO positioning a common line of lyrics @subheading Repeats with alternative endings @@ -894,10 +1392,24 @@ same structure can be used for both the lyrics and music. } @end lilypond +@funindex \skip +@cindex skipping notes in lyrics +@cindex lyrics, skipping notes + But when the repeated section has different words, a repeat construct cannot be used around the words and @code{\skip} commands -have to be inserted manually as described in the previous section to -skip over the notes in the alternative sections which do not apply. +have to be inserted manually to skip over the notes in the +alternative sections which do not apply. + +Note: do not use an underscore, @code{_}, to skip notes -- an +underscore indicates a melisma, causing the preceding syllable +to be left-aligned. + +@warning{The @code{@bs{}skip} command must be followed by a number, +but this number is ignored in lyrics which derive their durations +from the notes in an associated melody through @code{\addlyrics} or +@code{\lyricsto}. Each @code{@bs{}skip} skips a single note of any +value, irrespective of the value of the following number.} @lilypond[verbatim,quote,ragged-right] \score { @@ -1046,298 +1558,180 @@ alternative sections these must be inserted manually. } @end lilypond +@seealso +Notation Reference: +@ref{Keeping contexts alive}, +@ref{Repeats}. @node Divisi lyrics @unnumberedsubsubsec Divisi lyrics -You can display alternate (or divisi) lyrics by naming voice -contexts and attaching lyrics to those specific contexts. - -@lilypond[verbatim,ragged-right,quote] -\score{ << - \new Voice = "melody" { - \relative c' { - c4 - << - { \voiceOne c8 e } - \new Voice = "splitpart" { \voiceTwo c4 } - >> - \oneVoice c4 c | c - } - } - \new Lyrics \lyricsto "melody" { we shall not o- ver- come } - \new Lyrics \lyricsto "splitpart" { will } ->> } -@end lilypond - - -You can use this trick to display different lyrics for a repeated -section. - -@lilypond[verbatim,ragged-right,quote] -\score{ << - \new Voice = "melody" \relative c' { - c2 e | g e | c1 | - \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | } - a2 b | c1} - \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode { - do mi sol mi do - la si do } - \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode { - do re mi fa sol } - \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode { - dodo rere mimi fafa solsol } ->> -} -@end lilypond - - - -@node Lyrics independent of notes -@unnumberedsubsubsec Lyrics independent of notes - -@cindex Devnull context - -In some complex vocal music, it may be desirable to place -lyrics completely independently of notes. Music defined -inside @code{lyricrhythm} disappears into the -@code{Devnull} context, but the rhythms can still be used -to place the lyrics. - -@lilypond[quote,verbatim,ragged-right] -voice = { - c''2 - \tag #'music { c''2 } - \tag #'lyricrhythm { c''4. c''8 } - d''1 -} - -lyr = \lyricmode { I like my cat! } - -<< - \new Staff \keepWithTag #'music \voice - \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice - \new Lyrics \lyricsto "nowhere" \lyr - \new Staff { c'8 c' c' c' c' c' c' c' - c' c' c' c' c' c' c' c' } ->> -@end lilypond - -This method is recommended only if the music in the @code{Devnull} -context does not contain melismata. Melismata are defined by the -@code{Voice} context. Connecting lyrics to a @code{Devnull} context -makes the voice/lyrics links to get lost, and so does the info on -melismata. Therefore, if you link lyrics to a @code{Devnull} context, -the implicit melismata get ignored. - -@c Conclusion: do not use devnull for lyrics -FV - -@c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248 - -@node Spacing out syllables -@unnumberedsubsubsec Spacing out syllables - -@cindex Spacing lyrics -@cindex Lyrics, increasing space between - -To increase the spacing between lyrics, set the @code{minimum-distance} -property of @code{LyricSpace}. - -@lilypond[relative,verbatim,fragment,quote,ragged-right] -{ - c c c c - \override Lyrics.LyricSpace #'minimum-distance = #1.0 - c c c c -} -\addlyrics { - longtext longtext longtext longtext - longtext longtext longtext longtext -} -@end lilypond - -@noindent -To make this change for all lyrics in the score, set the property in the -layout. - -@lilypond[verbatim,quote,ragged-right] -\score { - \relative c' { - c c c c - c c c c - } - \addlyrics { - longtext longtext longtext longtext - longtext longtext longtext longtext - } - \layout { - \context { - \Lyrics - \override LyricSpace #'minimum-distance = #1.0 - } - } -} -@end lilypond - -@c @snippets -@c This snippet has been renamed to "lyrics-alignment.ly" -@c update as soon as lsr/is updated -vv -@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] -@c {lyrics-alignment.ly} - -@c TODO: move to LSR -vv -@snippets - -Checking to make sure that text scripts and lyrics are within the margins is -a relatively large computational task. To speed up processing, LilyPond does -not perform such calculations by default; to enable it, use - -@example -\override Score.PaperColumn #'keep-inside-line = ##t -@end example - -To make lyrics avoid bar lines as well, use - -@example -\layout @{ - \context @{ - \Lyrics - \consists "Bar_engraver" - \consists "Separating_line_group_engraver" - \override BarLine #'transparent = ##t - @} -@} -@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 Placement of lyrics -@unnumberedsubsubsec Placement of lyrics - -@cindex placement of lyrics -@cindex lyrics, positioning - -@c TODO Add text from -user +@cindex divided lyrics +@cindex lyrics, divided -Lyrics are positioned above the staff, below the staff, or between -staves, depending on the type of music. To place lyrics below the -associated staff simply define the Lyrics context below the Staff -context: +When just the words and rhythms of the two parts differ with the +pitches remaining the same, temporarily turning off the automatic +detection of melismata and indicating the melisma in the lyrics +may be the appropriate method to use: @lilypond[quote,verbatim] \score { << - \new Staff { - \new Voice = "melody" { - \relative c'' { c4 c c c } + \new Voice = "melody" { + \relative c' { + \set melismaBusyProperties = #'() + \slurDown + \slurDashed + e4 e8 ( e ) c4 c | + \unset melismaBusyProperties + c } } - \new Lyrics { - \lyricsto "melody" { - Here are the words - } + \new Lyrics \lyricsto "melody" { + They shall not o -- ver -- come + } + \new Lyrics \lyricsto "melody" { + We will _ } >> } @end lilypond -To position lyrics above the staff, place the declaration of the -Lyrics context before the Staff and Voice contexts, but the -@code{\lyricsto} command must come after the Voice declaration it -references, like this: +When both music and words differ it may be better to display +the differing music and lyrics by naming voice contexts and +attaching lyrics to those specific contexts: -@lilypond[quote,verbatim] +@lilypond[verbatim,ragged-right,quote] \score { << - \new Lyrics = "lyrics" - \new Staff { - \new Voice = "melody" { - \relative c'' { c4 c c c } + \new Voice = "melody" { + \relative c' { + << + { + \voiceOne + e4 e8 e + } + \new Voice = "splitpart" { + \voiceTwo + c4 c + } + >> + \oneVoice + c4 c | + c } } - \context Lyrics = "lyrics" { - \lyricsto "melody" { - Here are the words - } + \new Lyrics \lyricsto "melody" { + They shall not o -- ver -- come + } + \new Lyrics \lyricsto "splitpart" { + We will } >> } @end lilypond -Alternatively, the position of the lyrics may be specified -explicitly: +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] -\score { - << - \new Staff = "staff" { - \new Voice = "melody" { - \relative c'' { c4 c c c } - } - } - \new Lyrics \with { alignAboveContext = "staff" } { - \lyricsto "melody" { - Here are the words - } - } - >> -} +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 -When there are two voices on separate staves the lyrics may be -placed between the staves using either of these methods. Here -is an example of the first method: +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] -\score { - \new ChoirStaff << - \new Staff { - \new Voice = "sopranos" { - \relative c'' { c4 c c c } - } - } - \new Lyrics = "sopranos" - \new Lyrics = "contraltos" - \new Staff { - \new Voice = "contraltos" { - \relative c'' { a4 a a a } - } - } - \context Lyrics = "sopranos" { - \lyricsto "sopranos" { - Sop -- ra -- no words - } - } - \context Lyrics = "contraltos" { - \lyricsto "contraltos" { - Con -- tral -- to words - } - } - >> -} +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 -Other combinations of lyrics and staves may be generated by -elaborating these examples, or by examining the SATB templates in -the Learning Manual. +This method also can be used with the @code{\partcombine} +function, which does not allow lyrics on its own: -@seealso -Learning Manual: -@rlearning{Vocal ensembles}. +@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 -Notation Reference: -@ref{Aligning contexts}, -@ref{Creating contexts}. +@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 @@ -1359,7 +1753,7 @@ Notation Reference: Stanza numbers can be added by setting @code{stanza}, e.g., -@lilypond[quote,ragged-right,verbatim,relative=2,fragment] +@lilypond[quote,ragged-right,verbatim,relative=2] \new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { @@ -1412,9 +1806,9 @@ stanzaOneThree = { Stanzas differing in loudness may be indicated by putting a dynamics mark before each stanza. In LilyPond, everything coming in -front of a stanza goes into the @code{StanzaNumber} object; dynamics marks -are no different. For technical reasons, you have to set the stanza -outside @code{\lyricmode}: +front of a stanza goes into the @code{StanzaNumber} object; dynamics +marks are no different. For technical reasons, you have to set the +stanza outside @code{\lyricmode}: @lilypond[quote,ragged-right,verbatim] text = { @@ -1441,9 +1835,10 @@ text = { Names of singers can also be added. They are printed at the start of the line, just like instrument names. They are created by setting -@code{vocalName}. A short version may be entered as @code{shortVocalName}. +@code{vocalName}. A short version may be entered as +@code{shortVocalName}. -@lilypond[fragment,ragged-right,quote,verbatim,relative=2] +@lilypond[ragged-right,quote,verbatim,relative=2] \new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { @@ -1465,7 +1860,7 @@ differing ways. Such variations can still be captured with @subsubheading Ignoring melismata One possibility is that the text has a melisma in one stanza, but -multiple syllables in another one. One solution is to make the faster +multiple syllables in another. One solution is to make the faster voice ignore the melisma. This is done by setting @code{ignoreMelismata} in the Lyrics context. @@ -1499,32 +1894,38 @@ are to be ignored. @subsubheading Adding syllables to grace notes +@cindex grace notes and lyrics +@cindex lyrics on grace notes + 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] -\relative c' { - f4 \appoggiatura a32 b4 - \grace { f16[ a16] } b2 - \afterGrace b2 { f16[ a16] } - \appoggiatura a32 b4 - \acciaccatura a8 b4 -} -\addlyrics { - normal - \set includeGraceNotes = ##t - case, - gra -- ce case, - after -- grace case, - \set ignoreMelismata = ##t - app. case, - acc. case. -} +<< + \new Voice = melody \relative c' { + f4 \appoggiatura a32 b4 + \grace { f16 a16 } b2 + \afterGrace b2 { f16[ a16] } + \appoggiatura a32 b4 + \acciaccatura a8 b4 + } + \new Lyrics + \lyricsto melody { + normal + \set includeGraceNotes = ##t + case, + gra -- ce case, + after -- grace case, + \set ignoreMelismata = ##t + app. case, + acc. case. + } +>> @end lilypond @knownissues -Like for @code{associatedVoice}, @code{includeGraceNotes} needs to be +Like @code{associatedVoice}, @code{includeGraceNotes} needs to be set at latest one syllable before the one which is to be put under a grace note. For the case of a grace note at the very beginning of a piece of music, consider using a @code{\with} or @code{\context} @@ -1533,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 } @@ -1545,11 +1946,14 @@ block: @subsubheading Switching to an alternative melody -More complex variations in text underlay are possible. It is possible -to switch the melody for a line of lyrics during the text. This is -done by setting the @code{associatedVoice} property. In the example +@cindex associatedVoice +@cindex alternative melody, switching to -@lilypond[ragged-right,quote] +More complex variations in setting lyrics to music are possible. +The melody to which the lyrics are being set can be changed from +within the lyrics by setting the @code{associatedVoice} property: + +@lilypond[verbatim,quote] << \relative c' \new Voice = "lahlah" { \set Staff.autoBeaming = ##f @@ -1557,9 +1961,9 @@ done by setting the @code{associatedVoice} property. In the example << \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 } } @@ -1576,56 +1980,43 @@ done by setting the @code{associatedVoice} property. In the example \new Lyrics \lyricsto "lahlah" { % Tricky: need to set associatedVoice % one syllable too soon! - \set associatedVoice = alternative % applies to "ran" + \set associatedVoice = "alternative" % applies to "ran" Ty -- ran -- no -- - \set associatedVoice = lahlah % applies to "rus" + \set associatedVoice = "lahlah" % applies to "rus" sau -- rus Rex } >> @end lilypond @noindent -the text for the first stanza is set to a melody called @q{lahlah}, - -@example -\new Lyrics \lyricsto "lahlah" @{ - Ju -- ras -- sic Park -@} -@end example +The text for the first stanza is set to the melody called +@q{lahlah} in the usual way, but the second stanza is set initally +to the @code{lahlah} context and is then switched to the +@code{alternative} melody for the syllables @q{ran} to @q{sau} by +the lines: - -The second stanza initially is set to the @code{lahlah} context, but -for the syllable @q{ran}, it switches to a different melody. -This is achieved with @example -\set associatedVoice = alternative +\set associatedVoice = "alternative" % applies to "ran" +Ty -- +ran -- +no -- +\set associatedVoice = "lahlah" % applies to "rus" +sau -- rus Rex @end example @noindent Here, @code{alternative} is the name of the @code{Voice} context containing the triplet. -@c TODO: make this easier to understand -vv -This command must be one syllable too early, before @q{Ty} in this -case. In other words, changing the associatedVoice happens one step -later than expected. This is for technical reasons, and it is not a -bug. - -@example -\new Lyrics \lyricsto "lahlah" @{ - \set associatedVoice = alternative % applies to "ran" - Ty -- - ran -- - no -- - \set associatedVoice = lahlah % applies to "rus" - sau -- rus Rex -@} -@end example +Note the placement of the @code{\set associatedVoice} command -- +it appears to be one syllable too early, but this is correct. -@noindent -The underlay is switched back to the starting situation by assigning -@code{lahlah} to @code{associatedVoice}. +@warning{The @code{\set associatedVoice} command must be placed +one syllable @emph{before} the one at which the switch to the new +voice is to occur. In other words, changing the associated Voice +happens one syllable later than expected. This is for technical +reasons, and it is not a bug.} @node Printing stanzas at the end @@ -1683,7 +2074,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 { @@ -1691,17 +2082,18 @@ text = \lyricmode { It has two lines. } -\score{ << +\score { + << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text - >> + >> \layout { } } \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 { @@ -1709,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." @@ -1717,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." @@ -1736,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 @@ -1785,15 +2175,14 @@ For writing the lyrics to a melody line, see @ref{Common notation for vocal music}. @item -For placing the lyrics, see @ref{Placement of lyrics}. +For placing the lyrics, see @ref{Placing lyrics vertically}. @item For entering stanzas, see @ref{Stanzas}. @item Songs are frequently printed with the chording indicated by chord -names above the staves. This is described in -@ref{Displaying chords}. +names above the staves. This is described in @ref{Displaying chords}. @item To print fret diagrams of the chords for guitar accompaniment or @@ -1811,17 +2200,21 @@ Notation Reference: @ref{Displaying chords}, @ref{Displaying staves}, @ref{Keyboard and other multi-staff instruments}, -@ref{Placement of lyrics}, +@ref{Placing lyrics vertically}, @ref{Stanzas}. +Snippets: +@rlsr{Vocal music}. + + @node Lead sheets @unnumberedsubsubsec Lead sheets -Lead sheets may be printed by combining vocal parts and @q{chord mode}; -this syntax is explained in @ref{Chord notation}. +Lead sheets may be printed by combining vocal parts and +@q{chord mode}; this syntax is explained in @ref{Chord notation}. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {simple-lead-sheet.ly} @seealso @@ -1853,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). @@ -1869,18 +2262,20 @@ 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 @ref{Grouping staves}. @item -Shape noteheads, as used in Sacred Harp and similar notation, are +Shape note heads, as used in Sacred Harp and similar notation, are described in @ref{Shape note heads}. @item @@ -1889,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 @@ -1899,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}, @@ -1907,11 +2307,15 @@ Notation Reference: @ref{Shape note heads}, @ref{Single-staff polyphony}. +Snippets: +@rlsr{Vocal music}. + Internals Reference: @rinternals{ChoirStaff}, @rinternals{Lyrics}, @rinternals{PianoStaff}. + @node Score layouts for choral @unnumberedsubsubsec Score layouts for choral @@ -1944,7 +2348,7 @@ the two systems. See @ref{Separating systems}. @item For details of other page formatting properties, see -@ref{Page formatting}. +@ref{Page layout}. @end itemize @@ -1975,8 +2379,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 } } } @@ -1990,11 +2394,11 @@ Notation Reference: @ref{Changing spacing}, @ref{Displaying spacing}, @ref{Fitting music onto fewer pages}, -@ref{Page formatting}, +@ref{Page layout}, @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: @@ -2007,7 +2411,7 @@ Internals Reference: @cindex voices, divided -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {using-arpeggiobracket-to-make-divisi-more-visible.ly} @seealso @@ -2093,13 +2497,13 @@ See @ref{Separating systems}. @item For details of other page formatting properties, see -@ref{Page formatting}. +@ref{Page layout}. @item -Dialogue cues and stage directions can be inserted with markup. -See @ref{Text}. Extensive stage directions can be inserted with -a section of stand-alone markup between two @code{\score} blocks. -See @ref{Separate text}. +Dialogue cues, stage directions and footnotes can be inserted, see +@ref{Creating footnotes} and @ref{Text}. Extensive stage directions +can also be added with a section of stand-alone markups between two +@code{\score} blocks, see @ref{Separate text}. @end itemize @@ -2110,16 +2514,20 @@ Musical Glossary: @rglos{transposing instrument}. Notation Reference: +@ref{Creating footnotes}, @ref{Grouping staves}, @ref{Hiding staves}, @ref{Instrument transpositions}, @ref{Nested staff groups}, -@ref{Page formatting}, +@ref{Page layout}, @ref{Separating systems}, @ref{Transpose}, @ref{Writing parts}, @ref{Writing text}. +Snippets: +@rlsr{Vocal music}. + @node Character names @unnumberedsubsubsec Character names @@ -2128,15 +2536,14 @@ Notation Reference: @cindex names, character Character names are usually shown to the left of the staff when the -staff is dedicated to that character alone. The instrument name can -be used for this purpose. +staff is dedicated to that character alone: @lilypond[quote,verbatim,ragged-right] \score { << \new Staff { - \set Staff.instrumentName = #"Kaspar" - \set Staff.shortInstrumentName = #"Kas" + \set Staff.vocalName = \markup \smallCaps Kaspar + \set Staff.shortVocalName = \markup \smallCaps Kas. \relative c' { \clef "G_8" c4 c c c @@ -2145,8 +2552,8 @@ be used for this purpose. } } \new Staff { - \set Staff.instrumentName = #"Melchior" - \set Staff.shortInstrumentName = #"Mel" + \set Staff.vocalName = \markup \smallCaps Melchior + \set Staff.shortVocalName = \markup \smallCaps Mel \clef "bass" \relative c' { a4 a a a @@ -2174,51 +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 @@ -2238,9 +2637,8 @@ main text, see @ref{Quoting other voices} and @ref{Formatting cue notes}. But when many cues have to be inserted, for example, as an aid to a conductor in a vocal score, the instrument name must be positioned carefully just before and -close to the start of the cued notes. The following example shows -how this is done. Note that the name of the grob for overriding -the cued instrument name is @code{InstrumentSwitch}. +close to the start of the cue notes. The following example shows +how this is done. @lilypond[quote,verbatim] flute = \relative c'' { @@ -2250,12 +2648,12 @@ flute = \relative c'' { pianoRH = \relative c'' { c4. g8 - % position name of cued instrument just before the cued notes - \once \override CueVoice.InstrumentSwitch - #'self-alignment-X = #RIGHT - % position name of cued instrument above the staff - \once \override CueVoice.InstrumentSwitch #'direction = #UP - \set CueVoice.instrumentCueName = "Flute" + % position name of cue-ing instrument just before the cue notes, + % and above the staff + \new CueVoice { + \override InstrumentSwitch.self-alignment-X = #RIGHT + \set instrumentCueName = "Flute" + } \cueDuring "flute" #UP { g4 bes4 } } pianoLH = \relative c { c4 e, } @@ -2273,14 +2671,14 @@ pianoLH = \relative c { c4 e, } } @end lilypond -If a transposing instrument is being cued the instrument part should -specify its key so the conversion of its cued notes will be done +If a transposing instrument is being quoted the instrument part should +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 +@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 cued notes in this example begin at the start of the +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. @@ -2293,12 +2691,12 @@ clarinet = \relative c' { pianoRH = \relative c'' { \transposition c' - % position name of cued instrument just before the cued notes - \once \override CueVoice.InstrumentSwitch - #'self-alignment-X = #RIGHT - % position name of cued instrument below the staff - \once \override CueVoice.InstrumentSwitch #'direction = #DOWN - \set CueVoice.instrumentCueName = "Clar." + % position name of cue-ing instrument below the staff + \new CueVoice { + \override InstrumentSwitch.self-alignment-X = #RIGHT + \override InstrumentSwitch.direction = #DOWN + \set instrumentCueName = "Clar." + } \cueDuring "clarinet" #DOWN { c4. g8 } g4 bes4 } @@ -2322,13 +2720,13 @@ pianoLH = \relative c { c4 e, } @end lilypond From these two examples it is clear that inserting many cues in a -Vocal Score would be extremely tedious, and the notes of the piano -part would be obscured by the many overrides. However, as the -following snippet shows, it is possible to define a music function -to reduce the amount of typing and to make the piano notes clearer. +Vocal Score would be tedious, and the notes of the piano part would +become obscured. However, as the following snippet shows, it is +possible to define a music function to reduce the amount of typing +and to make the piano notes clearer. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {adding-orchestral-cues-to-a-vocal-score.ly} @seealso @@ -2343,7 +2741,7 @@ Notation Reference: @ref{Using music functions}. Snippets: -@rlsr{vocal-music}. +@rlsr{Vocal music}. Internals Reference: @rinternals{InstrumentSwitch}, @@ -2352,10 +2750,10 @@ Internals Reference: @knownissues @code{\cueDuring} automatically inserts a @code{CueVoice} context and all cue notes are placed in that context. This means it is not -possible to have two overlapping sequences of cued notes by this +possible to have two overlapping sequences of cue notes by this technique. Overlapping sequences could be entered by explicitly declaring separate @code{CueVoice} contexts and using -@code{\quoteDuring} to extract and insert the cued notes. +@code{\quoteDuring} to extract and insert the cue notes. @node Spoken music @@ -2363,8 +2761,8 @@ declaring separate @code{CueVoice} contexts and using @cindex parlato @cindex Sprechgesang -Such effects as @q{parlato} or @q{Sprechgesang} require performers to speak -without pitch but still with rhythm; these are notated by cross +Such effects as @q{parlato} or @q{Sprechgesang} require performers to +speak without pitch but still with rhythm; these are notated by cross note heads, as demonstrated in @ref{Special note heads}. @c TODO add "marking-notes-on-spoken-parts" snippet -vv @@ -2406,7 +2804,7 @@ to manually insert @code{\break}s and adjust the placing of the dialogue to avoid running into the right margin. The final word of the last measure on a line should also be separated out, as above. -Here is an example illustating how this might be done. +Here is an example illustrating how this might be done. @c This should be a snippet, but it can't be as it needs to be @c manually adjusted to suit the imposed line length. -td @@ -2430,8 +2828,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 { @@ -2482,6 +2880,9 @@ is described in @ref{Ancient notation}. Notation reference: @ref{Ancient notation}. +Snippets: +@rlsr{Vocal music}. + @node Setting a chant @unnumberedsubsubsec Setting a chant @@ -2494,7 +2895,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 @@ -2528,7 +2929,7 @@ all staves remove the bar line engraver completely: \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2540,7 +2941,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 | @@ -2560,7 +2961,7 @@ Bar lines can also be removed on a staff-by-staff basis: 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 -barlines with @code{\bar ""} to show where the line should break. +bar lines with @code{\bar ""} to show where the line should break. @lilypond[verbatim,quote,relative=2] a4 b c2 | @@ -2585,9 +2986,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 @@ -2598,23 +2999,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 } @@ -2632,7 +3033,7 @@ finalis = { \layout { \context { \Staff - \remove Bar_engraver + \remove "Bar_engraver" } } } @@ -2652,9 +3053,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" } } } @@ -2728,8 +3129,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 @@ -2746,7 +3146,7 @@ of the following snippets. @snippets -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {chant-or-psalms-notation.ly} Canticles and other liturgical texts may be set more freely, and @@ -2755,13 +3155,13 @@ are shown underneath and aligned with the notes. If so, the notes are spaced in accordance with the syllables rather than the notes' durations. -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {ancient-notation-template----modern-transcription-of-gregorian-music.ly} @seealso Learning Manual: @rlearning{Visibility and color of objects}, -@rlearning{Vocal ensembles}. +@rlearning{Vocal ensembles templates}. Notation Reference: @ref{Ancient notation}, @@ -2920,11 +3320,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}, @@ -2940,14 +3341,15 @@ with a line of text. This requires a @code{\partial} command at the start of the music and @code{\bar "|"} or @code{\bar "||"} commands at the end of each line. -@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {hymn-template.ly} @node Ancient vocal music @subsection Ancient vocal music -Ancient vocal music is supported, as explained in @ref{Ancient notation}. +Ancient vocal music is supported, as explained in +@ref{Ancient notation}. @c TODO