]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/simultaneous.itely
Docs: run convert-ly for 2.14.0.
[lilypond.git] / Documentation / notation / simultaneous.itely
index 211d3055bb61c0339bd67f93b20ff55b530e3d8c..29b2749b17e5521694a672eaf8849a31796a7035 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.14.0"
 
 
 @node Simultaneous notes
@@ -104,11 +104,31 @@ Learning Manual:
 Notation Reference:
 @ref{Chord notation},
 @ref{Articulations and ornamentations},
-@ref{Relative octave entry}.
+@ref{Relative octave entry},
+@ref{Multiple voices}.
 
 Snippets:
 @rlsr{Simultaneous notes}.
 
+@knownissues
+Chords containing more than two pitches within a staff space,
+such as @samp{<e f! fis!>}, create overlapping noteheads.
+Depending on the situation, better representations might involve
+
+@itemize
+
+@item
+temporary use of @ref{Multiple voices},
+@samp{<< f! \\ <e fis!> >>},
+
+@item
+enharmonic transcription of one or more pitches,
+@samp{<e f ges>}, or
+
+@item
+@ref{Clusters}.
+
+@end itemize
 
 @node Chord repetition
 @unnumberedsubsubsec Chord repetition
@@ -149,7 +169,7 @@ Notation Reference:
 @ref{Articulations and ornamentations}.
 
 Installed Files:
-@file{ly/@/chord-repetition-init@/.ly}.
+@file{ly/chord-repetition-init.ly}.
 
 
 @node Simultaneous expressions
@@ -283,7 +303,7 @@ voices in a single staff is illustrated in the following example:
 @end lilypond
 
 @noindent
-Here, voices are instantiated explicitly and are given names. The
+Here, voices are instantiated explicitly and are given names.  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
@@ -344,7 +364,7 @@ required to define the settings of each voice.
 The @code{<< @{...@} \\ @{...@} >>} construct, where the two (or
 more) expressions are separated by double backslashes, behaves
 differently to the similar construct without the double backslashes:
-@emph{all} the expressions within this contruct are assigned
+@emph{all} the expressions within this construct are assigned
 to new @code{Voice} contexts.  These new @code{Voice} contexts
 are created implicitly and are given the fixed names @code{"1"},
 @code{"2"}, etc.
@@ -384,6 +404,42 @@ In all but the simplest works it is advisable to create explicit
 @code{Voice} contexts as explained in @rlearning{Contexts and engravers} and
 @rlearning{Explicitly instantiating voices}.
 
