version that you are working on. See TRANSLATION for details.
@end ignore
+@c \version "2.11.61"
+
@node Vocal music
@section Vocal music
-Since LilyPond input files are text, there are two issues to
-consider when working with vocal music:
-
-@itemize
-@item
-Song texts must be entered as text, not notes. For example, the
-input@tie{}@code{d} should be interpreted as a one letter syllable, not the
-note@tie{}D.
-
-@item
-Song texts must be aligned with the notes of their melody.
-@end itemize
+@c TODO: inspirational headword
-There are a few different ways to define lyrics; we shall begin
-by examining the simplest method, and gradually increase complexity.
+This section explains how to typeset vocal music, and make sure
+that the lyrics will be aligned with the notes of their melody.
@menu
-* Simple lyrics::
-* Aligning lyrics to a melody::
-* Vocals and variables::
-* Flexibility in placement::
-* Spacing vocals::
-* More about stanzas::
+* Entering lyrics::
+* Aligning lyrics to a melody::
+* Specific uses of lyrics::
+* Stanzas::
@end menu
-@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
-
+@node Entering lyrics
+@subsection Entering lyrics
-@node Simple lyrics
-@subsection Simple lyrics
+@c TODO add one sentence here. -vv
@menu
-* Setting simple songs::
-* Entering lyrics::
+* Lyrics explained::
+* Setting simple songs::
+* Working with lyrics and variables::
+* References for vocal music::
@end menu
-@node Setting simple songs
-@subsubsection Setting simple songs
-
-@cindex \addlyrics
-
-The easiest way to add lyrics to a melody is to append
-
-@example
-\addlyrics @{ @var{the lyrics} @}
-@end example
-
-@noindent
-to a melody. Here is an example,
-
-@lilypond[ragged-right,verbatim,fragment,quote]
-\time 3/4
-\relative { 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 { 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 you should use @code{\lyricsto} and @code{\lyricmode}, as will be
-introduced in @ref{Entering lyrics}.
-
-
-@node Entering lyrics
-@subsubsection Entering lyrics
+@node Lyrics explained
+@unnumberedsubsubsec Lyrics explained
@cindex lyrics
@funindex \lyricmode
@cindex spaces, in lyrics
@cindex quotes, in lyrics
+@c FIXME: 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 explicitely
+or using some abbreviated methods.
+
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,
surround them with quotes or use a @code{_} character, to get spaces
between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
-@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,fragment,verbatim]
\time 3/4
-\relative { c2 e4 g2 e4 }
+\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 }
@end lilypond
-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.
+@noindent
+The lyric tie is implemented with the Unicode character
+@code{U+203F}; therefore a font that includes this glyph
+(such as DejaVuLGC) has to be used. More explanations about
+text and non-text fonts can be found in @ref{Fonts}.
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.
-
-FIXME: quotes.
+it with UTF-8 encoding. See @ref{Text encoding}, for more info.
@lilypond[quote,ragged-right,fragment,verbatim]
-\relative { e4 f e d e f e2 }
-\addlyrics { He said: ââ\82¬Å\93Let my peo ple goââ\82¬Â\9d. }
+\relative c' { e4 f e d e f e2 }
+\addlyrics { He said: â\80\9cLet my peo ple goâ\80\9d. }
@end lilypond
To use normal quotes in lyrics, add a backslash before the
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.
@seealso
-Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
+Notation Reference:
+@ref{Fonts}.
+
+Internals Reference:
+@rinternals{LyricText},
+@rinternals{LyricSpace}.
+
+
+@node Setting simple songs
+@unnumberedsubsubsec Setting simple songs
+
+@cindex \addlyrics
+
+The easiest way to add lyrics to a melody is to append
+
+@example
+\addlyrics @{ @var{the lyrics} @}
+@end example
+
+@noindent
+to a melody. Here is an example,
+
+@lilypond[ragged-right,verbatim,fragment,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 you should use @code{\lyricsto} and @code{\lyricmode}, as will be
+introduced in @ref{Lyrics explained}.
+
+@c TODO: one additional section may be needed here,
+@c such as "advanced lyric syntax" or whatever -vv
+
+@node Working with lyrics and variables
+@unnumberedsubsubsec Working with lyrics and variables
+
+@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.
+
+@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
+
+For different or more complex orderings, the best way is to setup 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
+
+and then combine the appropriate melodies and lyric lines
+
+@example
+\context Lyrics = sopranoLyrics \lyricsto "soprano"
+@emph{the lyrics}
+@end example
+
+@noindent
+
+The final input would resemble
+
+@example
+<<\new ChoirStaff << @emph{setup the music} >>
+ \lyricsto "soprano" @emph{etc}
+ \lyricsto "alto" @emph{etc}
+@emph{etc}
+>>
+@end example
+
+@ignore
+@c FIXME
+http://code.google.com/p/lilypond/issues/detail?id=329
+The problem cannot be reproduced.
+The following has no sense, because the issue seems to be fixed.
+A comment is in tracker waiting for response ---FV
+
+
+Be careful when defining a variable with lyrics that creates a new
+context, for example, using the deprecated @code{\lyrics} command. See
+the next erroneous example:
+
+@example
+words = \lyrics{ %warning: this creates a new context
+ one two
+}
+<<
+ \new Voice = "sop" { c1 }
+ \new Lyrics \lyricsto "sop" { \words }
+ \new Voice = "alt" { c2 c }
+ \new Lyrics \lyricsto "alt" { \words }
+>>
+@end example
+
+the problem is that \lyricsto will try to connect the "sop" melody with the context
+created by "\new Lyrics".
+
+Then \lyrics in \words creates another context, and the original "\new Lyrics" one
+remains empty.
+
+@end ignore
+
+@seealso
+
+@c TODO: document \new Staff << Voice \lyricsto >> bug
+Internals Reference:
+@rinternals{LyricCombineMusic},
+@rinternals{Lyrics}.
+
+
+@node References for vocal music
+@unnumberedsubsubsec References for vocal music
+
+TBC
+@c TODO Add @refs
+
+@c Nope -- this section is to be removed.
+@c With a vengeance :-) -vv
+
+@q{Parlato} is spoken without pitch but still with rhythm; it is
+notated by cross note heads. This is demonstrated in
+@ref{Special note heads}.
@node Aligning lyrics to a melody
@funindex \addlyrics
@funindex \lyricsto
+@c FIXME: 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
-@internalsref{Lyrics}.
+@rinternals{Lyrics}.
@example
\new Lyrics \lyricmode @dots{}
@end itemize
@menu
-* Automatic syllable durations::
-* Another way of entering lyrics::
-* Assigning more than one syllable to a single note::
-* More than one note on a single syllable::
-* Extenders and hyphens::
+* Automatic syllable durations::
+* Manual syllable durations::
+* Multiple syllables to one note::
+* Multiple notes to one syllable::
+* Skipping notes::
+* Extenders and hyphens::
+* Lyrics and repeats::
@end menu
@node Automatic syllable durations
-@subsubsection Automatic syllable durations
+@unnumberedsubsubsec Automatic syllable durations
@cindex automatic syllable durations
@cindex lyrics and melodies
@end example
This aligns the lyrics to the
-notes of the @internalsref{Voice} context called @var{name}, which must
+notes of the @rinternals{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
\time 2/4
c4 b8. a16 g4. f8 e4 d c2
}
+
+% not recommended: left aligns 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
\new Lyrics \lyricsto "blah" @{ LYRICS @}
@end example
-@node Another way of entering lyrics
-@subsubsection Another way of 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:
-
+
@example
play2 the4 game2.
sink2 or4 swim2.
@end example
-
+
The alignment to a melody can be specified with 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 @internalsref{Voice} context. Without this setting, extender lines
+a @rinternals{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" {
\time 3/4
@end lilypond
@seealso
-
-Internals Reference: @internalsref{Lyrics}.
+
+Internals Reference:
+@rinternals{Lyrics}.
-@node Assigning more than one syllable to a single note
-@subsubsection Assigning more than one syllable to a single note
+@node Multiple syllables to one note
+@unnumberedsubsubsec Multiple syllables to one note
@funindex _
sure to have a font (Like DejaVuLGC) installed that includes this
glyph.}.
-@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,fragment,verbatim]
\time 3/4
-\relative { c2 e4 g2 e4 }
+\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 }
@seealso
-Internals Reference: @internalsref{LyricCombineMusic}.
+Internals Reference:
+@rinternals{LyricCombineMusic}.
@c Here come the section which used to be "Melismata"
@c the new title might be more self-explanatory
-@node More than one note on a single syllable
-@subsubsection More than one note on a single syllable
+@node Multiple notes to one syllable
+@unnumberedsubsubsec Multiple notes to one syllable
@cindex melisma
@cindex melismata
@c it might be better to present it first - vv
You can define melismata entirely in the lyrics, by entering @code{_}
-for every note
-that is part of the melisma.
+for every extra note that has to be added to the the melisma.
+@c FIXME: clarify: __ is used to crate a lyric extender,
+@c _ is used to add a note to a melisma, so both __ and _ are needed.
+
+@c verbose! --FV
+@c duplicated: TODO fix
+Additionaly, 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.
+
+@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 }
beamed, and automatic beaming (see @ref{Setting automatic beam
behavior}) is switched off.
-@c TODO: there might be some more relevant place for
-@c the following link (?)
+@c FIXME: this now links to LM -vv
@cindex SATB
@cindex choral score
@seealso
-Internals Reference: @internalsref{Melisma_translator}.
-
@c @lsr{vocal,lyric@/-combine.ly}.
@knownissues
Melismata are not detected automatically, and extender lines must be
inserted by hand.
+@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 another note. The @code{\skip} command
+must be followed by a valid duration, but this is ignored when
+@code{\skip} is used in lyrics.
+
+For example,
+
+@lilypond[verbatim,ragged-right,quote]
+\relative c' { c c g' }
+\addlyrics {
+ twin -- \skip 4
+ kle
+}
+@end lilypond
+
+
@node Extenders and hyphens
-@subsubsection Extenders and hyphens
+@unnumberedsubsubsec Extenders and hyphens
@cindex melisma
@cindex extender
@c leave this as samp. -gp
-Melismata are indicated with a horizontal line centered between a syllable
-and the next one. Such a line is called an extender line, and it is entered
-as @samp{ __ } (note the spaces before and after the two underscore
-characters).
+In the last syllable of a word, melismata are sometimes indicated with
+a long horizontal line starting in the melisma syllable, and ending in
+the next one. Such a line is called an extender line, and it is
+entered as @samp{ __ } (note the spaces before and after the two
+underscore characters).
+
+@warning{Melismata are indicated in the score with extender lines,
+which are entered as one double underscore; but short melismata can
+also be entered by skipping individual notes, which are entered as
+single underscore characters; these do not make an extender line to be
+typeset by default.}
@cindex hyphens
@seealso
-Internals Reference: @internalsref{LyricExtender},
-@internalsref{LyricHyphen}
+Internals Reference:
+@rinternals{LyricExtender},
+@rinternals{LyricHyphen}
+
+@node Lyrics and repeats
+@unnumberedsubsubsec Lyrics and repeats
+@c TODO New section. Add text
+TBC
-@node Vocals and variables
-@subsection Vocals and variables
+
+@node Specific uses of lyrics
+@subsection Specific uses of lyrics
+
+@c FIXME This whole section is to be reorganized. -vv
+
+Often, different stanzas of one song are put to one melody in slightly
+differing ways. Such variations can still be captured with
+@code{\lyricsto}.
@menu
-* Working with lyrics and variables::
+* Divisi lyrics::
+* Lyrics independent of notes::
+* Chants::
+* Spacing out syllables::
+* Centering lyrics between staves::
@end menu
-@node Working with lyrics and variables
-@subsubsection Working with lyrics and variables
-
-@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.
-
-@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
-
-For different or more complex orderings, the best way is to setup 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
-
-and then combine the appropriate melodies and lyric lines
-
-@example
-\context Lyrics = sopranoLyrics \lyricsto "soprano"
-@emph{the lyrics}
-@end example
-
-@noindent
-
-The final input would resemble
-
-@example
-<<\new ChoirStaff << @emph{setup the music} >>
- \lyricsto "soprano" @emph{etc}
- \lyricsto "alto" @emph{etc}
-@emph{etc}
->>
-@end example
-
-@seealso
-
-@c TODO: document \new Staff << Voice \lyricsto >> bug
-Internals Reference: @internalsref{LyricCombineMusic},
-@internalsref{Lyrics}.
-
-
-@node Flexibility in placement
-@subsection Flexibility in placement
-
-Often, different stanzas of one song are put to one melody in slightly
-differing ways. Such variations can still be captured with
-@code{\lyricsto}.
-
-@menu
-* Lyrics to multiple notes of a melisma::
-* Divisi lyrics::
-* Switching the melody associated with a lyrics line::
-* Lyrics independent of notes::
-@end menu
-
-
-@node Lyrics to multiple notes of a melisma
-@subsubsection Lyrics to multiple notes of a melisma
-
-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
-voice ignore the melisma. This is done by setting
-@code{ignoreMelismata} in the Lyrics context.
-
-There is one tricky aspect: the setting for @code{ignoreMelismata}
-must be set one syllable @emph{before} the non-melismatic syllable
-in the text, as shown here,
-
-@c TODO: breaks compile
-@lilypond[verbatim,ragged-right,quote]
-%{
-<<
- \relative \new Voice = "lahlah" {
- \set Staff.autoBeaming = ##f
- c4
- \slurDotted
- f8.[( g16])
- a4
- }
- \new Lyrics \lyricsto "lahlah" {
- more slow -- ly
- }
- \new Lyrics \lyricsto "lahlah" {
- \set ignoreMelismata = ##t % applies to "fas"
- go fas -- ter
- \unset ignoreMelismata
- still
- }
->>
-%}
-@end lilypond
-
-
-The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
-should be entered before @q{go}.
-
-The reverse is also possible: making a lyric line slower than the
-standard. This can be achieved by insert @code{\skip}s into the
-lyrics. For every @code{\skip}, the text will be delayed another note.
-For example,
-
-@lilypond[verbatim,ragged-right,quote]
-\relative { c c g' }
-\addlyrics {
- twin -- \skip 4
- kle
-}
-@end lilypond
@node Divisi lyrics
-@subsubsection Divisi lyrics
+@unnumberedsubsubsec Divisi lyrics
You can display alternate (or divisi) lyrics by naming voice
contexts and attaching lyrics to those specific contexts.
-@node Switching the melody associated with a lyrics line
-@subsubsection Switching the melody associated with a lyrics line
-
-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
-
-@lilypond[ragged-right,quote]
-<<
- \relative \new Voice = "lahlah" {
- \set Staff.autoBeaming = ##f
- c4
- <<
- \new Voice = "alternative" {
- \voiceOne
- \times 2/3 {
- % show associations clearly.
- \override NoteColumn #'force-hshift = #-3
- f8 f g
- }
- }
- {
- \voiceTwo
- f8.[ g16]
- \oneVoice
- } >>
- a8( b) c
- }
- \new Lyrics \lyricsto "lahlah" {
- Ju -- ras -- sic Park
- }
- \new Lyrics \lyricsto "lahlah" {
- % Tricky: need to set associatedVoice
- % one syllable too soon!
- \set associatedVoice = alternative % applies to "ran"
- Ty --
- ran --
- no --
- \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 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
-@end example
-
-@noindent
-Here, @code{alternative} is the name of the @code{Voice} context
-containing the triplet.
-
-Again, the command must be one syllable too early, before @q{Ty} in
-this case.
-
-@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
-
-@noindent
-The underlay is switched back to the starting situation by assigning
-@code{lahlah} to @code{associatedVoice}.
-
-
@node Lyrics independent of notes
-@subsubsection 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
>>
@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.
-@node Spacing vocals
-@subsection Spacing vocals
+@c Conclusion: do not use devnull for lyrics -FV
-@menu
-* Spacing lyrics::
-@end menu
+@c this clarifies http://code.google.com/p/lilypond/issues/detail?id=248
+
+
+@node Chants
+@unnumberedsubsubsec Chants
-@node Spacing lyrics
-@subsubsection Spacing lyrics
+@c TODO Add text from lsr and -user
+TBC
+
+@node Spacing out syllables
+@unnumberedsubsubsec Spacing out syllables
@cindex Spacing lyrics
@cindex Lyrics, increasing space between
To make this change for all lyrics in the score, set the property in the
layout.
-@lilypond[relative,verbatim,quote,ragged-right]
+@lilypond[verbatim,quote,ragged-right]
\score {
\relative c' {
c c c c
}
@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}
-@node More about stanzas
-@subsection More about stanzas
+@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 Centering lyrics between staves
+@unnumberedsubsubsec Centering lyrics between staves
+
+@c TODO Add text from -user
+TBC
+
+@node Stanzas
+@subsection Stanzas
@menu
-* Adding stanza numbers ::
-* Adding dynamics marks::
-* Adding singer names::
-* Printing stanzas at the end ::
-* Printing stanzas at the end in multiple columns ::
+* Adding stanza numbers ::
+* Adding dynamics marks to stanzas::
+* Adding singers' names to stanzas::
+* Stanzas with different rhythms::
+* Printing stanzas at the end ::
+* Printing stanzas at the end in multiple columns ::
@end menu
-@node Adding stanza numbers
-@subsubsection Adding stanza numbers
+@node Adding stanza numbers
+@unnumberedsubsubsec Adding stanza numbers
@cindex stanza number
Hi, my name is Bert.
} \addlyrics {
\set stanza = "2. "
- Oh, chÃ\83© -- ri, je t'aime
+ Oh, ché -- ri, je t'aime
}
@end lilypond
+
@noindent
These numbers are put just before the start of the first syllable.
+@c TODO Create and add snippet to show how two lines of a
+@c stanza can be grouped together, along these lines:
+@c (might need improving a bit) -td
+
+@ignore
+leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup
+#"brace105" }
+
+stanzaOneOne = {
+ \set stanza = \markup { "1. " \leftbrace }
+ \lyricmode { Child, you're mine and I love you.
+ Lend thine ear to what I say.
+
+ }
+}
+
+stanzaOneThree = {
+% \set stanza = \markup { " "}
+ \lyricmode { Child, I have no great -- er joy
+ Than to have you walk in truth.
+
+ }
+}
+
+\new Voice {
+ \repeat volta 2 { c'8 c' c' c' c' c' c'4
+ c'8 c' c' c' c' c' c'4 }
+} \addlyrics { \stanzaOneOne }
+ \addlyrics { \stanzaOneThree }
+
+@end ignore
-@node Adding dynamics marks
-@subsubsection Adding dynamics marks
+@node Adding dynamics marks to stanzas
+@unnumberedsubsubsec Adding dynamics marks to stanzas
Stanzas differing in loudness may be indicated by putting a
dynamics mark before each stanza. In LilyPond, everything coming in
>>
@end lilypond
-@node Adding singer names
-@subsubsection Adding singer names
+@node Adding singers' names to stanzas
+@unnumberedsubsubsec Adding singers' names to stanzas
@cindex singer name
@cindex name of singer
Hi, my name is Bert.
} \addlyrics {
\set vocalName = "Ernie "
- Oh, che -- ri, je t'aime
+ Oh, ché -- ri, je t'aime
}
@end lilypond
+@node Stanzas with different rhythms
+@unnumberedsubsubsec Stanzas with different rhythms
+
+@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
+voice ignore the melisma. This is done by setting
+@code{ignoreMelismata} in the Lyrics context.
+
+There is one tricky aspect: the setting for @code{ignoreMelismata}
+must be set one syllable @emph{before} the non-melismatic syllable
+in the text, as shown here,
+
+@c TODO: breaks compile
+@c seems to be fixed, does not break compile anymore --FV
+@lilypond[verbatim,ragged-right,quote]
+<<
+ \relative c' \new Voice = "lahlah" {
+ \set Staff.autoBeaming = ##f
+ c4
+ \slurDotted
+ f8.[( g16])
+ a4
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ more slow -- ly
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ \set ignoreMelismata = ##t % applies to "fas"
+ go fas -- ter
+ \unset ignoreMelismata
+ still
+ }
+>>
+@end lilypond
+
+
+The @code{ignoreMelismata} applies to the syllable @q{fas}, so it
+should be entered before @q{go}.
+
-@node Printing stanzas at the end
-@subsubsection Printing stanzas at the end
+@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
+
+@lilypond[ragged-right,quote]
+<<
+ \relative c' \new Voice = "lahlah" {
+ \set Staff.autoBeaming = ##f
+ c4
+ <<
+ \new Voice = "alternative" {
+ \voiceOne
+ \times 2/3 {
+ % show associations clearly.
+ \override NoteColumn #'force-hshift = #-3
+ f8 f g
+ }
+ }
+ {
+ \voiceTwo
+ f8.[ g16]
+ \oneVoice
+ } >>
+ a8( b) c
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ Ju -- ras -- sic Park
+ }
+ \new Lyrics \lyricsto "lahlah" {
+ % Tricky: need to set associatedVoice
+ % one syllable too soon!
+ \set associatedVoice = alternative % applies to "ran"
+ Ty --
+ ran --
+ no --
+ \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 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
+@end example
+
+@noindent
+Here, @code{alternative} is the name of the @code{Voice} context
+containing the triplet.
+
+@c FIXME: 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
+
+@noindent
+The underlay is switched back to the starting situation by assigning
+@code{lahlah} to @code{associatedVoice}.
+
+
+@node Printing stanzas at the end
+@unnumberedsubsubsec Printing stanzas at the end
Sometimes it is appropriate to have one stanza set
to the music, and the rest added in verse form at
@end lilypond
-@node Printing stanzas at the end in multiple columns
-@subsubsection Printing stanzas at the end in multiple columns
+@node Printing stanzas at the end in multiple columns
+@unnumberedsubsubsec Printing stanzas at the end in multiple columns
When a piece of music has many verses, they are often printed in
multiple columns across the page. An outdented verse number often
\markup {
\fill-line {
- \hspace #0.1 % moves the column off the left margin; can be removed if
- % space on the page is tight
+ \hspace #0.1 % moves the column off the left margin;
+ % can be removed if space on the page is tight
\column {
\line { \bold "2."
\column {
}
}
}
- \hspace #0.1 % adds horizontal spacing between columns; if they are
- % still too close, add more " " pairs until the result
- % looks good
+ \hspace #0.1 % adds horizontal spacing between columns;
+ % if they are still too close, add more " " pairs
+ % until the result looks good
\column {
\line { \bold "4."
\column {
}
}
}
- \hspace #0.1 % gives some extra space on the right margin; can
- % be removed if page space is tight
+ \hspace #0.1 % gives some extra space on the right margin;
+ % can be removed if page space is tight
}
}
@end lilypond
@seealso
-Internals Reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
-@internalsref{VocalName}.
-
-@c TODO: stick elsewhere
-@ignore
-@n ode Other vocal issues
-@s ubsection Other vocal issues
-
-yeah, I'm giving up somewhat by stuffing a bunch of things in
-here. But at least they're in the manual now; it's easier to
-move them around in the manual once they're already here.
-
-Besides, if users complain about everything stuffed in here, I
-can ask them for specific instructions about where to move these
-examples, and that might get them more involved in the docs. -gp
-
-
-@q{Parlato} is spoken without pitch but still with rhythm; it is
-notated by cross note heads. This is demonstrated in
-@ref{Special note heads}.
-@end ignore
+Internals Reference:
+@rinternals{LyricText},
+@rinternals{StanzaNumber}.