]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/vocal.itely
Doc: NR 2.1 Vocal proofreading, take2
[lilypond.git] / Documentation / notation / vocal.itely
index b7ead8d8f8ad9c9e29f24cd2726568e9573b3736..69db16abb172a155cf19c96b94d79a7de9d6f377 100644 (file)
@@ -78,67 +78,65 @@ Music Glossary:
 @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
@@ -151,104 +149,130 @@ but instead use
 \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
@@ -256,12 +280,21 @@ voice has nothing to do.  For methods of keeping contexts alive, see
 @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
@@ -272,35 +305,12 @@ then the lyrics are specified with @code{\lyricsto}.  The command
 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
 @code{\lyricmode} keyword may be omitted.
 
-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 @}
@@ -324,7 +334,7 @@ Here is an example,
 @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
@@ -335,16 +345,16 @@ More stanzas can be added by adding more
 @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.
@@ -359,23 +369,58 @@ The alignment to a melody can be specified with the
 @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:
@@ -397,7 +442,7 @@ Internals 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.
@@ -416,125 +461,197 @@ Internals Reference:
 @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
 
 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
+the text will be delayed by another note.  The @code{\skip} command
 must be followed by a valid duration, but this is ignored when
-@code{\skip} is used in lyrics.
+@code{\skip} is used in lyrics which derive their durations from the
+notes in an associated melody through @code{\addlyrics} or
+@code{\lyricsto}.
 
 @lilypond[verbatim,ragged-right,quote]
 \relative c' { c c g' }
@@ -587,15 +704,14 @@ Internals Reference:
 @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 between staves::
 @end menu
 
 
@@ -603,26 +719,27 @@ Internals Reference:
 @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.,
@@ -636,7 +753,7 @@ 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"
@@ -647,52 +764,140 @@ and then combine the appropriate melodies and lyric lines
 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
@@ -757,8 +962,8 @@ unfolded.
 }
 @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 {
@@ -785,17 +990,21 @@ enter all the words:
 @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 lyric skip symbol, @code{_}.
-The @code{\skip} command can be used instead of @code{_} if desired.
+use @code{\repeat unfold} around the @code{\skip} command.
+
+Note: do not use an underscore, @code{_}, to skip notes in this
+particular case.  As this syntax indicates a melisma, it will cause
+the preceding syllable to be left-aligned.
 
 @warning{The @code{@bs{}skip} command must be followed by a number,
-but this number is ignored in lyric mode.  Each @code{@bs{}skip}
-skips a single note of any value, irrespective of the value of the
-following number.}
+but this number is ignored in lyrics which derive their durations
+from the notes in an associated melody through @code{\addlyrics} or
+@code{\lyricsto}.  Each @code{@bs{}skip} skips a single note of any
+value, irrespective of the value of the following number.}
 
 @lilypond[verbatim,quote]
 \score {
@@ -817,7 +1026,7 @@ following number.}
     \new Lyrics {
       \lyricsto "melody" {
         % skip 4 notes of any duration
-        \repeat unfold 4 { _ }
+        \repeat unfold 4 { \skip 1 }
         Sec -- ond time words.
       }
     }
@@ -907,9 +1116,8 @@ same structure can be used for both the lyrics and music.
 
 But when the repeated section has different words, a repeat
 construct cannot be used around the words and @code{\skip} commands
