]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/simultaneous.itely
Fix #498: ties with completion heads.
[lilypond.git] / Documentation / user / simultaneous.itely
index c8b3ea42f62c94aab4a18e65b0260facc6307bf3..07be1d420b65127ce73b17700809decaec92ccdc 100644 (file)
@@ -40,6 +40,7 @@ This section discusses simultaneous notes inside the same voice.
 
 @cindex chords
 @cindex brackets, angle
+@cindex relative pitch in chords
 @funindex <
 @funindex >
 @funindex <...>
@@ -52,6 +53,11 @@ articulations, just like simple notes:
 <c e g>2 <c f a>4-> <e g c>-.
 @end lilypond
 
+Relative mode can be used for pitches in chords; the preceding pitch
+into the same chord is still used as a reference for relative pitches,
+but when a chord is completed, the reference pitch for relative mode
+is the first note of this chord --not the last note of the chord.
+
 For more information about chords, see @ref{Chord notation}.
 
 @seealso
@@ -82,7 +88,9 @@ staves.  To avoid this, use explicit chords instead as in
 @unnumberedsubsubsec Clusters
 
 @cindex cluster
+@cindex note cluster
 @funindex \makeClusters
+@funindex makeClusters
 
 A cluster indicates a continuous range of pitches to be played.  They
 can be denoted as the envelope of a set of notes.  They are entered by
@@ -138,74 +146,52 @@ multiple staves.
 @node Single-staff polyphony
 @unnumberedsubsubsec Single-staff polyphony
 
