@node Entering lyrics
@unnumberedsubsubsec Entering lyrics
-Lyrics are entered in lyric mode. This section explains how this
-done.
-
-@cindex lyrics
+@cindex lyrics, entering
+@cindex entering lyrics
+@cindex punctuation in lyrics
+@cindex lyrics punctuation
+@cindex spaces in lyrics
+@cindex quotes in lyrics
@funindex \lyricmode
-@cindex punctuation
-@cindex spaces, in lyrics
-@cindex quotes, in lyrics
-@c TODO: this section is to be rewritten.
-Since LilyPond input files are text, there is at least one
-issue to consider when working with vocal music:
-song texts must be interpreted as text, not notes. For example, the
-input@tie{}@code{d} should be interpreted as a one letter syllable,
-not the note@tie{}D.
-Therefore, a special lyric mode has to be used, either explicitly
-or using some abbreviated methods.
+@c TODO should we explain hyphens here
Lyrics are entered in a special input mode, which can be introduced
by the keyword @code{\lyricmode}, or by using @code{\addlyrics} or
-@code{\lyricsto}. In this mode you can enter lyrics,
-with punctuation and accents, and the input @code{d} is not parsed as
-a pitch, but rather as a one letter syllable. Syllables are entered
-like notes, but with pitches replaced by text. For example,
+@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.
+
+For example:
@example
-\lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
+\lyricmode @{ Three4 blind mice,2 three4 blind mice2 @}
@end example
-There are two main methods to specify the horizontal placement
+There are two main methods for specifying the horizontal placement
of the syllables, either by specifying the duration of each syllable
-explicitly, like in the example above, or by automatically aligning
-the lyrics to a melody or other voice of music, using @code{\addlyrics}
-or @code{\lyricsto}.
-@c TODO: broken
-@c For more details see @ref{The Lyrics context}.
+explicitly, as in the example above, or by leaving the lyrics to be
+aligned automatically to a melody or other voice of music, using
+@code{\addlyrics} or @code{\lyricsto}. The former method is
+described below in @ref{Manual syllable durations}. The latter
+method is described in @ref{Automatic syllable durations}.
-A word or syllable of lyrics begins with an alphabetic character, and ends
-with
-any space or digit. The following characters can be any character
-that is not a digit or white space.
+A word or syllable of lyrics begins with an alphabetic character
+(plus some other characters, see below) and is terminated by any
+white space or a digit. Later characters in the syllable can be any
+character that is not a digit or white space.
-Any character that is not a digit or white space will be regarded as
-part of the syllable; one important consequence of this is that a word
-can end with @code{@}}, which often leads to the following mistake:
+Because any character that is not a digit or white space is regarded
+as part of the syllable, a word is valid even if it ends with
+@code{@}}, which often leads to the following mistake:
@example
-\lyricmode @{ lah- lah@}
+\lyricmode @{ lah lah lah@}
@end 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.
+compile. Instead, braces should always be surrounded with white space:
+@example
+\lyricmode @{ lah lah lah @}
+@end example
-@funindex \property in \lyricmode
+@cindex overrides in lyric mode
+@funindex \override in \lyricmode
-@noindent
-Similarly, a period which follows an alphabetic sequence is included in
-the resulting string. As a consequence, spaces must be inserted around
-property 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 lyrics with characters from non-English languages, or with
-accented and 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. See @ref{Text encoding}, for more info.
+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,ragged-right,fragment,verbatim]
+@lilypond[quote,verbatim]
\relative c' { e4 f e d e f e2 }
-\addlyrics { He said: “Let my peo ple go”. }
+\addlyrics { He said: “Let my peo -- ple go.” }
@end lilypond
-To use normal quotes in lyrics, add a backslash before the
-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,ragged-right,fragment,verbatim]
+@lilypond[quote,verbatim]
\relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
-\addlyrics { "\"I" am so lone- "ly\"" said she }
+\addlyrics { "\"I" am so lone -- "ly,\"" said she }
@end lilypond
-The full definition of a word start in Lyrics mode is somewhat more
-complex.
-
-A word in Lyrics mode begins with: an alphabetic character, @code{_},
-@code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
-through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
-any 8-bit character with ASCII code over 127, or a two-character
+The full definition of a word start in lyrics mode is somewhat more
+complex. A word in lyrics mode is one that begins with an
+alphabetic character, @code{_}, @code{?}, @code{!}, @code{:},
+@code{'}, the control characters @code{^A} through @code{^F},
+@code{^Q} through @code{^W}, @code{^Y}, @code{^^}, any 8-bit
+character with an ASCII code over 127, or a two-character
combination of a backslash followed by one of @code{`}, @code{'},
@code{"}, or @code{^}.
@c " to balance double quotes for not-so-bright context-sensitive editors
-To define variables containing lyrics, the function @code{lyricmode}
-must be used.
-
-@example
-verseOne = \lyricmode @{ Joy to the world the Lord is come @}
-\score @{
- <<
- \new Voice = "one" \relative c'' @{
- \autoBeamOff
- \time 2/4
- c4 b8. a16 g4. f8 e4 d c2
- @}
- \addlyrics @{ \verseOne @}
- >>
-@}
-@end example
-
-
@seealso
+Learning Manual:
+@rlearning{Songs}.
+
Notation Reference:
-@ref{Fonts}.
+@ref{Automatic syllable durations},
+@ref{Fonts},
+@ref{Input modes},
+@ref{Manual syllable durations}.
Internals Reference:
-@rinternals{LyricText},
-@rinternals{LyricSpace}.
+@rinternals{LyricText}.
@node Aligning lyrics to a melody
@unnumberedsubsubsec Aligning lyrics to a melody
+@cindex lyrics, aligning to a melody
@funindex \lyricmode
@funindex \addlyrics
@funindex \lyricsto
-@c TODO: this stuff is to be rewritten. -vv
-
-Aligning of text with melodies can be made automatically, but if you
-specify the durations of the syllables it can also be made manually.
-Lyrics aligning and typesetting are prepared with the help of skips,
-hyphens and extender lines.
-
Lyrics are printed by interpreting them in the context called
-@code{Lyrics}; see @rinternals{Lyrics}, for more.
+@code{Lyrics}, see @ref{Contexts explained}.
@example
-\new Lyrics \lyricmode @dots{}
+\new Lyrics \lyricmode @{ @dots{} @}
@end example
-There are two main methods to specify the horizontal placement
-of the syllables:
+Lyrics can be aligned with melodies in two main ways:
@itemize
+
@item
-by automatically aligning
-the lyrics to a melody or other voice of music, using @code{\addlyrics}
-or @code{\lyricsto}
+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}.
@item
-or by specifying the duration of each syllable
-explicitly, using @code{\lyricmode}
+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}.
+
@end itemize
-The @code{Voice} context containing the melody to which the lyrics
-are being aligned must not have @qq{died}, or the lyrics after that
-point will be lost. This can happen if there are periods when that
-voice has nothing to do. For methods of keeping contexts alive, see
-@ref{Keeping contexts alive}.
+The following example compares different ways to align lyrics.
+
+@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;
+ \new Lyrics \lyricmode {
+ Joy to the earth!
+ }
+
+% explicit durations; left-aligned by default
+ \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.
+ }
+>>
+@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
+@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.
+The third stanza shows the normal way of entering lyrics.
+
+@seealso
+Learning Manual:
+@rlearning{Aligning lyrics to a melody}.
+
+Internals Reference:
+@rinternals{Lyrics}.
@node Automatic syllable durations
@unnumberedsubsubsec Automatic syllable durations
@cindex syllable durations, automatic
@cindex lyrics and melodies
+Lyrics are aligned and typeset with the help of skips, hyphens and
+extender lines.
+
+The @code{Voice} context containing the melody to which the lyrics
+are being aligned must not have @qq{died}, or the lyrics after that
+point will be lost. This can happen if there are periods when that
+voice has nothing to do. For methods of keeping contexts alive, see
+@ref{Keeping contexts alive}.
+
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
@example
-\new Lyrics \lyricsto @var{name} @dots{}
+\new Lyrics \lyricsto @var{name} @{ @dots{} @}
@end example
@noindent
@code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
@code{\lyricmode} keyword may be omitted.
-The following example uses different commands for entering lyrics.
-
-@lilypond[quote,fragment,ragged-right,verbatim]
-<<
- \new Voice = "one" \relative c'' {
- \autoBeamOff
- \time 2/4
- c4 b8. a16 g4. f8 e4 d c2
- }
-
-% not recommended: left-aligned syllables
- \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
-
-% wrong: durations needed
- \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
-
-%correct
- \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
->>
-@end lilypond
-
-The second stanza is not properly aligned because the durations
-were not specified. A solution for that would be to use @code{\lyricsto}.
@cindex \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 actually 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 @}
@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
@end lilypond
The command @code{\addlyrics} cannot handle polyphony settings.
-For these cases you should use @code{\lyricsto} and
+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
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:
+@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:
@example
play2 the4 game2.
@end example
@noindent
+
+@c TODO setting associated voice does more than format extender
+@c lines. Document it properly. Does it have anything to do
+@c with manual durations in lyrics?
+
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,
-@lilypond[relative=1,ragged-right,verbatim,fragment,quote]
-<< \new Voice = "melody" {
+@lilypond[relative=1,verbatim,quote]
+<<
+ \new Voice = "melody" {
\time 3/4
c2 e4 g2.
- }
- \new Lyrics \lyricmode {
- \set associatedVoice = #"melody"
- play2 the4 game2.
- } >>
+ }
+ \new Lyrics \lyricmode {
+ \set associatedVoice = #"melody"
+ play2 the4 game2.
+ }
+>>
+@end lilypond
+
+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}:
+
+@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
+@c TODO see also feature request 707 - show how to do this with manual durations
@seealso
Notation Reference:
In order to assign more than one syllable to a single note with
spaces between the syllables, you can surround the phrase with
quotes or use a @code{_} character. Alternatively, you can use
-code the tilde symbol (@code{~}) to get a lyric tie. The lyric
+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.
@rinternals{LyricCombineMusic}.
-@c Here come the section which used to be "Melismata"
-@c the new title might be more self-explanatory
-
-
@node Multiple notes to one syllable
@unnumberedsubsubsec Multiple notes to one syllable
@cindex melisma
@cindex melismata
@cindex phrasing, in lyrics
+@funindex \melisma
+@funindex \melismaEnd
+
+Sometimes, particularly in Medieval music, several notes are to be
+sung on one 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.
+
+Alternatively, when a melisma occurs on the last or only syllable in
+a word an extender line is usually drawn from the end of the syllable
+to the last note of the melisma. This is indicated by placing a
+double underscore, @code{__}, immediately after the word.
-Sometimes, particularly in Medieval music, several notes are to be sung on one
-single syllable; such vocalises are called melismas, or melismata.
+There are five ways in which melismata can be indicated:
-@c this method seems to be the simplest; therefore
-@c it might be better to present it first - vv
+@itemize
+
+@item
+Melismata are created automatically over notes which are tied
+together:
+
+@lilypond[quote,relative=2,verbatim]
+<<
+ \new Voice = "melody" {
+ \time 3/4
+ f4 g2 ~ |
+ g4 e2 ~ |
+ e8
+ }
+ \new Lyrics \lyricsto "melody" {
+ Ki -- ri -- e __
+ }
+>>
+@end lilypond
-You can define melismata entirely in the lyrics, by entering @code{_}
-for every extra note that has to be added to the melisma.
+@item
+Melismata can be created automatically from the music by placing
+slurs over the notes of each melisma. This is the usual way of
+entering lyrics:
-@c TODO: clarify: __ is used to crate a lyric extender,
-@c _ is used to add a note to a melisma, so both __ and _ are needed.
+@lilypond[quote,relative=2,verbatim]
+<<
+ \new Voice = "melody" {
+ \time 3/4
+ f4 g8 ( f e f )
+ e8 ( d e2 )
+ }
+ \new Lyrics \lyricsto "melody" {
+ Ki -- ri -- e __
+ }
+>>
+@end lilypond
-@c verbose! --FV
-@c duplicated: TODO fix
-Additionally, you can make an extender line to be typeset to indicate
-the melisma in the score, writing a double underscore next to the
-first syllable of the melisma. This example shows the three elements
-that are used for this purpose (all of them surrounded by spaces):
-double hyphens to separate syllables in a word, underscores to add
-notes to a melisma, and a double underscore to put an extender line.
+@item
+Notes are considered a melisma if they are manually beamed,
+providing automatic beaming is switched off. See
+@ref{Setting automatic beam behavior}.
-@c wrong: extender line only on last syllable of a word. Change example
-@lilypond[relative=1,verbatim,fragment,quote]
-{ \set melismaBusyProperties = #'()
- c d( e) f f( e) e e }
-\addlyrics
- { Ky -- _ _ ri __ _ _ _ e }
+@lilypond[quote,relative=2,verbatim]
+<<
+ \new Voice = "melody" {
+ \time 3/4
+ \autoBeamOff
+ f4 g8[ f e f]
+ e2.
+ }
+ \new Lyrics \lyricsto "melody" {
+ Ki -- ri -- e
+ }
+>>
@end lilypond
-In this case, you can also have ties and slurs in the melody if you
-set @code{melismaBusyProperties}, as is done in the example above.
+Clearly this is not suited to melisma over notes which are longer
+than eighth notes.
-However, the @code{\lyricsto} command can also
-detect melismata automatically: it only puts one
-syllable under a tied or slurred group of notes. If you want to force
-an unslurred group of notes to be a melisma, insert @code{\melisma}
-after the first note of the group, and @code{\melismaEnd} after the
-last one, e.g.,
+@item
+An unslurred group of notes will be treated as a melisma if they
+are bracketed between @code{\melisma} and @code{\melismaEnd}.
-@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
<<
- \new Voice = "lala" {
+ \new Voice = "melody" {
\time 3/4
f4 g8
\melisma
f e f
\melismaEnd
- e2
+ e2.
}
- \new Lyrics \lyricsto "lala" {
- la di __ daah
+ \new Lyrics \lyricsto "melody" {
+ Ki -- ri -- e
}
>>
@end lilypond
-In addition, notes are considered a melisma if they are manually
-beamed, and automatic beaming (see @ref{Setting automatic beam
-behavior}) is switched off.
+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
+to be added to the melisma.
-@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
+@lilypond[verbatim, quote, relative=2]
<<
- \new Voice = "lala" {
+ \new Voice = "melody" {
\time 3/4
- \autoBeamOff
- f4 g8[ f e f]
- e2
+ f4 g8 f e f
+ e8 d e2
}
- \new Lyrics \lyricsto "lala" {
- la di __ daah
+ \new Lyrics \lyricsto "melody" {
+ Ki -- ri -- _ _ _ e __ _ _
}
>>
@end lilypond
-@c TODO: this now links to LM -vv
-@c umm, yeah... so what? -gp
+@end itemize
-@cindex SATB
-@cindex choral score
+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:
-A complete example of a SATB score setup is in
-@rlearning{Vocal ensembles}.
+@lilypond[relative=1,verbatim,quote]
+<<
+ \new Voice = "melody" {
+ \time 3/4
+ \set melismaBusyProperties = #'()
+ c4 d ( e )
+ g8 [ f ] f4( e)
+ d e ~ e
+ }
+ \new Lyrics \lyricsto "melody" {
+ Ky -- _ _ _ _ ri -- _ _ e __ _
+ }
+>>
+@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}.
@predefined
-@funindex \melisma
+
+@code{\autoBeamOff},
+@code{\autoBeamOn},
@code{\melisma},
-@funindex \melismaEnd
@code{\melismaEnd}.
-@endpredefined
+@seealso
+Musical Glossary:
+@rglos{melisma}.
+
+Learning Manual:
+@rlearning{Aligning lyrics to a melody}.
-@c @seealso
-@c @lsr{vocal,lyric@/-combine.ly}.
+Notation Reference:
+@ref{Aligning lyrics to a melody},
+@ref{Automatic syllable durations},
+@ref{Setting automatic beam behavior}.
+Internals Reference:
+@rinternals{Tunable context properties}.
@knownissues
-Melismata are not detected automatically, and extender lines must be
-inserted by hand.
+Extender lines under melismata are not created automatically; they
+must be inserted manually with a double underscore.
@node Skipping notes
@unnumberedsubsubsec Skipping notes
@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::
+* Placement of lyrics::
* 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
To define variables containing lyrics, the function @code{\lyricmode}
-must be used. You do not have to enter durations though, if you add
-@code{\addlyrics} or @code{\lyricsto}
-when invoking your variable.
+must be used. Durations do not need to be added if the variable is
+to be invoked with @code{\addlyrics} or @code{\lyricsto}.
-@example
-verseOne = \lyricmode @{ Joy to the world the Lord is come @}
-\score @{
- <<
- \new Voice = "one" \relative c'' @{
- \autoBeamOff
- \time 2/4
- c4 b8. a16 g4. f8 e4 d c2
- @}
- \addlyrics @{ \verseOne @}
- >>
-@}
-@end example
+@lilypond[quote,verbatim]
+verseOne = \lyricmode { Joy to the world, the Lord is come. }
+\score {
+ <<
+ \new Voice = "one" \relative c'' {
+ \autoBeamOff
+ \time 2/4
+ c4 b8. a16 g4. f8 e4 d c2
+ }
+ \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.,
@end example
@noindent
-and then combine the appropriate melodies and lyric lines
+and then combine the appropriate melodies and lyric lines:
@example
\context Lyrics = sopranoLyrics \lyricsto "soprano"
The final input would resemble
@example
-<<\new ChoirStaff << @emph{setup the music} >>
- \lyricsto "soprano" @emph{etc}
- \lyricsto "alto" @emph{etc}
-@emph{etc}
+<<
+ \new ChoirStaff <<
+ @emph{setup the music}
+ >>
+ \lyricsto "soprano" @emph{etc}
+ \lyricsto "alto" @emph{etc}
+ @emph{etc}
>>
@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
+@seealso
+@c TODO: document \new Staff << Voice \lyricsto >> bug
+Internals Reference:
+@rinternals{LyricCombineMusic},
+@rinternals{Lyrics}.
-Be careful when defining a variable with lyrics that creates a new
-context, for example, using the deprecated @code{\lyrics} command. See
-the next erroneous example:
+@node Placement of lyrics
+@unnumberedsubsubsec Placement of lyrics
-@example
-words = \lyrics{ %warning: this creates a new context
- one two
+@cindex placement of lyrics
+@cindex lyrics, positioning
+
+Depending on the type of music, lyrics may be positioned
+above the staff, below the staff, or between staves. Placing
+lyrics below the associated staff is the easiest, and can be
+achieved by simply defining the Lyrics context below the Staff
+context:
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \new Voice = "melody" {
+ \relative c'' { c4 c c c }
+ }
+ }
+ \new Lyrics {
+ \lyricsto "melody" {
+ Here are the words
+ }
+ }
+ >>
}
-<<
- \new Voice = "sop" { c1 }
- \new Lyrics \lyricsto "sop" { \words }
- \new Voice = "alt" { c2 c }
- \new Lyrics \lyricsto "alt" { \words }
->>
-@end example
+@end lilypond
-the problem is that \lyricsto will try to connect the "sop" melody with the context
-created by "\new Lyrics".
+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:
-Then \lyrics in \words creates another context, and the original "\new Lyrics" one
-remains empty.
+@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
-@end ignore
+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 comes after
+the Voice declaration it references, 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
-@c TODO: document \new Staff << Voice \lyricsto >> bug
-Internals Reference:
-@rinternals{LyricCombineMusic},
-@rinternals{Lyrics}.
+Learning Manual:
+@rlearning{Vocal ensembles}.
+Notation Reference:
+@ref{Aligning contexts},
+@ref{Creating contexts}.
@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.
+@cindex divided lyrics
+@cindex lyrics, divided
-@lilypond[verbatim,ragged-right,quote]
-\score{ <<
- \new Voice = "melody" {
- \relative c' {
- c4
- <<
- { \voiceOne c8 e }
- \new Voice = "splitpart" { \voiceTwo c4 }
- >>
- \oneVoice c4 c | c
+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 Voice = "melody" {
+ \relative c' {
+ \set melismaBusyProperties = #'()
+ \slurDown
+ \slurDashed
+ e4 e8 ( e ) c4 c |
+ \unset melismaBusyProperties
+ c
+ }
}
- }
- \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
- \new Lyrics \lyricsto "splitpart" { will }
->> }
+ \new Lyrics \lyricsto "melody" {
+ They shall not o -- ver -- come
+ }
+ \new Lyrics \lyricsto "melody" {
+ We will _
+ }
+ >>
+}
@end lilypond
-
-You can use this trick to display different lyrics for a repeated
-section.
+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[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 }
->>
+\score {
+ <<
+ \new Voice = "melody" {
+ \relative c' {
+ <<
+ {
+ \voiceOne
+ e4 e8 e
+ }
+ \new Voice = "splitpart" {
+ \voiceTwo
+ c4 c
+ }
+ >>
+ \oneVoice
+ c4 c |
+ c
+ }
+ }
+ \new Lyrics \lyricsto "melody" {
+ They shall not o -- ver -- come
+ }
+ \new Lyrics \lyricsto "splitpart" {
+ We will
+ }
+ >>
}
@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
@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