+@strong{@i{Voice order}}
+
+When entering multiple voices in the input file, use the following
+order:
+
+@example
+Voice 1: highest
+Voice 2: lowest
+Voice 3: second highest
+Voice 4: second lowest
+Voice 5: third highest
+Voice 6: third lowest
+etc.
+@end example
+
+Though this may seem counterintuitive, it simplifies the automatic
+layout process.  Note that the odd-numbered voices are given
+upstems, and the even-numbered voices are given downstems:
+
+@lilypond[quote,verbatim]
+\new Staff <<
+  \time 2/4
+  { f''2 }  % 1: highest
+  \\
+  { c'2  }  % 2: lowest
+  \\
+  { d''2 }  % 3: second-highest
+  \\
+  { e'2  }  % 4: second-lowest
+  \\
+  { b'2  }  % 5: third-highest
+  \\
+  { g'2  }  % 6: third-lowest
+>>
+@end lilypond
+
 @strong{@i{Identical rhythms}}
 
 In the special case that we want to typeset parallel pieces of music
@@ -600,12 +656,54 @@ then works properly.
 >>
 @end lilypond
 
-The @code{\shiftOn}, @code{\shiftOnn}, and @code{\shiftOnnn}
-commands specify the degree to which chords of the current voice
-should be shifted.  The outer voices (normally: voices one and
-two) have @code{\shiftOff}, while the inner voices (three and
-four) have @code{\shiftOn}.  @code{\shiftOnn} and
-@code{\shiftOnnn} define further shift levels.
+The @code{\shiftOn} command allows (but does not force) the notes
+in a voice to be shifted.  When @code{\shiftOn} is applied to a
+voice, a note or chord in that voice is shifted only if its stem
+would otherwise collide with a stem from another voice, and only
+if the colliding stems point in the same direction.  The
+@code{\shiftOff} command prevents this type of shifting from
+occurring.
+
+By default, the outer voices (normally voices one and two) have
+@code{\shiftOff} specified, while the inner voices (three and
+above) have @code{\shiftOn} specified.  When a shift is applied,
+voices with upstems (odd-numbered voices) are shifted to the
+right, and voices with downstems (even-numbered voices) are
+shifted to the left.
+
+Here is an example to help you visualize how an abbreviated
+polyphonic expression would be expanded internally.
+
+@warning{Note that with three or more voices, the vertical order
+of voices in your input file should not be the same as the
+vertical order of voices on the staff!}
+
+@lilypond[quote,verbatim]
+\new Staff \relative c'' {
+  %% abbreviated entry
+  <<
+    { f2  }  % 1: highest
+    \\
+    { g,2 }  % 2: lowest
+    \\
+    { d'2 }  % 3: upper middle
+    \\
+    { b2  }  % 4: lower middle
+  >>
+  %% internal expansion of the above
+  <<
+    \new Voice = "1" { \voiceOne   \shiftOff f'2 }
+    \new Voice = "2" { \voiceTwo   \shiftOff g,2 }
+    \new Voice = "3" { \voiceThree \shiftOn  d'2 } % shifts right
+    \new Voice = "4" { \voiceFour  \shiftOn  b2  } % shifts left
+  >>
+}
+@end lilypond
+
+Two additional commands, @code{\shiftOnn} and @code{\shiftOnnn}
+provide further shift levels which may be specified temporarily to
+resolve collisions in complex situations -- see
+@rlearning{Real music example}.
 
 Notes are only merged if they have opposing stem directions (as
 they have, for example, in voices one and two by default or when
@@ -652,20 +750,13 @@ Internals Reference:
 @rinternals{RestCollision}.
 
 
-@knownissues
-
 @ignore
+@knownissues
 @c TODO investigate! Sometimes it works, sometimes not. --FV
 The requirements for successfully merging different note heads that
 are at the same time differently dotted are not clear.
 @end ignore
 
-There is no support for chords where the same note occurs with
-different accidentals in the same chord.  In this case, it is
-recommended to use enharmonic transcription, or to use special
-cluster notation (see @ref{Clusters}).
-
-
 @node Automatic part combining
 @unnumberedsubsubsec Automatic part combining
 
@@ -725,8 +816,8 @@ 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
+parts get marked with @qq{Solo} and @qq{Solo II}, respectively.  The
+unison (@notation{a due}) parts are marked by default with the text
 @qq{a2}.
 
 Both arguments to @code{\partcombine} will be interpreted as
@@ -742,8 +833,72 @@ i.e.,
 
 @noindent
 A @code{\relative} section that is outside of @code{\partcombine}
-has no effect on the pitches of @var{musicexpr1} and
-@var{musicexpr2}.
+has no effect on the pitches of @code{@var{musicexpr1}} and
+@code{@var{musicexpr2}}.
+
+In professional scores, voices are often kept apart for long periods,
+even if one or two notes actually coincide and could easily be printed
+as unison. Combining notes into a chord, or showing one voice as solo
+is therefore not ideal as the @code{\partcombine} function considers
+each note separately. For this reason, the @code{\partcombine} function
+can be overriden with the following commands:
+
+@itemize
+@item
+@code{\partcombineApart}, @code{\partcombineApartOnce}:
+Keep the notes as two separate voices, even if they can be combined to a
+chord or unison.
+
+@item
+@code{\partcombineChords}, @code{\partcombineChordsOnce}:
+Combine the notes to a chord.
+
+@item
+@code{\partcombineUnisono}, @code{\partcombineUnisonoOnce}:
+The two voices are unison.
+
+@item
+@code{\partcombineSoloI}, @code{\partcombineSoloIOnce}:
+Show only voice one and mark it as solo.
+
+@item
+@code{\partcombineSoloII}, @code{\partcombineSoloIIOnce}:
+Show only voice two and mark it as solo.
+
+@item
+@code{\partcombineAutomatic}, @code{\partcombineAutomaticOnce}:
+Ends the effect of the special commands above, and returns to the default
+part combining mechanism.
+
+@end itemize
+
+All commands ending in @code{...Once} apply only to the following note.
+
+@lilypond[quote,verbatim]
+instrumentOne = \relative c' {
+  \partcombineApart c2^"apart" e |
+  \partcombineAutomatic e^"auto" e |
+  \partcombineChords e'^"chord" e |
+  \partcombineAutomatic c^"auto" c |
+  \partcombineApart c^"apart" \partcombineChordsOnce e^"chord once" |
+  c c |
+}
+instrumentTwo = \relative c' {
+  c2 c |
+  e2 e |
+  a,2 c |
+  c2 c' |
+  c2 c |
+  c2 c |
+}
+
+<<
+  \new Staff { \instrumentOne }
+  \new Staff { \instrumentTwo }
+  \new Staff { \partcombine \instrumentOne \instrumentTwo }
+>>
+@end lilypond
+
 
 @snippets
 
@@ -791,7 +946,7 @@ be ignored.  Likewise, partcombining isn't designed to work with lyrics;
 when one of the voices is explicitly named in order to attach lyrics to
 it, the partcombining stops working.
 
-@code{\partcombine} only observes onset times of notes. It cannot
+@code{\partcombine} only observes onset times of notes.  It cannot
 determine whether a previously started note is playing or not, leading
 to various problems.