-To typeset parallel pieces of music that have the same rhythm, they
-can be combined into a single @code{Voice} context, thus forming
-chords.  To achieve this, enclose them in a simultaneous music
-construction:
-
-@lilypond[quote,relative=2,verbatim]
-\new Voice <<
-  { e4 f8 d e16 f g8 d4 }
-  { c4 d8 b c16 d e8 b4 }
->>
-@end lilypond
-
-This method leads to strange beamings and warnings if the pieces of
-music do not have the same rhythm.  To typeset multiple, truly
-independent voices in a single staff, the @code{<<@{...@} \\
-@{...@}>>} construction can be used as a simplified method, where the
-two (or more) voices are separated by double backslashes.
-
-@lilypond[quote,relative=3,verbatim]
-<<
-  { r8 r16 g e8. f16 g8[ c,] f e16 d }
-  \\
-  { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
->>
-@end lilypond
+@cindex single-staff polyphony
+@cindex polyphony, single-staff
+@cindex voice
+@cindex lyrics assigned to one voice
+@funindex \voiceOne
+@funindex voiceOne
+@funindex \voiceOne ... \voiceFour
+@funindex Voice
+@funindex \oneVoice
+@funindex oneVoice
 
-First and third voices get stems up, second and fourth voices get
-stems down, third and fourth voice note heads are horizontally shifted,
-and rests move to avoid collisions.  In the following example, the
-intermediate voice has stems up, therefore we enter it in the third
-place, so it becomes voice three which has the stems up as desired.
+The basic structure of code needed to achieve multiple, independent
+voices in a single staff is illustrated in the following example:
 
 @lilypond[quote,relative=3,verbatim]
-<<
-  { r8 g g  g g f16 es f8 d }
-  \\
-  { es,8 r es r d r d r }
-  \\
-  { d'8 s c s bes s a s }
+\new Staff <<
+  \new Voice = "first"
+    { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
+  \new Voice= "second"
+    { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
 >>
 @end lilypond
 
-Spacing rests are often used to avoid too many rests, as seen in the
-example above.
-
-Voices created by this simplified method are implicit @code{Voice}
-contexts; in all but simplest works it is advised to create explicit
-@code{\Voice} contexts using the @code{\new} and @code{\context}
-commands as it is explained in @rlearning{Contexts and engravers} and
-@rlearning{Explicitly instantiating voices}.
-
-This applies to a common case: each music expression in the
-@code{<<@{...@} \\ @{...@}>>} construct is placed in a new voice,
-distinct from the voice for single-voice music; to temporarily add
-only one additional voice to an existing one, it is necessary to
-instantiate that voice explicitly.  When doing this, to force the
-settings that would be implicitly made by the simplified method, the
-@code{\voiceOne} ... @code{\voiceFour}, and @code{\oneVoice} commands
-can be used:
+Here, voices are instantiated explicitly and are given a name. The
+@code{\voiceOne} ... @code{\voiceFour} commands set up the voices so
+that first and third voices get stems up, second and fourth voices get
+stems down, third and fourth voice note heads are horizontally
+shifted, and rests in the respective voices are automatically moved to
+avoid collisions.  Using the @code{\oneVoice} command, all the voice
+settings are put back to the neutral directions typical of a
+single-voice passage.
+
+We can make a voice to be in the same @code{Voice} context before
+and after a temporary polyphonic passage.  For example, the following
+construct keeps a voice alive throughout the polyphonic section.  Said
+voice is the first one inside of the two-voice section, and the extra
+voice is the second one.
 
 @example
 << @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice
 @end example
 
-This construct keeps a voice alive throughout the polyphonic section.
-For example, this allows lyrics to be assigned to one consistent voice.
+Using the name given when created, this allows lyrics to be assigned
+to one consistent voice.
 
-@lilypond[quote, verbatim, relative=1]
+@lilypond[quote, verbatim, relative=2]
 <<
   \new Voice = "melody" {
     a4
@@ -228,17 +214,70 @@ For example, this allows lyrics to be assigned to one consistent voice.
 >>
 @end lilypond
 
+Here, the @code{\voiceOne} and @code{\voiceTwo} commands help to make clear what
+settings does each voice receive.
+
+The @code{<<@{...@} \\ @{...@}>>} construction, where the two (or
+more) voices are separated by double backslashes, can be used as a
+simplified method to print multiple voices in a single staff.  Our
+first example could be typeset as follows:
+
+@lilypond[quote,relative=3,verbatim]
+<<
+  { r8 r16 g e8. f16 g8[ c,] f e16 d }
+  \\
+  { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
+>>
+@end lilypond
+
+This syntax is simpler and can be used where it does not matter that
+temporary voices are created and then discarded.  These implicitly
+created voices are given the settings equivalent to the effect of the
+@code{\voiceOne} ... @code{\voiceFour} commands, in the order in which
+they appear in the code.  In the following example, the intermediate
+voice has stems up, therefore we enter it in the third place, so it
+becomes voice three which has the stems up as desired.
+
+@lilypond[quote,relative=3,verbatim]
+<<
+  { r8 g g  g g f16 es f8 d }
+  \\
+  { es,8 r es r d r d r }
+  \\
+  { d'8 s c s bes s a s }
+>>
+@end lilypond
+
+Spacer rests are often used to avoid too many rests, as seen in the
+example above.
+
+In all but simplest works it is advisable to create explicit
+@code{Voice} contexts using the @code{\new} and @code{\context}
+commands as it is explained in @rlearning{Contexts and engravers} and
+@rlearning{Explicitly instantiating voices}.
+
+In the special case that we want to typeset parallel pieces of music
+that have the same rhythm, we can combine them into a single
+@code{Voice} context, thus forming chords.  To achieve this, enclose
+them in a simple simultaneous music construction and make it to be an
+explicit voice:
+
+@lilypond[quote,relative=2,verbatim]
+\new Voice <<
+  { e4 f8 d e16 f g8 d4 }
+  { c4 d8 b c16 d e8 b4 }
+>>
+@end lilypond
+
+This method leads to strange beamings and warnings if the pieces of
+music do not have the same rhythm.
+
 @predefined
 
-@funindex \voiceOne
 @code{\voiceOne},
-@funindex \voiceTwo
 @code{\voiceTwo},
-@funindex \voiceThree
 @code{\voiceThree},
-@funindex \voiceFour
 @code{\voiceFour},
-@funindex \oneVoice
 @code{\oneVoice}.
 
 @seealso
@@ -248,7 +287,8 @@ Learning Manual:
 @rlearning{Explicitly instantiating voices}.
 
 Notation Reference:
-@ref{Percussion staves}.
+@ref{Percussion staves},
+@ref{Invisible rests}.
 
 Snippets:
 @rlsr{Simultaneous notes}.
@@ -260,6 +300,11 @@ Snippets:
 @cindex voice styles
 @cindex styles, voice
 @cindex coloring voices
+@funindex \voiceOneStyle
+@funindex \voiceTwoStyle
+@funindex \voiceThreeStyle
+@funindex \voiceFourStyle
+@funindex \voiceNeutralStyle
 
 Voices may be given distinct colors and shapes, allowing them to be
 easily identified:
@@ -281,15 +326,12 @@ command is used.
 
 @predefined
 
-@funindex \voiceOneStyle
+
 @code{\voiceOneStyle},
-@funindex \voiceTwoStyle
+
 @code{\voiceTwoStyle},
-@funindex \voiceThreeStyle
 @code{\voiceThreeStyle},
-@funindex \voiceFourStyle
 @code{\voiceFourStyle},
-@funindex \voiceNeutralStyle
 @code{\voiceNeutralStyle}.
 
 @seealso
@@ -308,11 +350,29 @@ Snippets:
 @cindex merging notes
 @cindex note collisions
 @cindex collisions
+@cindex shift note
+@cindex multiple voices
+@cindex voices, multiple
+@cindex polyphonic music
+@cindex shifting voices
+@cindex voices, multiple
+@cindex shift rest, automatic
 @funindex \shiftOn
+@funindex shiftOn
 @funindex \shiftOnn
+@funindex shiftOnn
 @funindex \shiftOnnn
+@funindex shiftOnnn
 @funindex \shiftOff
-@cindex shift rest, automatic
+@funindex shiftOff
+@funindex \mergeDifferentlyDottedOn
+@funindex mergeDifferentlyDottedOn
+@funindex \mergeDifferentlyDottedOff
+@funindex mergeDifferentlyDottedOff
+@funindex \mergeDifferentlyHeadedOn
+@funindex mergeDifferentlyHeadedOn
+@funindex \mergeDifferentlyHeadedOff
+@funindex mergeDifferentlyHeadedOff
 
 Note heads with equal durations are automatically merged, while
 note heads with unequal durations are not merged.  Rests opposite
@@ -374,16 +434,15 @@ Note heads with different dots may be merged:
 >>
 @end lilypond
 
-@cindex shift note
 
 The collision on the second measure happens because
-@code{merge-differently-headed} cannot successfully complete the
+@code{\mergeDifferentlyHeadedOn} cannot successfully complete the
 merge when three or more notes line up in the same column -- in
 fact, you will obtain a warning for this reason.  To allow the
 merge to work properly, apply a @code{\shift} to the note that
 should not be merged.  Here, @code{\shiftOn} is applied to move
 the top @code{g} out of the column, and
-@code{merge-differently-headed} works properly.
+@code{\mergeDifferentlyHeadedOn} works properly.
 
 @lilypond[quote,relative=2,verbatim]
 <<
@@ -415,28 +474,17 @@ four) have @code{\shiftOn}.  @code{\shiftOnn} and
 Notes are only merged if they have opposing stem directions (i.e., in
 @code{Voice} 1 and 2).
 
-@cindex multiple voices
-@cindex polyphonic music
-@cindex shifting voices
 
 @predefined
 
-@funindex \mergeDifferentlyDottedOn
 @code{\mergeDifferentlyDottedOn},
-@funindex \mergeDifferentlyDottedOff
 @code{\mergeDifferentlyDottedOff},
-@funindex \mergeDifferentlyHeadedOn
 @code{\mergeDifferentlyHeadedOn},
-@funindex \mergeDifferentlyHeadedOff
 @code{\mergeDifferentlyHeadedOff}.
 
-@funindex \shiftOn
 @code{\shiftOn},
-@funindex \shiftOnn
 @code{\shiftOnn},
-@funindex \shiftOnnn
 @code{\shiftOnnn},
-@funindex \shiftOff
 @code{\shiftOff}.
 
 @snippets
@@ -467,7 +515,7 @@ Internals Reference:
 
 @knownissues
 
-When using @code{merge-differently-headed} with an upstem eighth
+When using @code{\mergeDifferentlyHeadedOn} with an upstem eighth
 or a shorter note, and a downstem half note, the eighth note stem
 gets a slightly wrong offset because of the different width of the
 half note head symbol.
@@ -488,7 +536,10 @@ cluster notation (see @ref{Clusters}).
 @cindex automatic part combining
 @cindex part combiner
 @cindex combining parts
+@cindex a due part
+@cindex solo part
 @funindex \partcombine
+@funindex partcombine
 
 Automatic part combining is used to merge two parts of music onto
 a staff.  It is aimed at typesetting orchestral scores.  When the
@@ -532,15 +583,15 @@ instrumentTwo = \relative g' {
 >>
 @end lilypond
 
-The notes in the third measure appear only once, although they
-were specified in both parts.  Stem, slur, and tie directions are
-set automatically, depending whether there is a solo or unison.
-When needed in polyphony situations, the first part (with context
-called @code{one}) always gets up stems, while the second (called
-@code{two}) always gets down stems.  In solo situations, the parts
-get marked with @q{Solo} and @q{Solo II}, respectively.  The
-unisono (@notation{a due}) parts are marked by default with the
-text @qq{a2}.
+The notes in the third measure appear only once, although they were
+specified in both parts.  Stem, slur, and tie directions are set
+automatically, depending whether there is a solo or unison.  When
+needed in polyphony situations, the first part (with context called
+@code{one}) always gets up stems, while the second (called @code{two})
+always gets down stems.  In solo situations, the first and second
+parts get marked with @q{Solo} and @q{Solo II}, respectively.  The
+unisono (@notation{a due}) parts are marked by default with the text
+@qq{a2}.
 
 Both arguments to @code{\partcombine} will be interpreted as
 @code{Voice} contexts.  If using relative octaves,
@@ -604,8 +655,10 @@ events in those will be ignored.
 @node Writing music in parallel
 @unnumberedsubsubsec Writing music in parallel
 
-@cindex Writing music in parallel
-@cindex Interleaved music
+@cindex writing music in parallel
+@cindex interleaved music
+@cindex parallel music
+@funindex \parallelMusic
 @funindex parallelMusic
 
 Music for multiple parts can be interleaved in input code.  The