Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.17.5"
@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.
* Manual syllable durations::
* Multiple syllables to one note::
* Multiple notes to one syllable::
-* Skipping notes::
* Extenders and hyphens::
@end menu
@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
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
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:
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}.
+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
Normal quotes may be used in lyrics, but they have to be preceded
@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:
@rlearning{Songs}.
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
@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 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}.
-The following example compares different ways to align lyrics.
+@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:
@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
@unnumberedsubsubsec Automatic syllable durations
@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:
+
+@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
-Lyrics are aligned and typeset with the help of skips, hyphens and
-extender lines.
+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 shortcut
-that can be used instead of having to set up the lyrics through a more
-complicated LilyPond structure.
+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:
-@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
-The command @code{\addlyrics} cannot handle polyphony settings.
-For these cases one 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.
+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.
+
+Here is an example demonstrating its use:
-@lilypond[relative=1,ragged-right,verbatim,fragment,quote]
-<< \new Voice = "melody" {
+@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.
+
+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.
- }
- \new Lyrics \lyricmode {
- \set associatedVoice = #"melody"
- play2 the4 game2.
- } >>
+ 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 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
-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 c'' { \autoBeamOff
+ r8 b c fis, fis c' b e, }
+ \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 }
+ \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da }
+}
@end lilypond
-
@seealso
Internals Reference:
@rinternals{LyricCombineMusic}.
@funindex \melismaEnd
Sometimes, particularly in Medieval music, several notes are to be
-sung on one syllable; such vocalises are called @rglos{melisma}s, 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
hyphenated line. This is indicated by placing a double hyphen,
-@code{--}, immediately after the syllable.
+@w{@code{--}}, immediately after the syllable.
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
e8
}
\new Lyrics \lyricsto "melody" {
- Ki -- ri -- e __
+ Ky -- ri -- e __
}
>>
@end lilypond
e8 ( d e2 )
}
\new Lyrics \lyricsto "melody" {
- Ki -- ri -- e __
+ 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
e2.
}
\new Lyrics \lyricsto "melody" {
- Ki -- ri -- e
+ Ky -- ri -- e
}
>>
@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
e2.
}
\new Lyrics \lyricsto "melody" {
- Ki -- ri -- e
+ Ky -- ri -- e
}
>>
@end lilypond
-Note that this method cannot be used to indicate two melismata if
-the first one is immediately followed by another.
-
@item
A melisma can be defined entirely in the lyrics by entering a
single underscore character, @code{_}, for every extra note that has
e8 d e2
}
\new Lyrics \lyricsto "melody" {
- Ki -- ri -- _ _ _ e __ _ _
+ Ky -- ri -- _ _ _ e __ _ _
}
>>
@end lilypond
It is possible to have ties, slurs and manual beams in the melody
without their indicating melismata. To do this, set
-@code{melismaBusyProperties} and indicate the melismata with single
-underscores in the lyrics, one underscore for each extra note:
+@code{melismaBusyProperties}:
@lilypond[relative=1,verbatim,quote]
<<
\time 3/4
\set melismaBusyProperties = #'()
c4 d ( e )
- g8 [ f ] f4( e)
- d e ~ e
+ g8 [ f ] f4 ~ f
}
\new Lyrics \lyricsto "melody" {
- Ky -- _ _ _ _ ri -- _ _ e __ _
+ Ky -- ri -- e e -- le -- i -- son
}
>>
@end lilypond
Other settings for @code{melismaBusyProperties} can be used to
-include or exclude ties, slurs, and beams from the automatic
-detection of melismata; see @code{melismaBusyProperties} in
-@rinternals{Tunable context properties}.
+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}.
+
+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 ] ~ f4 ~ f
+ }
+ \new Lyrics \lyricsto "melody" {
+ Ky -- ri -- _ e __ _ _ _
+ }
+>>
+@end lilypond
+
@predefined
Notation Reference:
@ref{Aligning lyrics to a melody},
@ref{Automatic syllable durations},
-@ref{Setting automatic beam behavior}.
+@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 Skipping notes
-@unnumberedsubsubsec Skipping notes
-
-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}.
-
-@lilypond[verbatim,ragged-right,quote]
-\relative c' { c c g' }
-\addlyrics {
- twin -- \skip 4
- kle
-}
-@end lilypond
-
@node Extenders and hyphens
@unnumberedsubsubsec Extenders and hyphens
@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
Internals Reference:
@node Techniques specific to lyrics
@subsection Techniques specific to lyrics
+@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
-@c TODO rewrite this section
-
-@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
-
-@noindent
-and then combine the appropriate melodies and lyric lines:
+Durations do not need to be added if the variable is to be invoked
+with @code{\addlyrics} or @code{\lyricsto}.
-@example
-\context Lyrics = sopranoLyrics \lyricsto "soprano"
-@emph{the lyrics}
-@end example
+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:
-@noindent
-The final input would resemble
+@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 }
-@example
-<<\new ChoirStaff << @emph{setup the music} >>
- \lyricsto "soprano" @emph{etc}
- \lyricsto "alto" @emph{etc}
-@emph{etc}
->>
-@end example
+\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
-@c TODO: document \new Staff << Voice \lyricsto >> bug
+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 (and preferred) method
+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" \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
+@rlearning{Vocal ensembles} templates in the Learning Manual.
+
+@snippets
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{obtaining-2.12-lyrics-spacing-in-newer-versions.ly}
+
+@seealso
+Learning Manual:
+@rlearning{Vocal ensembles}.
+
+Notation Reference:
+@ref{Context layout order},
+@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=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"
+ \override BarLine #'transparent = ##t
+ @}
+@}
+@end example
+
@node Lyrics and repeats
@unnumberedsubsubsec Lyrics and repeats
}
@end lilypond
-If the repeated section is unfolded with different words, 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 {
}
@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} context.
-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 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
-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.}
+to each repeat must be entered in separate @code{Lyrics} contexts,
+correctly nested in parallel sections:
@lilypond[verbatim,quote]
\score {
}
}
}
- \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
-
-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}.
+More verses may be added in a similar way:
-@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 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 "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 = "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 Lyrics {
- \lyricsto "repeatVoice" {
- The third time words.
+ \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
}
@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 {
}
@end lilypond
+@seealso
+Notation Reference:
+@ref{Keeping contexts alive},
+@ref{Repeats}.
@node Divisi lyrics
@end lilypond
-@node Lyrics independent of notes
-@unnumberedsubsubsec Lyrics independent of notes
-
-@c TODO remove this section? Don't use DevNull
-@c should be all in Manual Syllable durations
-
-@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
-
-@c TODO move to second item
-
-@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
-
-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:
-
-@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
-
-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 }
- }
- }
- \context Lyrics = "lyrics" {
- \lyricsto "melody" {
- Here are the words
- }
- }
- >>
-}
-@end lilypond
-
-Alternatively, the position of the lyrics may be specified
-explicitly:
-
-@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
-
-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 }
- }
- }
- \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 SATB templates in
-the Learning Manual.
-
-@seealso
-Learning Manual:
-@rlearning{Vocal ensembles}.
-
-Notation Reference:
-@ref{Aligning contexts},
-@ref{Creating contexts}.
-
@node Stanzas
@subsection Stanzas
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 {
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 = {
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 {
@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.
@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}
@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
\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
@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 {
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 {
"It has two lines."
}
}
- \hspace #0.1 % adds vertical spacing between verses
+ \vspace #0.1 % adds vertical spacing between verses
\line { \bold "3."
\column {
"This is verse three."
}
}
}
- \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
+ \vspace #0.1 % adds vertical spacing between verses
\line { \bold "5."
\column {
"This is verse five."
}
}
\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
@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
@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
@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
@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
@item
For details of other page formatting properties, see
-@ref{Page formatting}.
+@ref{Page layout}.
@end itemize
@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},
@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
@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
@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
@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
Extending LilyPond:
@rextend{Markup construction in Scheme}.
+
@node Musical cues
@unnumberedsubsubsec Musical cues
@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
+ \new CueVoice {
+ \override InstrumentSwitch #'self-alignment-X = #RIGHT
+ \set instrumentCueName = "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
+@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
+ \new CueVoice {
+ \override InstrumentSwitch #'self-alignment-X = #RIGHT
+ \override InstrumentSwitch #'direction = #DOWN
+ \set instrumentCueName = "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]
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{adding-orchestral-cues-to-a-vocal-score.ly}
@seealso
@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
@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
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
Notation reference:
@ref{Ancient notation}.
+Snippets:
+@rlsr{Vocal music}.
+
@node Setting a chant
@unnumberedsubsubsec Setting a chant
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
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 |
\bar "'"
a4 b c2
a4 b c2
-\bar ":"
+\bar ";"
a4 b c2
-\bar "dashed"
+\bar "!"
a4 b c2
\bar "||"
@end lilypond
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
@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
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
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