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.
12 @node Simultaneous notes
13 @section Simultaneous notes
15 @lilypondfile[quote]{simultaneous-headword.ly}
17 Polyphony in music refers to having more than one voice occurring
18 in a piece of music. Polyphony in LilyPond refers to having more
19 than one voice on the same staff.
28 @subsection Single voice
30 This section discusses simultaneous notes inside the same voice.
39 @unnumberedsubsubsec Chorded notes
42 @cindex brackets, angle
47 A chord is formed by a enclosing a set of pitches between @code{<} and
48 @code{>}. A chord may be followed by a duration and/or a set of
49 articulations, just like simple notes:
51 @lilypond[verbatim,quote,relative=1]
52 <c e g>2 <c f a>4-> <e g c>-.
55 For more information about chords, see @ref{Chord notation}.
63 @rlearning{Combining notes into chords}.
69 @rlsr{Simultaneous notes}.
74 For some reason, music expressions like @code{<< @{ g8 e8 @} a4 >>}
75 that should automatically turn into chords, appear split in two
76 staves. To avoid this, use explicit chords instead as in
82 @unnumberedsubsubsec Clusters
85 @funindex \makeClusters
87 A cluster indicates a continuous range of pitches to be played. They
88 can be denoted as the envelope of a set of notes. They are entered by
89 applying the function @code{\makeClusters} to a sequence of chords,
92 @lilypond[quote,relative=2,verbatim]
93 \makeClusters { <g b>2 <c g'> }
96 Ordinary notes and clusters can be put together in the same staff,
97 even simultaneously. In such a case no attempt is made to
98 automatically avoid collisions between ordinary notes and clusters.
106 @rlsr{Simultaneous notes}.
109 @rinternals{ClusterSpanner},
110 @rinternals{ClusterSpannerBeacon},
111 @rinternals{Cluster_spanner_engraver}.
115 Clusters look good only if they span at least two chords; otherwise
116 they appear too narrow.
118 Clusters do not have a stem and cannot indicate durations by
119 themselves. Separate clusters would need a separating rest between
123 @node Multiple voices
124 @subsection Multiple voices
126 This section discusses simultaneous notes in multiple voices or
130 * Single-staff polyphony::
132 * Collision resolution::
133 * Automatic part combining::
134 * Writing music in parallel::
138 @node Single-staff polyphony
139 @unnumberedsubsubsec Single-staff polyphony
141 To typeset parallel pieces of music that have the same rhythm, they
142 can be combined into a single @code{Voice} context, thus forming
143 chords. To achieve this, enclose them in a simultaneous music
146 @lilypond[quote,relative=2,verbatim]
148 { e4 f8 d e16 f g8 d4 }
149 { c4 d8 b c16 d e8 b4 }
153 This method leads to strange beamings and warnings if the pieces of
154 music do not have the same rhythm. To typeset multiple, truly
155 independent voices in a single staff, the @code{<<@{...@} \\
156 @{...@}>>} construction is used, where the two (or more) voices are
157 separated by double backslashes.
159 @lilypond[quote,relative=3,verbatim]
161 { r8 r16 g e8. f16 g8[ c,] f e16 d }
163 { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
167 First and third voices get stems up, second and fourth voices get
168 stems down, third and fourth voice noteheads are horizontally shifted,
169 and rests move to avoid collisions.
171 @lilypond[quote,relative=3,verbatim]
173 { r8 g g g g f16 es f8 d }
175 { es,8 r es r d r d r }
177 { d'8 s c s bes s a s }
181 For these purposes, the @code{\voiceOne} ... @code{\voiceFour}
182 commands can be used instead. Spacing rests are often used to avoid
183 too many rests, as seen in the example avobe.
191 @funindex \voiceThree
199 @rlearning{Voices contain music}.
202 @rlsr{Simultaneous notes}.
206 @unnumberedsubsubsec Voice styles
209 @cindex styles, voice
210 @cindex coloring voices
212 Voices may be given distinct colors and shapes, allowing them to be
215 @lilypond[quote,relative=2,verbatim]
217 { \voiceOneStyle d4 c2 b4 }
219 { \voiceTwoStyle e,2 e }
221 { \voiceThreeStyle b2. c4 }
223 { \voiceFourStyle g'2 g }
227 To revert the standard presentation, the @code{\voiceNeutralstyle}
232 @funindex \voiceOneStyle
233 @code{\voiceOneStyle},
234 @funindex \voiceTwoStyle
235 @code{\voiceTwoStyle},
236 @funindex \voiceThreeStyle
237 @code{\voiceThreeStyle},
238 @funindex \voiceFourStyle
239 @code{\voiceFourStyle},
240 @funindex \voiceNeutralStyle
241 @code{\voiceNeutralStyle}.
246 @rlearning{I'm hearing Voices},
247 @rlearning{Other sources of information}.
250 @rlsr{Simultaneous notes}.
253 @node Collision resolution
254 @unnumberedsubsubsec Collision resolution
256 @cindex merging notes
257 @cindex note collisions
263 @cindex shift rest, automatic
265 Note heads with equal durations are automatically merged, while
266 note heads with unequal durations are not merged. Rests opposite
267 a stem are shifted vertically.
269 @lilypond[quote,verbatim,relative=2]
285 Note heads with different note heads may be merged, with the
286 exception of half-note heads and quarter-note heads:
288 @lilypond[quote,verbatim,relative=2]
291 \mergeDifferentlyHeadedOn
305 Note heads with different dots may be merged:
307 @lilypond[quote,relative=2,verbatim]
310 \mergeDifferentlyHeadedOn
311 \mergeDifferentlyDottedOn
327 The collision on the second measure happens because
328 @code{merge-differently-headed} cannot successfully complete the
329 merge when three or more notes line up in the same column -- in
330 fact, you will obtain a warning for this reason. To allow the
331 merge to work properly, apply a @code{\shift} to the note that
332 should not be merged. Here, @code{\shiftOn} is applied to move
333 the top @code{g} out of the column, and
334 @code{merge-differently-headed} works properly.
336 @lilypond[quote,relative=2,verbatim]
339 \mergeDifferentlyHeadedOn
340 \mergeDifferentlyDottedOn
356 The @code{\shiftOn}, @code{\shiftOnn}, and @code{\shiftOnnn}
357 commands specify the degree to which chords of the current voice
358 should be shifted. The outer voices (normally: voices one and
359 two) have @code{\shiftOff}, while the inner voices (three and
360 four) have @code{\shiftOn}. @code{\shiftOnn} and
361 @code{\shiftOnnn} define further shift levels.
363 Notes are only merged if they have opposing stem directions (i.e., in
364 @code{Voice} 1 and 2).
366 @cindex multiple voices
367 @cindex polyphonic music
368 @cindex shifting voices
372 @funindex \mergeDifferentlyDottedOn
373 @code{\mergeDifferentlyDottedOn},
374 @funindex \mergeDifferentlyDottedOff
375 @code{\mergeDifferentlyDottedOff},
376 @funindex \mergeDifferentlyHeadedOn
377 @code{\mergeDifferentlyHeadedOn},
378 @funindex \mergeDifferentlyHeadedOff
379 @code{\mergeDifferentlyHeadedOff}.
395 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
396 {additional-voices-to-avoid-collisions.ly}
398 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
399 {forcing-horizontal-shift-of-notes.ly}
407 @rlearning{Multiple notes at once},
408 @rlearning{Voices contain music},
409 @rlearning{Collisions of objects}.
412 @rlsr{Simultaneous notes}.
415 @rinternals{NoteColumn},
416 @rinternals{NoteCollision},
417 @rinternals{RestCollision}.
421 When using @code{merge-differently-headed} with an upstem eighth
422 or a shorter note, and a downstem half note, the eighth note stem
423 gets a slightly wrong offset because of the different width of the
424 half note head symbol.
426 @c investigate! Sometimes it works, sometimes not. --FV
427 It is not clear in which circumpstances you can succesfully merge
428 different note heads that are at the same time differently dotted.
430 There is no support for chords where the same note occurs with
431 different accidentals in the same chord. In this case, it is
432 recommended to use enharmonic transcription, or to use special
433 cluster notation (see @ref{Clusters}).
436 @node Automatic part combining
437 @unnumberedsubsubsec Automatic part combining
439 @cindex automatic part combining
440 @cindex part combiner
441 @cindex combining parts
442 @funindex \partcombine
444 Automatic part combining is used to merge two parts of music onto
445 a staff. It is aimed at typesetting orchestral scores. When the
446 two parts are identical for a period of time, only one is shown.
447 In places where the two parts differ, they are typeset as separate
448 voices, and stem directions are set automatically. Also, solo and
449 @notation{a due} parts are identified and marked by default.
451 The syntax for part combining is:
454 \partcombine @var{musicexpr1} @var{musicexpr2}
457 The following example demonstrates the basic functionality of the
458 part combiner: putting parts on one staff and setting stem
459 directions and polyphony. The same variables are used for the
460 independent parts and the combined staff.
462 @lilypond[quote,verbatim]
463 instrumentOne = \relative c' {
471 instrumentTwo = \relative g' {
480 \new Staff \instrumentOne
481 \new Staff \instrumentTwo
482 \new Staff \partcombine \instrumentOne \instrumentTwo
486 The notes in the third measure appear only once, although they
487 were specified in both parts. Stem, slur, and tie directions are
488 set automatically, depending whether there is a solo or unison.
489 When needed in polyphony situations, the first part (with context
490 called @code{one}) always gets up stems, while the second (called
491 @code{two}) always gets down stems. In solo situations, the parts
492 get marked with @q{Solo} and @q{Solo II}, respectively. The
493 unisono (@notation{a due}) parts are marked by default with the
496 Both arguments to @code{\partcombine} will be interpreted as
497 @code{Voice} contexts. If using relative octaves,
498 @code{\relative} should be specified for both music expressions,
503 \relative @dots{} @var{musicexpr1}
504 \relative @dots{} @var{musicexpr2}
508 A @code{\relative} section that is outside of @code{\partcombine}
509 has no effect on the pitches of @var{musicexpr1} and
514 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
515 {combining-two-parts-on-the-same-staff.ly}
517 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
518 {changing-partcombine-texts.ly}
530 @rlsr{Simultaneous notes}.
533 @rinternals{PartCombineMusic},
538 When @code{printPartCombineTexts} is set, if the two voices play
539 the same notes on and off, the part combiner may typeset @code{a2}
540 more than once in a measure.
542 @code{\partcombine} cannot be inside @code{\times}.
544 @code{\partcombine} cannot be inside @code{\relative}.
546 Internally, the @code{\partcombine} interprets both arguments as
547 @code{Voice}s named @code{one} and @code{two}, and then decides
548 when the parts can be combined. Consequently, if the arguments
549 switch to differently named @rinternals{Voice} contexts, the
550 events in those will be ignored.
552 @c IIRC in users list someone pointed out more issues. TODO: lookup FV
555 @node Writing music in parallel
556 @unnumberedsubsubsec Writing music in parallel
558 @cindex Writing music in parallel
559 @cindex Interleaved music
560 @funindex parallelMusic
562 Music for multiple parts can be interleaved in input code. The
563 function @code{\parallelMusic} accepts a list with the names of a
564 number of variables to be created, and a musical expression. The
565 content of alternate measures from the expression become the value
566 of the respective variables, so you can use them afterwards to
569 @warning{Bar checks @code{|} must be used, and the measures must
570 be of the same length.}
572 @lilypond[quote,verbatim]
573 \parallelMusic #'(voiceA voiceB voiceC) {
575 r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
576 r16 e'8.~ e'4 r16 e'8.~ e'4 |
580 r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
581 r16 d'8.~ d'4 r16 d'8.~ d'4 |
586 \new Staff << \voiceA \\ \voiceB >>
587 \new Staff { \clef bass \voiceC }
591 Relative mode may be used. Note that the @code{\relative} command
592 is not used inside @code{\parallelMusic} itself. The notes are
593 relative to the preceding note in the voice, not to the previous
594 note in the input -- in other words, relative notes for
595 @code{voiceA} ignore the notes in @code{voiceB}.
597 @lilypond[quote,verbatim]
598 \parallelMusic #'(voiceA voiceB voiceC) {
600 r8 g16 c e g, c e r8 g,16 c e g, c e |
601 r16 e8.~ e4 r16 e8.~ e4 |
605 r8 a,16 d f a, d f r8 a,16 d f a, d f |
606 r16 d8.~ d4 r16 d8.~ d4 |
611 \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
612 \new Staff \relative c' { \clef bass \voiceC }
616 This works quite well for piano music. This example maps four
617 consecutive measures to four variables:
619 @lilypond[quote,verbatim]
625 \parallelMusic #'(voiceA voiceB voiceC voiceD) {
629 c16 d e fis d e fis g |
635 e16 fis g a fis g a b |
646 \relative c'' \voiceA
666 @rlearning{Organizing pieces with variables}.
669 @rlsr{Simultaneous notes}.