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.
9 @node Simultaneous notes
10 @section Simultaneous notes
12 Polyphony in music refers to having more than one voice occurring
13 in a piece of music. Polyphony in LilyPond refers to having more
14 than one voice on the same staff.
23 @subsection Single voice
31 @unnumberedsubsubsec Chords
35 A chord is formed by a enclosing a set of pitches between @code{<}
36 and @code{>}. A chord may be followed by a duration, and a set of
37 articulations, just like simple notes
39 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
43 For more information about chords, see @ref{Introducing chord
48 @unnumberedsubsubsec Clusters
52 A cluster indicates a continuous range of pitches to be played.
53 They can be denoted as the envelope of a set of notes. They are
54 entered by applying the function @code{makeClusters} to a sequence
57 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
58 \makeClusters { <c e > <b f'> }
61 Ordinary notes and clusters can be put together in the same staff,
62 even simultaneously. In such a case no attempt is made to
63 automatically avoid collisions between ordinary notes and
68 Program reference: @internalsref{ClusterSpanner},
69 @internalsref{ClusterSpannerBeacon},
70 @internalsref{Cluster_spanner_engraver}.
72 Examples: @lsr{contemporary,cluster@/.ly}.
76 Music expressions like @code{<< @{ g8 e8 @} a4 >>} are not printed
77 accurately. Use @code{<g a>8 <e a>8} instead.
82 @subsection Multiple voices
85 * Explicitly instantiating voices::
86 * Collision Resolution::
87 * Automatic part combining::
88 * Writing music in parallel::
91 @node Explicitly instantiating voices
92 @unnumberedsubsubsec Explicitly instantiating voices
94 @internalsref{Voice} contexts can also be instantiated manually
95 inside a @code{<< >>} block to create polyphonic music, using
96 @code{\voiceOne}, up to @code{\voiceFour} to assign stem
97 directions and a horizontal shift for each part.
101 << \upper \\ \lower >>
109 \new Voice = "1" @{ \voiceOne \upper @}
110 \new Voice = "2" @{ \voiceTwo \lower @}
114 The @code{\voiceXXX} commands set the direction of stems, slurs,
115 ties, articulations, text annotations, augmentation dots of dotted
116 notes, and fingerings. @code{\voiceOne} and @code{\voiceThree}
117 make these objects point upwards, while @code{\voiceTwo} and
118 @code{\voiceFour} make them point downwards. The command
119 @code{\oneVoice} will revert back to the normal setting.
121 An expression that appears directly inside a @code{<< >>} belongs
122 to the main voice. This is useful when extra voices appear while
123 the main voice is playing. Here is a more correct rendition of
124 the example from the previous section. The crossed colored
125 noteheads demonstrate that the main melody is now in a single
128 @lilypond[quote,ragged-right,verbatim]
129 \new Staff \relative c' {
130 \override NoteHead #'style = #'cross
131 \override NoteHead #'color = #red
136 \new Voice="1" { \voiceTwo
137 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
140 \new Voice { \voiceThree
149 The correct definition of the voices allows the melody to be
152 @lilypond[quote,ragged-right,verbatim]
153 \new Staff \relative c' {
158 \context Voice="1" { \voiceTwo
159 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
162 \new Voice { \voiceThree
171 Avoiding the @code{\\} separator also allows nesting polyphony
172 constructs, which in some case might be a more natural way to
175 @lilypond[quote,ragged-right,verbatim]
176 \new Staff \relative c' {
181 \context Voice="1" { \voiceTwo
185 \new Voice { \voiceThree
197 In some instances of complex polyphonic music, you may need
198 additional voices to avoid collisions between notes. Additional
199 voices are added by defining an identifier, as shown below:
201 @lilypond[quote,verbatim,ragged-right,relative=2]
202 voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
205 { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\
213 @node Collision Resolution
214 @unnumberedsubsubsec Collision Resolution
216 Normally, note heads with a different number of dots are not
217 merged, but when the object property
218 @code{merge-differently-dotted} is set in the
219 @internalsref{NoteCollision} object, they are merged:
221 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
224 \override Staff.NoteCollision
225 #'merge-differently-dotted = ##t
227 } \\ { g8.[ f16] g8.[ f16] } >>
230 Similarly, you can merge half note heads with eighth notes, by
231 setting @code{merge-differently-headed}:
233 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
236 \override Staff.NoteCollision
237 #'merge-differently-headed = ##t
238 c8 c4. } \\ { c2 c2 } >>
242 @code{merge-differently-headed} and
243 @code{merge-differently-dotted} only apply to opposing stem
244 directions (ie. Voice 1 & 2).
246 LilyPond also vertically shifts rests that are opposite of a stem,
249 @lilypond[quote,ragged-right,fragment,verbatim]
250 \new Voice << c''4 \\ r4 >>
253 If three or more notes line up in the same column,
254 @code{merge-differently-headed} cannot successfully complete the
255 merge of the two notes that should be merged. To allow the merge
256 to work properly, apply a @code{\shift} to the note that should
257 not be merged. In the first measure of following example,
258 @code{merge-differently-headed} does not work (the half-note head
259 is solid). In the second measure, @code{\shiftOn} is applied to
260 move the top @code{g} out of the column, and
261 @code{merge-differently-headed} works properly.
263 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
264 \override Staff.NoteCollision #'merge-differently-headed = ##t
267 { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
268 { \voiceFour e,,2 e'2}
271 { d'=''2 \shiftOn g2 } \\
272 { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
273 { \voiceFour e,,2 e'2}
286 @funindex \voiceThree
298 @code{\shiftOff}: these commands specify the degree to which
299 chords of the current voice should be shifted. The outer voices
300 (normally: voice one and two) have @code{\shiftOff}, while the
301 inner voices (three and four) have @code{\shiftOn}.
302 @code{\shiftOnn} and @code{\shiftOnnn} define further shift
305 When LilyPond cannot cope, the @code{force-hshift} property of the
306 @internalsref{NoteColumn} object and pitched rests can be used to
307 override typesetting decisions.
309 @lilypond[quote,verbatim,ragged-right]
316 \once \override NoteColumn #'force-hshift = #1.7
324 Program reference: the objects responsible for resolving
325 collisions are @internalsref{NoteCollision} and
326 @internalsref{RestCollision}.
331 When using @code{merge-differently-headed} with an upstem eighth
332 or a shorter note, and a downstem half note, the eighth note gets
335 There is no support for clusters where the same note occurs with
336 different accidentals in the same chord. In this case, it is
337 recommended to use enharmonic transcription, or to use special
338 cluster notation (see @ref{Clusters}).
341 @node Automatic part combining
342 @unnumberedsubsubsec Automatic part combining
343 @cindex automatic part combining
344 @cindex part combiner
346 Automatic part combining is used to merge two parts of music onto
347 a staff. It is aimed at typesetting orchestral scores. When the
348 two parts are identical for a period of time, only one is shown.
349 In places where the two parts differ, they are typeset as separate
350 voices, and stem directions are set automatically. Also, solo and
351 @emph{a due} parts are identified and can be marked.
353 The syntax for part combining is
356 \partcombine @var{musicexpr1} @var{musicexpr2}
360 The following example demonstrates the basic functionality of the
361 part combiner: putting parts on one staff, and setting stem
362 directions and polyphony
364 @lilypond[quote,verbatim,ragged-right,fragment]
365 \new Staff \partcombine
366 \relative g' { g g a( b) c c r r }
367 \relative g' { g g r4 r e e g g }
370 The first @code{g} appears only once, although it was specified
371 twice (once in each part). Stem, slur, and tie directions are set
372 automatically, depending whether there is a solo or unisono. The
373 first part (with context called @code{one}) always gets up stems,
374 and @q{Solo}, while the second (called @code{two}) always gets
375 down stems and @q{Solo II}.
377 If you just want the merging parts, and not the textual markings,
378 you may set the property @code{printPartCombineTexts} to false
380 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
382 \set Staff.printPartCombineTexts = ##f
384 \relative g' { g a( b) r }
385 \relative g' { g r4 r f }
389 To change the text that is printed for solos or merging, you may
390 set the @code{soloText}, @code{soloIIText}, and @code{aDueText}
393 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
395 \set Score.soloText = #"ichi"
396 \set Score.soloIIText = #"ni"
397 \set Score.aDueText = #"tachi"
399 \relative g' { g4 g a( b) r }
400 \relative g' { g4 g r r f }
404 Both arguments to @code{\partcombine} will be interpreted as
405 @internalsref{Voice} contexts. If using relative octaves,
406 @code{\relative} should be specified for both music expressions,
411 \relative @dots{} @var{musicexpr1}
412 \relative @dots{} @var{musicexpr2}
416 A @code{\relative} section that is outside of @code{\partcombine}
417 has no effect on the pitches of @var{musicexpr1} and
422 Program reference: @internalsref{PartCombineMusic}.
426 When @code{printPartCombineTexts} is set, when the two voices play
427 the same notes on and off, the part combiner may typeset @code{a2}
428 more than once in a measure.
430 @code{\partcombine} cannot be inside @code{\times}.
432 @code{\partcombine} cannot be inside @code{\relative}.
434 Internally, the @code{\partcombine} interprets both arguments as
435 @code{Voice}s named @code{one} and @code{two}, and then decides
436 when the parts can be combined. Consequently, if the arguments
437 switch to differently named @internalsref{Voice} contexts, the
438 events in those will be ignored.
441 @node Writing music in parallel
442 @unnumberedsubsubsec Writing music in parallel
444 @cindex Writing music in parallel
445 @cindex Interleaved music
447 Music for multiple parts can be interleaved
449 @lilypond[quote,fragment,verbatim]
450 \parallelMusic #'(voiceA voiceB) {
451 r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] |
453 r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] |
457 \new Staff \new Voice \voiceA
458 \new Staff \new Voice \voiceB
462 This works quite well for piano music
464 @c It would be nice if the first bar fit onto one 66-char line.
465 @c Maybe simplify the example? -gp
466 @lilypond[quote,verbatim]
470 \parallelMusic #'(voiceA voiceB voiceC voiceD) {
472 r8 g'16[ c''] e''[ g' c'' e'']
473 r8 g'16[ c''] e''[ g' c'' e''] |
476 r8 a16[ d'] f'[ a d' f']
477 r8 a16[ d'] f'[ a d' f'] |
482 a'8 b' c'' d'' e'' f'' g'' a'' |
484 c16 d e f d e f g e f g a f g a b |