-or lyric skips, @code{_}, have to be inserted manually as described
-in the previous section to skip over the notes in the alternative
-sections which do not apply.
+have to be inserted manually as described in the previous section to
+skip over the notes in the alternative sections which do not apply.
 
 @lilypond[verbatim,quote,ragged-right]
 \score {
@@ -927,12 +1135,15 @@ sections which do not apply.
     \new Lyrics {
       \lyricsto "melody" {
         The first time words.
-        _ _ End here.
+        \repeat unfold 2 { \skip 1 }
+        End here.
       }
     }
     \new Lyrics {
       \lyricsto "melody" {
-        Sec -- ond _ _ time words.
+        Sec -- ond
+        \repeat unfold 2 { \skip 1 }
+        time words.
       }
     }
   >>
@@ -974,8 +1185,8 @@ melismata over the volta section and insert manual skips.
       \lyricsto "melody" {
         \repeat volta 2 { Here's a __ }
         \alternative {
-          { _ verse }
-          { _ sec }
+          { \skip 1 verse }
+          { \skip 1 sec }
         }
         ond one.
       }
@@ -989,8 +1200,8 @@ containing @code{\repeatTie}, the @code{\repeatTie} should be
 removed to avoid both types of tie being printed.
 
 When the repeated section has different words a @code{\repeat}
-cannot be used around the lyrics and skips need to be inserted
-manually, as before.
+cannot be used around the lyrics and @code{\skip} commands need to
+be inserted manually, as before.
 
 @lilypond[quote,verbatim]
 \score {
@@ -1008,12 +1219,14 @@ manually, as before.
     \new Lyrics {
       \lyricsto "melody" {
         Here's a __ verse.
-        _ _ to sing.
+        \repeat unfold 2 { \skip 1 }
       }
     }
     \new Lyrics {
       \lyricsto "melody" {
-        Here's one _ _ more
+        Here's one
+        \repeat unfold 2 { \skip 1 }
+        more to sing.
       }
     }
   >>
@@ -1039,12 +1252,14 @@ alternative sections these must be inserted manually.
     \new Lyrics {
       \lyricsto "melody" {
         Here's a __ verse.
-        _ _ -ond one.
+        \repeat unfold 2 { \skip 1 }
       }
     }
     \new Lyrics {
       \lyricsto "melody" {
-        Here's "a_" _ "_" sec-
+        Here's "a_"
+        \skip 1
+        "_" sec -- ond one.
       }
     }
   >>
@@ -1056,89 +1271,71 @@ alternative sections these must be inserted manually.
 @node Divisi lyrics
 @unnumberedsubsubsec Divisi lyrics
 
-You can display alternate (or divisi) lyrics by naming voice
-contexts and attaching lyrics to those specific contexts.
-
-@lilypond[verbatim,ragged-right,quote]
-\score{ <<
-  \new Voice = "melody" {
-    \relative c' {
-      c4
-      <<
-        { \voiceOne c8 e }
-        \new Voice = "splitpart" { \voiceTwo c4 }
-      >>
-      \oneVoice c4 c | c
-    }
-  }
-  \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
-  \new Lyrics \lyricsto "splitpart" { will }
->> }
-@end lilypond
-
+@cindex divided lyrics
+@cindex lyrics, divided
 
-You can use this trick to display different lyrics for a repeated
-section.
+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[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 }
->>
+@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" {
+      They shall not o -- ver -- come
+    }
+    \new Lyrics \lyricsto "melody" {
+      We will _
+    }
+  >>
 }
 @end lilypond
 
+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:
 
-
-@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
+@lilypond[verbatim,ragged-right,quote]
+\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
+    }
+  >>
 }
-
-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
@@ -1226,13 +1423,6 @@ To make lyrics avoid bar lines as well, use
 @end ignore
 
 
-@node Placement of lyrics between staves
-@unnumberedsubsubsec Placement of lyrics between staves
-
-@c TODO Add text from -user
-@c TODO Add new spacing properties, centering lyrics, etc
-TBC
-
 @node Stanzas
 @subsection Stanzas
 
@@ -1653,8 +1843,60 @@ Internals Reference:
 @node References for songs
 @unnumberedsubsubsec References for songs
 
