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
39 A chord is formed by a enclosing a set of pitches between @code{<}
40 and @code{>}. A chord may be followed by a duration, and a set of
41 articulations, just like simple notes:
43 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
47 For more information about chords, see @ref{Modern chords}.
58 @lsrdir{Simultaneous,Simultaneous-notes}
62 Music expressions like @code{<< @{ g8 e8 @} a4 >>} are not printed
63 accurately. Use @code{<g a>8 <e a>8} instead.
68 @subsubsection Clusters
72 A cluster indicates a continuous range of pitches to be played.
73 They can be denoted as the envelope of a set of notes. They are
74 entered by applying the function @code{makeClusters} to a sequence
77 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
78 \makeClusters { <c e > <b f'> }
81 Ordinary notes and clusters can be put together in the same staff,
82 even simultaneously. In such a case no attempt is made to
83 automatically avoid collisions between ordinary notes and
89 @lsrdir{Simultaneous,Simultaneous-notes}
92 @internalsref{ClusterSpanner},
93 @internalsref{ClusterSpannerBeacon},
94 @internalsref{Cluster_spanner_engraver}.
96 Examples: @c @lsr{contemporary,cluster@/.ly}.
100 @node Multiple voices
101 @subsection Multiple voices
104 * Collision resolution::
105 * Automatic part combining::
106 * Writing music in parallel::
109 @node Collision resolution
110 @subsubsection Collision resolution
112 @cindex merging notes
113 @cindex note collisions
115 Normally, note heads with a different number of dots are not
116 merged, but when the object property
117 @code{merge-differently-dotted} is set in the
118 @internalsref{NoteCollision} object, they are merged:
120 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
123 \override Staff.NoteCollision
124 #'merge-differently-dotted = ##t
126 } \\ { g8.[ f16] g8.[ f16] } >>
129 Similarly, you can merge half note heads with eighth notes, by
130 setting @code{merge-differently-headed}:
132 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
135 \override Staff.NoteCollision
136 #'merge-differently-headed = ##t
137 c8 c4. } \\ { c2 c2 } >>
141 @code{merge-differently-headed} and
142 @code{merge-differently-dotted} only apply to opposing stem
143 directions (i.e. Voice 1 & 2).
145 LilyPond also vertically shifts rests that are opposite of a stem,
148 @lilypond[quote,ragged-right,fragment,verbatim]
149 \new Voice << c''4 \\ r4 >>
154 If three or more notes line up in the same column,
155 @code{merge-differently-headed} cannot successfully complete the
156 merge of the two notes that should be merged. To allow the merge
157 to work properly, apply a @code{\shift} to the note that should
158 not be merged. In the first measure of following example,
159 @code{merge-differently-headed} does not work (the half-note head
160 is solid). In the second measure, @code{\shiftOn} is applied to
161 move the top @code{g} out of the column, and
162 @code{merge-differently-headed} works properly.
164 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
165 \override Staff.NoteCollision #'merge-differently-headed = ##t
168 { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
169 { \voiceFour e,,2 e'2}
172 { d'=''2 \shiftOn g2 } \\
173 { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
174 { \voiceFour e,,2 e'2}
178 @cindex multiple voices
179 @cindex polyphonic music
180 @cindex shifting voices
182 In some instances of complex polyphonic music, you may need
183 additional voices to avoid collisions between notes. Additional
184 voices are added by defining an variable, as shown below:
186 @lilypond[quote,verbatim,ragged-right,relative=2]
187 voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
190 { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\
207 @funindex \voiceThree
212 @funindex \voiceNeutralStyle
213 @funindex \voiceOneStyle
214 @funindex \voiceTwoStyle
215 @funindex \voiceThreeStyle
216 @funindex \voiceFourStyle
232 @code{\shiftOff}: these commands specify the degree to which
233 chords of the current voice should be shifted. The outer voices
234 (normally: voice one and two) have @code{\shiftOff}, while the
235 inner voices (three and four) have @code{\shiftOn}.
236 @code{\shiftOnn} and @code{\shiftOnnn} define further shift
239 When LilyPond cannot cope, the @code{force-hshift} property of the
240 @internalsref{NoteColumn} object and pitched rests can be used to
241 override typesetting decisions.
243 @lilypond[quote,verbatim,ragged-right]
250 \once \override NoteColumn #'force-hshift = #1.7
259 @lsrdir{Simultaneous,Simultaneous-notes}
261 Internals Reference: the objects responsible for resolving collisions
263 @internalsref{NoteCollision} and
264 @internalsref{RestCollision}.
269 When using @code{merge-differently-headed} with an upstem eighth
270 or a shorter note, and a downstem half note, the eighth note gets
273 There is no support for clusters where the same note occurs with
274 different accidentals in the same chord. In this case, it is
275 recommended to use enharmonic transcription, or to use special
276 cluster notation (see @ref{Clusters}).
279 @node Automatic part combining
280 @subsubsection Automatic part combining
281 @cindex automatic part combining
282 @cindex part combiner
283 @cindex combining parts
285 Automatic part combining is used to merge two parts of music onto
286 a staff. It is aimed at typesetting orchestral scores. When the
287 two parts are identical for a period of time, only one is shown.
288 In places where the two parts differ, they are typeset as separate
289 voices, and stem directions are set automatically. Also, solo and
290 @emph{a due} parts are identified and can be marked.
292 The syntax for part combining is
295 \partcombine @var{musicexpr1} @var{musicexpr2}
299 The following example demonstrates the basic functionality of the
300 part combiner: putting parts on one staff, and setting stem
301 directions and polyphony.
303 @lilypond[quote,verbatim,ragged-right,fragment]
304 \new Staff \partcombine
305 \relative g' { g g a( b) c c r r }
306 \relative g' { g g r4 r e e g g }
309 The first @code{g} appears only once, although it was specified
310 twice (once in each part). Stem, slur, and tie directions are set
311 automatically, depending whether there is a solo or unisono. The
312 first part (with context called @code{one}) always gets up stems,
313 and @q{Solo}, while the second (called @code{two}) always gets
314 down stems and @q{Solo II}.
316 If you just want the merging parts, and not the textual markings,
317 you may set the property @code{printPartCombineTexts} to false.
319 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
321 \set Staff.printPartCombineTexts = ##f
323 \relative g' { g a( b) r }
324 \relative g' { g r4 r f }
328 To change the text that is printed for solos or merging, you may
329 set the @code{soloText}, @code{soloIIText}, and @code{aDueText}
332 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
334 \set Score.soloText = #"ichi"
335 \set Score.soloIIText = #"ni"
336 \set Score.aDueText = #"tachi"
338 \relative g' { g4 g a( b) r }
339 \relative g' { g4 g r r f }
343 Both arguments to @code{\partcombine} will be interpreted as
344 @internalsref{Voice} contexts. If using relative octaves,
345 @code{\relative} should be specified for both music expressions,
350 \relative @dots{} @var{musicexpr1}
351 \relative @dots{} @var{musicexpr2}
355 A @code{\relative} section that is outside of @code{\partcombine}
356 has no effect on the pitches of @var{musicexpr1} and
365 @lsrdir{Simultaneous,Simultaneous-notes}
368 @internalsref{PartCombineMusic},
369 @internalsref{Voice}.
373 When @code{printPartCombineTexts} is set, if the two voices play
374 the same notes on and off, the part combiner may typeset @code{a2}
375 more than once in a measure.
377 @code{\partcombine} cannot be inside @code{\times}.
379 @code{\partcombine} cannot be inside @code{\relative}.
381 Internally, the @code{\partcombine} interprets both arguments as
382 @code{Voice}s named @code{one} and @code{two}, and then decides
383 when the parts can be combined. Consequently, if the arguments
384 switch to differently named @internalsref{Voice} contexts, the
385 events in those will be ignored.
388 @node Writing music in parallel
389 @subsubsection Writing music in parallel
391 @cindex Writing music in parallel
392 @cindex Interleaved music
394 Music for multiple parts can be interleaved:
396 @lilypond[quote,fragment,verbatim]
397 \parallelMusic #'(voiceA voiceB) {
398 r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] |
400 r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] |
404 \new Staff \new Voice \voiceA
405 \new Staff \new Voice \voiceB
409 This works quite well for piano music.
411 @c It would be nice if the first bar fit onto one 66-char line.
412 @c Maybe simplify the example? -gp
413 @lilypond[quote,verbatim]
417 \parallelMusic #'(voiceA voiceB voiceC voiceD) {
419 r8 g'16[ c''] e''[ g' c'' e'']
420 r8 g'16[ c''] e''[ g' c'' e''] |
423 r8 a16[ d'] f'[ a d' f']
424 r8 a16[ d'] f'[ a d' f'] |
429 a'8 b' c'' d'' e'' f'' g'' a'' |
431 c16 d e f d e f g e f g a f g a b |
459 @lsrdir{Simultaneous,Simultaneous-notes}