1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
11 @node Simultaneous notes
12 @section Simultaneous notes
14 @lilypondfile[quote]{simultaneous-headword.ly}
16 Polyphony in music refers to having more than one voice occurring
17 in a piece of music. Polyphony in LilyPond refers to having more
18 than one voice on the same staff.
27 @subsection Single voice
35 @subsubsection Chorded notes
38 @cindex brackets, angle
43 A chord is formed by a enclosing a set of pitches between @code{<} and
44 @code{>}. A chord may be followed by a duration and/or a set of
45 articulations, just like simple notes:
47 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
51 For more information about chords, see @ref{Modern chords}.
59 @rlearning{Combining notes into chords}.
65 @lsrdir{Simultaneous,Simultaneous-notes}.
69 Music expressions like @code{<< @{ g8 e8 @} a4 >>} are not printed
70 accurately. Use @code{<g a>8 <e a>8} instead.
74 @subsubsection Clusters
77 @funindex \makeClusters
79 A cluster indicates a continuous range of pitches to be played. They
80 can be denoted as the envelope of a set of notes. They are entered by
81 applying the function @code{\makeClusters} to a sequence of chords,
84 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
85 \makeClusters { <g b>2 <c g'> }
88 Ordinary notes and clusters can be put together in the same staff,
89 even simultaneously. In such a case no attempt is made to
90 automatically avoid collisions between ordinary notes and clusters.
98 @lsrdir{Simultaneous,Simultaneous-notes}.
101 @internalsref{ClusterSpanner},
102 @internalsref{ClusterSpannerBeacon},
103 @internalsref{Cluster_spanner_engraver}.
105 @c Examples: @lsr{contemporary,cluster@/.ly}.
109 Clusters only look good if they span at least two chords; otherwise
110 they appear too narrow.
112 Clusters do not have a stem and can not indicate durations by
113 themselves. Separate clusters would need a separating rest between
116 @node Multiple voices
117 @subsection Multiple voices
120 * Collision resolution::
121 * Automatic part combining::
122 * Writing music in parallel::
125 @node Collision resolution
126 @subsubsection Collision resolution
128 @cindex merging notes
129 @cindex note collisions
131 Normally, note heads with a different number of dots are not
132 merged, but when the object property
133 @code{merge-differently-dotted} is set in the
134 @internalsref{NoteCollision} object, they are merged:
136 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
139 \override Staff.NoteCollision
140 #'merge-differently-dotted = ##t
142 } \\ { g8.[ f16] g8.[ f16] } >>
145 Similarly, you can merge half note heads with eighth notes, by
146 setting @code{merge-differently-headed}:
148 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
151 \override Staff.NoteCollision
152 #'merge-differently-headed = ##t
153 c8 c4. } \\ { c2 c2 } >>
157 @code{merge-differently-headed} and
158 @code{merge-differently-dotted} only apply to opposing stem
159 directions (i.e. Voice 1 & 2).
161 LilyPond also vertically shifts rests that are opposite of a stem,
164 @lilypond[quote,ragged-right,fragment,verbatim]
165 \new Voice << c''4 \\ r4 >>
170 If three or more notes line up in the same column,
171 @code{merge-differently-headed} cannot successfully complete the
172 merge of the two notes that should be merged. To allow the merge
173 to work properly, apply a @code{\shift} to the note that should
174 not be merged. In the first measure of following example,
175 @code{merge-differently-headed} does not work (the half-note head
176 is solid). In the second measure, @code{\shiftOn} is applied to
177 move the top @code{g} out of the column, and
178 @code{merge-differently-headed} works properly.
180 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
181 \override Staff.NoteCollision #'merge-differently-headed = ##t
184 { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
185 { \voiceFour e,,2 e'2}
188 { d'=''2 \shiftOn g2 } \\
189 { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
190 { \voiceFour e,,2 e'2}
194 @cindex multiple voices
195 @cindex polyphonic music
196 @cindex shifting voices
198 In some instances of complex polyphonic music, you may need
199 additional voices to avoid collisions between notes. Additional
200 voices are added by defining an variable, as shown below:
202 @lilypond[quote,verbatim,ragged-right,relative=2]
203 voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
206 { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\
223 @funindex \voiceThree
228 @funindex \voiceNeutralStyle
229 @funindex \voiceOneStyle
230 @funindex \voiceTwoStyle
231 @funindex \voiceThreeStyle
232 @funindex \voiceFourStyle
248 @code{\shiftOff}: these commands specify the degree to which
249 chords of the current voice should be shifted. The outer voices
250 (normally: voice one and two) have @code{\shiftOff}, while the
251 inner voices (three and four) have @code{\shiftOn}.
252 @code{\shiftOnn} and @code{\shiftOnnn} define further shift
255 When LilyPond cannot cope, the @code{force-hshift} property of the
256 @internalsref{NoteColumn} object and pitched rests can be used to
257 override typesetting decisions.
259 @lilypond[quote,verbatim,ragged-right]
266 \once \override NoteColumn #'force-hshift = #1.7
275 @lsrdir{Simultaneous,Simultaneous-notes}.
277 Internals Reference: the objects responsible for resolving collisions
279 @internalsref{NoteCollision} and
280 @internalsref{RestCollision}.
285 When using @code{merge-differently-headed} with an upstem eighth
286 or a shorter note, and a downstem half note, the eighth note gets
289 There is no support for clusters where the same note occurs with
290 different accidentals in the same chord. In this case, it is
291 recommended to use enharmonic transcription, or to use special
292 cluster notation (see @ref{Clusters}).
295 @node Automatic part combining
296 @subsubsection Automatic part combining
297 @cindex automatic part combining
298 @cindex part combiner
299 @cindex combining parts
301 Automatic part combining is used to merge two parts of music onto
302 a staff. It is aimed at typesetting orchestral scores. When the
303 two parts are identical for a period of time, only one is shown.
304 In places where the two parts differ, they are typeset as separate
305 voices, and stem directions are set automatically. Also, solo and
306 @emph{a due} parts are identified and can be marked.
308 The syntax for part combining is
311 \partcombine @var{musicexpr1} @var{musicexpr2}
315 The following example demonstrates the basic functionality of the
316 part combiner: putting parts on one staff, and setting stem
317 directions and polyphony.
319 @lilypond[quote,verbatim,ragged-right,fragment]
320 \new Staff \partcombine
321 \relative g' { g g a( b) c c r r }
322 \relative g' { g g r4 r e e g g }
325 The first @code{g} appears only once, although it was specified
326 twice (once in each part). Stem, slur, and tie directions are set
327 automatically, depending whether there is a solo or unisono. The
328 first part (with context called @code{one}) always gets up stems,
329 and @q{Solo}, while the second (called @code{two}) always gets
330 down stems and @q{Solo II}.
332 If you just want the merging parts, and not the textual markings,
333 you may set the property @code{printPartCombineTexts} to false.
335 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
337 \set Staff.printPartCombineTexts = ##f
339 \relative g' { g a( b) r }
340 \relative g' { g r4 r f }
344 To change the text that is printed for solos or merging, you may
345 set the @code{soloText}, @code{soloIIText}, and @code{aDueText}
348 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
350 \set Score.soloText = #"ichi"
351 \set Score.soloIIText = #"ni"
352 \set Score.aDueText = #"tachi"
354 \relative g' { g4 g a( b) r }
355 \relative g' { g4 g r r f }
359 Both arguments to @code{\partcombine} will be interpreted as
360 @internalsref{Voice} contexts. If using relative octaves,
361 @code{\relative} should be specified for both music expressions,
366 \relative @dots{} @var{musicexpr1}
367 \relative @dots{} @var{musicexpr2}
371 A @code{\relative} section that is outside of @code{\partcombine}
372 has no effect on the pitches of @var{musicexpr1} and
381 @lsrdir{Simultaneous,Simultaneous-notes}.
384 @internalsref{PartCombineMusic},
385 @internalsref{Voice}.
389 When @code{printPartCombineTexts} is set, if the two voices play
390 the same notes on and off, the part combiner may typeset @code{a2}
391 more than once in a measure.
393 @code{\partcombine} cannot be inside @code{\times}.
395 @code{\partcombine} cannot be inside @code{\relative}.
397 Internally, the @code{\partcombine} interprets both arguments as
398 @code{Voice}s named @code{one} and @code{two}, and then decides
399 when the parts can be combined. Consequently, if the arguments
400 switch to differently named @internalsref{Voice} contexts, the
401 events in those will be ignored.
404 @node Writing music in parallel
405 @subsubsection Writing music in parallel
407 @cindex Writing music in parallel
408 @cindex Interleaved music
410 Music for multiple parts can be interleaved:
412 @lilypond[quote,fragment,verbatim]
413 \parallelMusic #'(voiceA voiceB) {
414 r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] |
416 r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] |
420 \new Staff \new Voice \voiceA
421 \new Staff \new Voice \voiceB
425 This works quite well for piano music.
427 @c It would be nice if the first bar fit onto one 66-char line.
428 @c Maybe simplify the example? -gp
429 @lilypond[quote,verbatim]
433 \parallelMusic #'(voiceA voiceB voiceC voiceD) {
435 r8 g'16[ c''] e''[ g' c'' e'']
436 r8 g'16[ c''] e''[ g' c'' e''] |
439 r8 a16[ d'] f'[ a d' f']
440 r8 a16[ d'] f'[ a d' f'] |
445 a'8 b' c'' d'' e'' f'' g'' a'' |
447 c16 d e f d e f g e f g a f g a b |
475 @lsrdir{Simultaneous,Simultaneous-notes}.