Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.13.36"
@node Vocal music
@section Vocal music
Music Glossary:
@rglos{ambitus}.
+Snippets:
+@rlsr{Vocal music}.
+
@node Entering lyrics
@unnumberedsubsubsec Entering lyrics
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:
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 @}
@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
+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
\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{Text encoding}.
@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. }
@unnumberedsubsubsec Aligning lyrics to a melody
@cindex lyrics, aligning to a melody
+@cindex @code{associatedVoice}
@funindex \lyricmode
@funindex \addlyrics
@funindex \lyricsto
@code{Lyrics}, see @ref{Contexts explained}.
@example
-\new Lyrics \lyricmode @dots{}
+\new Lyrics \lyricmode @{ @dots{} @}
@end example
Lyrics can be aligned with melodies in two main ways:
@itemize
@item
-They can be aligned automatically, with the durations of the
-syllables being taken from an associated melody or other voice
-of music, using @code{\addlyrics} or @code{\lyricsto}. See
-@ref{Automatic syllable durations}.
+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}.
-@item
-They can be aligned independently of the duration of any notes
-if the durations of the syllables are specified explicitly,
-and entered with @code{\lyricmode}. See
-@ref{Manual 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
+ }
+ >>
-@end itemize
+% 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 following example compares different ways to align lyrics.
+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
+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'' {
- \autoBeamOff
\time 2/4
c4 b8. a16 g4. f8 e4 d c2
}
-% uses default durations of 2;
+% uses previous explicit duration of 2;
\new Lyrics \lyricmode {
Joy to the earth!
}
-% explicit durations; left-aligned by default
+% explicit durations, set to a different rhythm
\new Lyrics \lyricmode {
- Joy4 to8. the16 world!4. the8 Lord4 is come.2
- }
-
-% takes durations and alignment from notes in "one"
- \new Lyrics \lyricsto "one" {
- No more let sins and sor -- rows grow.
+ 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 default value of 2 is used for each
-word. This can be useful for dialogue over music; for more, see
+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}.
-The second stanza with explicitly specified durations is
-aligned to the notes because the durations are the same as the
-corresponding notes. The words are left-aligned to the notes by
-default. Useful if the words to different stanzas fit the notes in
-different ways.
+When entered in this way the words are left-aligned to the notes
+by default, but may be center-aligned to the notes of a melody by
+specifying an associated voice, if one exists. For details, see
+@ref{Manual syllable durations}.
-The third stanza shows the normal way of entering lyrics.
+@end itemize
@seealso
Learning Manual:
@cindex syllable durations, automatic
@cindex lyrics and melodies
+@cindex associatedVoice
+@funindex \addlyrics
+@funindex \lyricsto
+
+Lyrics can be automatically aligned to the notes of a melody in
+three ways:
-Lyrics are aligned and typeset with the help of skips, hyphens and
-extender lines.
+@itemize
+
+@item
+by specifying the named Voice context containing the melody with
+@code{\lyricsto},
+
+@item
+by introducing the lyrics with @code{\addlyrics} and placing them
+immediately after the Voice context containing the melody,
+
+@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
voice has nothing to do. For methods of keeping contexts alive, see
@ref{Keeping contexts alive}.
-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
+@subheading Using @code{\lyricsto}
-@example
-\new Lyrics \lyricsto @var{name} @dots{}
-@end example
+@cindex \lyricsto
+@funindex \lyricsto
+
+Lyrics can be aligned under a melody automatically by specifying
+the named Voice context containing the melody with
+@code{\lyricsto}:
+
+@lilypond[quote,verbatim,relative=2]
+<<
+ \new Voice = "melody" {
+ a4 a a a
+ }
+ \new Lyrics \lyricsto "melody" {
+ These are the words
+ }
+>>
+@end lilypond
@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.
+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, so the @code{\lyricmode} keyword
+may be omitted. By default, the lyrics are placed underneath the
+notes. For other placements, see @ref{Placing lyrics vertically}.
+@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 @}
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
+@code{\addlyrics} sections:
+
@lilypond[ragged-right,verbatim,fragment,quote]
\time 3/4
\addlyrics { joue le jeu }
@end lilypond
-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
-
-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.
+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" {
+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}.
+
+@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.
+
+By default, syllables will be left-aligned to the corresponding
+musical moment. 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" {
+ \time 3/4
+ c2 e4 g2 f
+ }
+ \new Lyrics \lyricmode {
+ play1 the4 game4
+ }
+>>
+@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 center-align syllables on the notes at the corresponding musical
+moments, set @code{associatedVoice} to the name of the Voice context
+containing those notes. When @code{associatedVoice} is set, both
+double hyphens and double underscores can be used to draw
+hyphenated lines and extenders under melismata correctly.
+
+@lilypond[relative=1,verbatim,quote]
+<<
+ \new Voice = "melody" {
\time 3/4
- c2 e4 g2.
- }
- \new Lyrics \lyricmode {
- \set associatedVoice = #"melody"
- play2 the4 game2.
- } >>
+ c2 e4 g f g
+ }
+ \new Lyrics \lyricmode {
+ \set associatedVoice = #"melody"
+ play2 the4 game2. __
+ }
+>>
@end lilypond
+@c TODO see also feature request 707 - show how to do this with manual durations
@seealso
Notation Reference:
-@ref{Keeping contexts alive}.
+@ref{Dialogue over music}.
Internals Reference:
@rinternals{Lyrics},
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
+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.
@funindex \melismaEnd
Sometimes, particularly in Medieval music, several notes are to be
-sung on one syllable; such vocalises are called melismas, or
-melismata. The syllable to a melisma is usually left-aligned with
-the first note of the melisma.
+sung on one syllable; such vocalises are called melismata, or
+@rglos{melisma}s. 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
word, that syllable is usually joined to the following one with a
>>
@end lilypond
-Clearly this is not suited to melisma over notes which are longer
+Clearly this is not suited to melismata over notes which are longer
than eighth notes.
@item
@code{\melismaEnd}.
@seealso
+Musical Glossary:
+@rglos{melisma}.
+
Learning Manual:
@rlearning{Aligning lyrics to a melody}.
Notation Reference:
@ref{Aligning lyrics to a melody},
@ref{Automatic syllable durations},
-@ref{Setting automatic beam behaviour}.
+@ref{Setting automatic beam behavior}.
Internals Reference:
@rinternals{Tunable context properties}.
@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
@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
@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::
@end menu
@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
+ }
+ >>
+}
+@end lilypond
+
+Durations do not need to be added if the variable is to be invoked
+with @code{\addlyrics} or @code{\lyricsto}.
+
+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:
+
+@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 }
+
+\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
+
+
+@seealso
+Notation Reference:
+@ref{Placing lyrics vertically}.
+
+Internals Reference:
+@rinternals{LyricCombineMusic},
+@rinternals{Lyrics}.
+
+
+@node Placing lyrics vertically
+@unnumberedsubsubsec Placing lyrics vertically
+
+@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
+ }
+ }
+ >>
+}
+@end lilypond
+
+Lyrics may be positioned above the staff using one of
+two methods. The simplest is to use the same syntax as
+above and explicitly specify the position of the 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
+
+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:
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Lyrics = "lyrics"
+ \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"
+ \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
+@rlearning{Vocal ensembles} templates in the Learning Manual.
+
+@seealso
+Learning Manual:
+@rlearning{Vocal ensembles}.
+
+Notation Reference:
+@ref{Aligning contexts},
+@ref{Creating 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,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
+@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
}
- \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
-
-@noindent
-and then combine the appropriate melodies and lyric lines
+@snippets
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{lyrics-alignment.ly}
-@example
-\context Lyrics = sopranoLyrics \lyricsto "soprano"
-@emph{the lyrics}
-@end example
+@c TODO: move to LSR -vv
-@noindent
-The final input would resemble
+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
-<<\new ChoirStaff << @emph{setup the music} >>
- \lyricsto "soprano" @emph{etc}
- \lyricsto "alto" @emph{etc}
-@emph{etc}
->>
+\override Score.PaperColumn #'keep-inside-line = ##t
@end example
-@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
-
-
-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:
+To make lyrics avoid bar lines as well, use
@example
-words = \lyrics{ %warning: this creates a new context
- one two
-}
-<<
- \new Voice = "sop" { c1 }
- \new Lyrics \lyricsto "sop" { \words }
- \new Voice = "alt" { c2 c }
- \new Lyrics \lyricsto "alt" { \words }
->>
+\layout @{
+ \context @{
+ \Lyrics
+ \consists "Bar_engraver"
+ \consists "Separating_line_group_engraver"
+ \override BarLine #'transparent = ##t
+ @}
+@}
@end example
-the problem is that \lyricsto will try to connect the "sop" melody with the context
-created by "\new Lyrics".
-
-Then \lyrics in \words creates another context, and the original "\new Lyrics" one
-remains empty.
+@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
-@seealso
-@c TODO: document \new Staff << Voice \lyricsto >> bug
-Internals Reference:
-@rinternals{LyricCombineMusic},
-@rinternals{Lyrics}.
-
-
@node Lyrics and repeats
@unnumberedsubsubsec Lyrics and repeats
}
@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 {
@cindex lyric skip
@funindex \skip
-When the words to a repeated volta section are different the words
+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.
+Note: do not use an underscore, @code{_}, to skip notes in this
+particular case. As this syntax indicates a melisma, it 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
@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
+@cindex divided lyrics
+@cindex lyrics, divided
-@c TODO Add text from -user
-
-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 Lyrics {
- \lyricsto "melody" {
- Here are the words
+ \new Voice = "melody" {
+ \relative c' {
+ \set melismaBusyProperties = #'()
+ \slurDown
+ \slurDashed
+ e4 e8 ( e ) c4 c |
+ \unset melismaBusyProperties
+ c
}
}
- >>
-}
-@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:
-
-@lilypond[quote,verbatim]
-\score {
- <<
- \new Lyrics = "lyrics"
- \new Staff {
- \new Voice = "melody" {
- \relative c'' { c4 c c c }
- }
+ \new Lyrics \lyricsto "melody" {
+ They shall not o -- ver -- come
}
- \context Lyrics = "lyrics" {
- \lyricsto "melody" {
- Here are the words
- }
+ \new Lyrics \lyricsto "melody" {
+ We will _
}
>>
}
@end lilypond
-Alternatively, the position of the lyrics may be specified
-explicitly:
+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 Staff = "staff" {
- \new Voice = "melody" {
- \relative c'' { c4 c c c }
- }
- }
- \new Lyrics \with { alignAboveContext = "staff" } {
- \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 first method:
-
-@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 }
+ \new Voice = "melody" {
+ \relative c' {
+ <<
+ {
+ \voiceOne
+ e4 e8 e
+ }
+ \new Voice = "splitpart" {
+ \voiceTwo
+ c4 c
+ }
+ >>
+ \oneVoice
+ c4 c |
+ c
}
}
- \context Lyrics = "sopranos" {
- \lyricsto "sopranos" {
- Sop -- ra -- no words
- }
+ \new Lyrics \lyricsto "melody" {
+ They shall not o -- ver -- come
}
- \context Lyrics = "contraltos" {
- \lyricsto "contraltos" {
- Con -- tral -- to words
- }
+ \new Lyrics \lyricsto "splitpart" {
+ We will
}
>>
}
@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.
-
-@seealso
-Learning Manual:
-@rlearning{Vocal ensembles}.
-
-Notation Reference:
-@ref{Aligning contexts},
-@ref{Creating contexts}.
@node Stanzas
@subsection Stanzas
@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.
@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}.
@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
@ref{Shape note heads},
@ref{Single-staff polyphony}.
+Snippets:
+@rlsr{Vocal music}.
+
Internals Reference:
@rinternals{ChoirStaff},
@rinternals{Lyrics},
@ref{Writing parts},
@ref{Writing text}.
+Snippets:
+@rlsr{Vocal music}.
+
@node Character names
@unnumberedsubsubsec Character names
@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
}
}
\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
@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'' {
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
+ s1*0^\markup { \right-align { \tiny "Flute" } }
\cueDuring "flute" #UP { g4 bes4 }
}
pianoLH = \relative c { c4 <c' e> e, <g c> }
}
@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
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.
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
+ s1*0_\markup { \right-align { \tiny "Clar." } }
\cueDuring "clarinet" #DOWN { c4. g8 }
g4 bes4
}
@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]
@ref{Using music functions}.
Snippets:
-@rlsr{vocal-music}.
+@rlsr{Vocal music}.
Internals Reference:
@rinternals{InstrumentSwitch},
@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
Notation reference:
@ref{Ancient notation}.
+Snippets:
+@rlsr{Vocal music}.
+
@node Setting a chant
@unnumberedsubsubsec Setting a chant