]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/vocal.itely
Merge branch 'lilypond/translation' of ssh://pacovila@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / Documentation / user / vocal.itely
index fcdf6477156f1233fd92764b9b8911a5ca6d74a9..c542f66d435bc299eabc4873510fb2686d933d36 100644 (file)
     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:
+@c TODO: CLARIFY
+@c TODO: delete this comment block
+@c http://code.google.com/p/lilypond/issues/detail?id=248
+@c Done, see @node Lyrics independent of notes ----FV
+
+@c http://code.google.com/p/lilypond/issues/detail?id=329
+@c Done, see @node Working with lyrics and variables ----FV
+
+@c partially done, needs improvement, see Switching to an alternative melody ----FV
+@ignore
+
+> I think the issue here is that changing the associatedVoice
+> happens one step
+> later than expected.  I could be wrong, but I don't think this
+> is obviously
+> documented.
+
+If you read section "Switching the melody associated with a lyrics
+line"
+it indeed says "Again, the command must be one syllable too
+early,..."!
+One problem with the current formulation is that the "Again"
+refers to what's described 2 subsections earlier in "Lyrics to
+multiple notes of a melisma", which isn't obvious unless you have
+read all the sections
+sequentially.
+
+
+@c Done in @node Extenders and hyphens ---FV
+@c also done (duplicated) in @node Multiple notes to one syllable --FV
+I don't know who's working on the vocal music right now, but I
+found something that should be clarified in NR 2.1.2.4.
+
+It should be made clear that __ is used to crate a lyric extender,
+and _ is used to add a note to a melisma, so both __ and _ are
+used.  The example shows it, but there is no description of the
+lyrics extender in this section.
+@end ignore
+
+
+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.
+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.
 
 @item
 Song texts must be aligned with the notes of their melody.
 @end itemize
 
-There are a few different ways to define lyrics; we shall begin
-by examining the simplest method, and gradually increase complexity.
+To address the first issue, the fundamental method is the special mode
+opened by @code{\lyricmode} that interprets its contents as text.
+This mode is implicit by some abbreviated methods, as we will see.
+
+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.
+
+All these methods and their combinations lead to a few different ways
+to define lyrics; we shall begin by examining the simplest method, and
+gradually increase complexity.
 
 @menu
-* Simple lyrics::               
-* Aligning lyrics to a melody::  
-* Vocals and variables::        
-* Flexibility in placement::    
-* Spacing vocals::              
-* More about stanzas::          
+* Common notation for vocals::
+* Aligning lyrics to a melody::
+* Placement 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
+@node Common notation for vocals
+@subsection Common notation for vocals
 
-To make lyrics avoid bar lines as well, use
+@menu
+* References for vocal music::
+* Setting simple songs::
+* Entering lyrics::
+* Working with lyrics and variables::
+@end menu
 
-@example
-\layout @{
-  \context @{
-    \Lyrics
-      \consists "Bar_engraver"
-      \consists "Separating_line_group_engraver"
-      \override BarLine #'transparent = ##t
-  @}
-@}
-@end example
+@node References for vocal music
+@subsubsection References for vocal music
 
+TBC
+@c TODO Add @refs
 
-@node Simple lyrics
-@subsection Simple lyrics
+@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}.
 
-@menu
-* Setting simple songs::        
-* Entering lyrics::             
-@end menu
 
 @node Setting simple songs
 @subsubsection Setting simple songs
@@ -82,7 +122,7 @@ to a melody.  Here is an example,
 
 @lilypond[ragged-right,verbatim,fragment,quote]
 \time 3/4
-\relative { c2 e4 g2. }
+\relative c' { c2 e4 g2. }
 \addlyrics { play the game }
 @end lilypond
 
@@ -91,7 +131,7 @@ More stanzas can be added by adding more
 
 @lilypond[ragged-right,verbatim,fragment,quote]
 \time 3/4
-\relative { c2 e4 g2. }
+\relative c' { c2 e4 g2. }
 \addlyrics { play the game }
 \addlyrics { speel het spel }
 \addlyrics { joue le jeu }
@@ -176,9 +216,9 @@ In order to assign more than one syllable to a single note, you can
 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 }
@@ -192,13 +232,11 @@ glyph.
 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
@@ -219,6 +257,8 @@ any 8-bit character with 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.
 
@@ -239,7 +279,102 @@ verseOne = \lyricmode @{ Joy to the world the Lord is come @}
 
 @seealso
 
-Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
+Internals Reference:
+@rinternals{LyricText},
+@rinternals{LyricSpace}.
+
+@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
+
+@ignore
+
+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 Aligning lyrics to a melody
@@ -251,7 +386,7 @@ Internals Reference: @internalsref{LyricText}, @internalsref{LyricSpace}.
 
 
 Lyrics are printed by interpreting them in the context called
-@internalsref{Lyrics}.
+@rinternals{Lyrics}.
 
 @example
 \new Lyrics \lyricmode @dots{}
@@ -272,11 +407,13 @@ explicitly, using @code{\lyricmode}
 @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
@@ -294,7 +431,7 @@ melody and the lyrics with the @code{\lyricsto} expression
 @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
@@ -309,8 +446,14 @@ The following example uses different commands for entering lyrics.
     \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
@@ -335,33 +478,33 @@ is the same as
 \new Lyrics \lyricsto "blah" @{ LYRICS @}
 @end example
 