-@c TODO chords, setting simple songs (LM), stanzas
-TBC
+Songs are usually written on three staves with the melody for the
+singer on the top staff and two staves of piano accompaniment at
+the bottom.  The lyrics of the first stanza are printed immediately
+underneath the top staff.  If there are just a small number of
+further stanzas these can be printed immediately under the first
+one, but if there are more stanzas than can be easily accommodated
+there the second and subsequent stanzas are printed after the music
+as stand-alone text.
+
+All the notational elements needed to write songs are fully described
+elsewhere:
+
+@itemize
+
+@item
+For constructing the staff layout, see @ref{Displaying staves}.
+
+@item
+For writing piano music, see
+@ref{Keyboard and other multi-staff instruments}.
+
+@item
+For writing the lyrics to a melody line, see
+@ref{Common notation for vocal music}.
+
+@item
+For placing the lyrics, see @ref{Placement of lyrics}.
+
+@item
+For entering stanzas, see @ref{Stanzas}.
+
+@item
+Songs are frequently printed with the chording indicated by chord
+names above the staves.  This is described in
+@ref{Displaying chords}.
+
+@item
+To print fret diagrams of the chords for guitar accompaniment or
+accompaniment by other fretted instruments, see @qq{Fret diagram
+markups} in @ref{Common notation for fretted strings}.
+
+@end itemize
+
+@seealso
+Learning Manual:
+@rlearning{Songs}.
+
+Notation Reference:
+@ref{Common notation for vocal music},
+@ref{Displaying chords},
+@ref{Displaying staves},
+@ref{Keyboard and other multi-staff instruments},
+@ref{Placement of lyrics},
+@ref{Stanzas}.
 
 @node Lead sheets
 @unnumberedsubsubsec Lead sheets
@@ -1834,7 +2076,7 @@ Notation Reference:
 @ref{Fitting music onto fewer pages},
 @ref{Page formatting},
 @ref{Score layout},
-See @ref{Separating systems},
+@ref{Separating systems},
 @ref{Setting the staff size},
 @ref{Using an extra voice for breaks},
 @ref{Vertical spacing}.
@@ -1951,7 +2193,7 @@ Musical Glossary:
 @rglos{Frenched staves},
 @rglos{transposing instrument}.
 
-Notation Manual:
+Notation Reference:
 @ref{Grouping staves},
 @ref{Hiding staves},
 @ref{Instrument transpositions},
@@ -2218,7 +2460,80 @@ note heads, as demonstrated in @ref{Special note heads}.
 @node Dialogue over music
 @unnumberedsubsubsec Dialogue over music
 
-TBC
+Dialogue over music is usually printed over the staves in an italic
+font, with the start of each phrase keyed in to a particular music
+moment.
+
+For short interjections a simple markup suffices.
+
+@lilypond[quote,verbatim,relative=2]
+a4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a
+a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a
+a4 a a a
+@end lilypond
+
+For longer phrases it may be necessary to expand the music to make
+the words fit neatly.  There is no provision in LilyPond to do this
+fully automatically, and some manual intervention to layout the
+page will be necessary.
+
+For long phrases or for passages with a lot of closely packed
+dialogue, using a Lyrics context will give better results.  The
+Lyrics context should not be associated with a music Voice; instead
+each section of dialogue should be given an explicit duration.  If
+there is a gap in the dialogue, the final word should be separated
+from the rest and the duration split between them so that the
+underlying music spaces out smoothly.
+
+If the dialogue extends for more than one line it will be necessary
+to manually insert @code{\break}s and adjust the placing of the
+dialogue to avoid running into the right margin.  The final word of
+the last measure on a line should also be separated out, as above.
+
+Here is an example illustating how this might be done.
+
+@c This should be a snippet, but it can't be as it needs to be
+@c manually adjusted to suit the imposed line length.  -td
+
+@lilypond[quote,verbatim,ragged-right]
+music = \relative c'' {
+  \repeat unfold 3 { a4 a a a }
+}
+
+dialogue = \lyricmode {
+  \markup {
+    \fontsize #1 \upright \smallCaps Abe:
+    "Say this over measures one and"
+  }4*7
+  "two"4 |
+  \break
+  "and this over measure"4*3
+  "three"4 |
+}
+
+\score {
+  <<
+    \new Lyrics \with {
+      \override LyricText #'font-shape = #'italic
+      \override LyricText #'self-alignment-X = #LEFT
+    }
+    { \dialogue }
+    \new Staff {
+      \new Voice { \music }
+    }
+  >>
+}
+@end lilypond
+
+@c TODO show use of \column to produce dialogue on two lines
+
+@seealso
+Notation Reference:
+@ref{Manual syllable durations},
+@ref{Text}.
+
+Internal Reference:
+@rinternals{LyricText}.
 
 
 @node Chants psalms and hymns