Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.14.0"
@node Simultaneous notes
@cindex chords
@cindex brackets, angle
-@cindex angle brackets
-@cindex relative pitch in chords
@funindex <
@funindex >
@funindex <...>
A chord is formed by enclosing a set of pitches between @code{<}
-and @code{>}. A chord may be followed by a duration and/or a set
-of articulations, just like simple notes:
+and @code{>}. A chord may be followed by a duration just like simple
+notes.
-@lilypond[verbatim,quote,relative=1]
-<c e g>2 <c f a>4-> <e g c>-.
+@lilypond[verbatim,quote,relative=2]
+<a c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16
@end lilypond
-Relative mode can be used for pitches in chords. The octave of each
-pitch is chosen using the preceding pitch as a reference except in
-the case of the first pitch in a chord: the reference for the first
-pitch is the @emph{first} pitch of the preceding chord.
+Chords may also be followed by articulations, again just like simple
+notes.
+
+@lilypond[verbatim,quote,relative=2]
+<a c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^| <g c e>16-.
+@end lilypond
+
+The notes within the chord themselves can also be followed by articulation
+and ornamentation.
+
+@lilypond[verbatim,quote,relative=2]
+<a c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4 <a-+ c-->8. <g\fermata c e\turn>16
+@end lilypond
+
+However some notation, such as dynamics, hairpins and slurs must be
+attached to the chord, rather than notes within the chord, otherwise
+they will not print.
+
+@lilypond[verbatim,quote,relative=2]
+<a\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>) <a c e>\< <a c e> <a c e>\!
+@end lilypond
+
+@cindex relative pitch, chords
+@cindex chords, relative pitch
+
+Relative mode can be used for pitches in chords. The first note of
+each chord is always relative to the first note of the chord that
+came before it, or in the case where no preceding chord exists, the
+pitch of the last note that came before the chord. All remaining notes
+in the chord are relative to the note that came before it
+@emph{within the same chord}.
+
+@lilypond[verbatim,quote,relative=2]
+<a c e>1 <f a c> <a c e> <f' a c> <b, e b,>
+@end lilypond
For more information about chords, see @ref{Chord notation}.
@rlearning{Combining notes into chords}.
Notation Reference:
-@ref{Chord notation}.
+@ref{Chord notation},
+@ref{Articulations and ornamentations},
+@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
In order to save typing, a shortcut can be used to repeat the preceding
chord. The chord repetition symbol is @code{q}:
-@lilypond[verbatim,quote,relative=1]
-<c e g> q q q
+@lilypond[verbatim,quote,relative=2]
+<a c e>1 q <f a c>2 q
+@end lilypond
+
+As with regular chords, the chord repetition symbol can be used with
+durations, articulations, markups, slurs, beams, etc. as only the
+pitches of the previous chord are duplicated.
+
+@lilypond[verbatim,quote,relative=2]
+<a c e>1\p^"text" q2\<( q8)[-| q8.]\! q16-1-2-3 q8\prall
@end lilypond
-As in the case of regular chords, the chord repetition symbol can be
-followed by a duration and articulations. Only the pitches of the
-previous chord are duplicated; articulations, dynamics, etc, are not
-repeated.
+The chord repetition symbol always remembers the last instance of
+a chord so it is possible to repeat the most recent chord even if
+other non-chorded notes or rests have been added since.
-@lilypond[verbatim,quote,relative=1]
-<c e g>8\p q q4-| q8.^"text" q16 q4-|
+@lilypond[verbatim,quote,relative=2]
+<a c e>1 c4 q2 r8 q8
@end lilypond
-Note chords (entered using angle brackets) only are memorized in order
-to be repeated by @code{q}: it is possible to repeat a chord even if for
-instance a simple note (without angle brackets) or a rest have been
-entered meanwhile.
+However, the chord repetition symbol does not retain any dynamics,
+articulation or ornamentation within, or attached to the previous chord.
-@lilypond[verbatim,quote,relative=1]
-<c e g>8 c' q c r4 q
+@lilypond[verbatim,quote,relative=2]
+<a-. c\prall e>1\sfz c4 q2 r8 q8
@end lilypond
@seealso
+Notation Reference:
+@ref{Chord notation},
+@ref{Articulations and ornamentations}.
+
Installed Files:
-@file{ly/@/chord-repetition-init@/.ly}.
+@file{ly/chord-repetition-init.ly}.
@node Simultaneous expressions
@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
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.
@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
>>
@end lilypond
-The @code{\voiceNeutralstyle} command is used to revert to the
+The @code{\voiceNeutralStyle} command is used to revert to the
standard presentation.
>>
@end lilypond
-Note heads with different dots as shown in beat 2 of bar 1 may be
+Note heads with different dots as shown in beat 3 of bar 1 may be
also be merged:
@lilypond[quote,relative=2,verbatim]
s1
e8 a b c d2
}
-
>>
@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
@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
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
@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
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.