-@node Another way of entering lyrics
-@subsubsection Another way of entering lyrics
+@node Manual syllable durations
+@subsubsection 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
@@ -374,12 +517,13 @@ Here is an example demonstrating manual lyric durations,
 @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
+@subsubsection Multiple syllables to one note
 
 
 @funindex _
@@ -393,9 +537,9 @@ U+203F, so be
 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 }
@@ -403,14 +547,15 @@ glyph.}.
 
 @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
+@subsubsection Multiple notes to one syllable
 
 @cindex melisma
 @cindex melismata
@@ -423,9 +568,18 @@ single syllable; such vocalises are called melismas, or 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 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  }
@@ -463,7 +617,7 @@ In addition, notes are considered a melisma if they are manually
 beamed, and automatic beaming (see @ref{Setting automatic beam
 behavior}) is switched off.
 
-@c TODO: there might be some more relevant place for 
+@c TODO: there might be some more relevant place for
 @c the following link (?)
 
 @cindex SATB
@@ -481,8 +635,6 @@ A complete example of a SATB score setup is in section
 
 @seealso
 
-Internals Reference: @internalsref{Melisma_translator}.
-
 @c @lsr{vocal,lyric@/-combine.ly}.
 
 @knownissues
@@ -490,6 +642,26 @@ Internals Reference: @internalsref{Melisma_translator}.
 Melismata are not detected automatically, and extender lines must be
 inserted by hand.
 
+@node Skipping notes
+@subsubsection 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
 
@@ -497,10 +669,17 @@ inserted by hand.
 @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
 
@@ -510,153 +689,40 @@ Centered hyphens are entered as @samp{ -- } between syllables of a same word
 will be centered between the syllables, and its length will be adjusted
 depending on the space between the syllables.
 
-In tighly engraved music, hyphens can be removed.  Whether this
+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).
 
 @seealso
 
-Internals Reference: @internalsref{LyricExtender},
-@internalsref{LyricHyphen}
-
-
-@node Vocals and variables
-@subsection Vocals and variables
-
-@menu
-* Working with lyrics and variables::  
-@end menu
-
-@node Working with lyrics and variables
-@subsubsection Working with lyrics and variables
-
-@cindex lyrics, variables
+Internals Reference:
+@rinternals{LyricExtender},
+@rinternals{LyricHyphen}
 
-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
+@node Lyrics and repeats
+@subsubsection Lyrics and repeats
 
-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}.  
+@c TODO New section.  Add text
+TBC
 
 
-@node Flexibility in placement
-@subsection Flexibility in placement
+@node Placement of lyrics
+@subsection Placement of lyrics
 
 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::  
+* Divisi lyrics::
+* Lyrics independent of notes::
+* Chants::
+* Spacing out syllables::
+* Centering lyrics between staves::
 @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
@@ -704,92 +770,11 @@ section.
 
 
 
-@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
 
+@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
@@ -815,16 +800,26 @@ lyr = \lyricmode { I like my cat! }
 >>
 @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
+@subsubsection Chants
 
-@node Spacing lyrics
-@subsubsection Spacing lyrics
+@c TODO Add text from lsr and -user
+TBC
+
+@node Spacing out syllables
+@subsubsection Spacing out syllables
 
 @cindex Spacing lyrics
 @cindex Lyrics, increasing space between
@@ -847,7 +842,7 @@ LyricSpace.
 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
@@ -866,21 +861,67 @@ layout.
 }
 @end lilypond
 
+@snippets
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{aligning-lyrics.ly}
+
+
+@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
 
-@node More about stanzas
-@subsection More about stanzas
+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
+@subsubsection 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
+@subsubsection Adding stanza numbers
 
 @cindex stanza number
 
@@ -894,19 +935,51 @@ Stanza numbers can be added by setting @code{stanza}, e.g.,
   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.
 
-@node Adding dynamics marks
-@subsubsection Adding dynamics marks
+  }
+}
+
+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 to stanzas
+@subsubsection Adding dynamics marks to stanzas
 
 Stanzas differing in loudness may be indicated by putting a
-dynamics mark before each stanza.  In Lilypond, everthing coming in
+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}:
@@ -928,8 +1001,8 @@ text = {
 >>
 @end lilypond
 
-@node Adding singer names
-@subsubsection Adding singer names
+@node Adding singers' names to stanzas
+@subsubsection Adding singers' names to stanzas
 
 @cindex singer name
 @cindex name of singer
@@ -946,13 +1019,138 @@ the line, just like instrument names.  They are created by setting
   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
+@subsubsection 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}.
+
+
+@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
 
-@node Printing stanzas at the end 
-@subsubsection Printing stanzas at the end 
+
+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.
+
+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
+@subsubsection 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
@@ -996,13 +1194,13 @@ its fleece was white as snow.
 @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
+@subsubsection 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
 introduces each verse.  The following example shows how to produce such
-output in Lilypond.
+output in LilyPond.
 
 @lilypond[ragged-right,quote,verbatim]
 melody = \relative c' {
@@ -1023,8 +1221,8 @@ text = \lyricmode {
 
 \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 {
@@ -1040,9 +1238,9 @@ text = \lyricmode {
         }
       }
     }
-    \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 {
@@ -1058,8 +1256,8 @@ text = \lyricmode {
         }
       }
     }
-  \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
@@ -1067,27 +1265,9 @@ text = \lyricmode {
 
 @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}.