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 can be used as a simplified method, where the
157 two (or more) voices are 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 note heads are horizontally shifted,
169 and rests move to avoid collisions. In the following example, the
170 intermediate voice has stems up, therefore we enter it in the third
171 place, so it becomes voice three which has the stems up as desired.
173 @lilypond[quote,relative=3,verbatim]
175 { r8 g g g g f16 es f8 d }
177 { es,8 r es r d r d r }
179 { d'8 s c s bes s a s }
183 Spacing rests are often used to avoid too many rests, as seen in the
186 Voices created by this simplified method are implicit @code{Voice}
187 contexts; in all but simplest works it is advised to create explicit
188 @code{Voice} contexts using the @code{\new} and @code{\context}
189 commands as it is explained in @rlearning{Contexts and engravers} and
190 @rlearning{Explicitly instantiating voices}.
192 This applies to a common case: each music expression in the
193 @code{<<@{...@} \\ @{...@}>>} construct is placed in a new voice,
194 distinct from the voice for single-voice music; to temporarily add
195 only one additional voice to an existing one, it is necessary to
196 instantiate that voice explicitly. When doing this, to force the
197 settings that would be implicitly made by the simplified method, the
198 @code{\voiceOne} ... @code{\voiceFour}, and @code{\oneVoice} commands
202 << @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice
205 This construct keeps a voice alive throughout the polyphonic section.
206 For example, this allows lyrics to be assigned to one consistent voice.
208 @lilypond[quote, verbatim, relative=2]
210 \new Voice = "melody" {
225 \new Lyrics \lyricsto "melody" {
237 @funindex \voiceThree
247 @rlearning{Voices contain music},
248 @rlearning{Explicitly instantiating voices}.
251 @ref{Percussion staves}.
254 @rlsr{Simultaneous notes}.
258 @unnumberedsubsubsec Voice styles
261 @cindex styles, voice
262 @cindex coloring voices
264 Voices may be given distinct colors and shapes, allowing them to be
267 @lilypond[quote,relative=2,verbatim]
269 { \voiceOneStyle d4 c2 b4 }
271 { \voiceTwoStyle e,2 e }
273 { \voiceThreeStyle b2. c4 }
275 { \voiceFourStyle g'2 g }
279 To revert the standard presentation, the @code{\voiceNeutralstyle}
284 @funindex \voiceOneStyle
285 @code{\voiceOneStyle},
286 @funindex \voiceTwoStyle
287 @code{\voiceTwoStyle},
288 @funindex \voiceThreeStyle
289 @code{\voiceThreeStyle},
290 @funindex \voiceFourStyle
291 @code{\voiceFourStyle},
292 @funindex \voiceNeutralStyle
293 @code{\voiceNeutralStyle}.
298 @rlearning{I'm hearing Voices},
299 @rlearning{Other sources of information}.
302 @rlsr{Simultaneous notes}.
305 @node Collision resolution
306 @unnumberedsubsubsec Collision resolution
308 @cindex merging notes
309 @cindex note collisions
315 @cindex shift rest, automatic
317 Note heads with equal durations are automatically merged, while
318 note heads with unequal durations are not merged. Rests opposite
319 a stem are shifted vertically.
321 @lilypond[quote,verbatim,relative=2]
337 Note heads with different note heads may be merged, with the
338 exception of half-note heads and quarter-note heads:
340 @lilypond[quote,verbatim,relative=2]
343 \mergeDifferentlyHeadedOn
357 Note heads with different dots may be merged:
359 @lilypond[quote,relative=2,verbatim]
362 \mergeDifferentlyHeadedOn
363 \mergeDifferentlyDottedOn
379 The collision on the second measure happens because
380 @code{merge-differently-headed} cannot successfully complete the
381 merge when three or more notes line up in the same column -- in
382 fact, you will obtain a warning for this reason. To allow the
383 merge to work properly, apply a @code{\shift} to the note that
384 should not be merged. Here, @code{\shiftOn} is applied to move
385 the top @code{g} out of the column, and
386 @code{merge-differently-headed} works properly.
388 @lilypond[quote,relative=2,verbatim]
391 \mergeDifferentlyHeadedOn
392 \mergeDifferentlyDottedOn
408 The @code{\shiftOn}, @code{\shiftOnn}, and @code{\shiftOnnn}
409 commands specify the degree to which chords of the current voice
410 should be shifted. The outer voices (normally: voices one and
411 two) have @code{\shiftOff}, while the inner voices (three and
412 four) have @code{\shiftOn}. @code{\shiftOnn} and
413 @code{\shiftOnnn} define further shift levels.
415 Notes are only merged if they have opposing stem directions (i.e., in
416 @code{Voice} 1 and 2).
418 @cindex multiple voices
419 @cindex polyphonic music
420 @cindex shifting voices
424 @funindex \mergeDifferentlyDottedOn
425 @code{\mergeDifferentlyDottedOn},
426 @funindex \mergeDifferentlyDottedOff
427 @code{\mergeDifferentlyDottedOff},
428 @funindex \mergeDifferentlyHeadedOn
429 @code{\mergeDifferentlyHeadedOn},
430 @funindex \mergeDifferentlyHeadedOff
431 @code{\mergeDifferentlyHeadedOff}.
444 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
445 {additional-voices-to-avoid-collisions.ly}
447 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
448 {forcing-horizontal-shift-of-notes.ly}
456 @rlearning{Multiple notes at once},
457 @rlearning{Voices contain music},
458 @rlearning{Collisions of objects}.
461 @rlsr{Simultaneous notes}.
464 @rinternals{NoteColumn},
465 @rinternals{NoteCollision},
466 @rinternals{RestCollision}.
470 When using @code{merge-differently-headed} with an upstem eighth
471 or a shorter note, and a downstem half note, the eighth note stem
472 gets a slightly wrong offset because of the different width of the
473 half note head symbol.
475 @c investigate! Sometimes it works, sometimes not. --FV
476 The requirements for successfully merging different note heads that
477 are at the same time differently dotted are not clear.
479 There is no support for chords where the same note occurs with
480 different accidentals in the same chord. In this case, it is
481 recommended to use enharmonic transcription, or to use special
482 cluster notation (see @ref{Clusters}).
485 @node Automatic part combining
486 @unnumberedsubsubsec Automatic part combining
488 @cindex automatic part combining
489 @cindex part combiner
490 @cindex combining parts
491 @funindex \partcombine
493 Automatic part combining is used to merge two parts of music onto
494 a staff. It is aimed at typesetting orchestral scores. When the
495 two parts are identical for a period of time, only one is shown.
496 In places where the two parts differ, they are typeset as separate
497 voices, and stem directions are set automatically. Also, solo and
498 @notation{a due} parts are identified and marked by default.
500 The syntax for part combining is:
503 \partcombine @var{musicexpr1} @var{musicexpr2}
506 The following example demonstrates the basic functionality of the
507 part combiner: putting parts on one staff and setting stem
508 directions and polyphony. The same variables are used for the
509 independent parts and the combined staff.
511 @lilypond[quote,verbatim]
512 instrumentOne = \relative c' {
520 instrumentTwo = \relative g' {
529 \new Staff \instrumentOne
530 \new Staff \instrumentTwo
531 \new Staff \partcombine \instrumentOne \instrumentTwo
535 The notes in the third measure appear only once, although they
536 were specified in both parts. Stem, slur, and tie directions are
537 set automatically, depending whether there is a solo or unison.
538 When needed in polyphony situations, the first part (with context
539 called @code{one}) always gets up stems, while the second (called
540 @code{two}) always gets down stems. In solo situations, the parts
541 get marked with @q{Solo} and @q{Solo II}, respectively. The
542 unisono (@notation{a due}) parts are marked by default with the
545 Both arguments to @code{\partcombine} will be interpreted as
546 @code{Voice} contexts. If using relative octaves,
547 @code{\relative} should be specified for both music expressions,
552 \relative @dots{} @var{musicexpr1}
553 \relative @dots{} @var{musicexpr2}
557 A @code{\relative} section that is outside of @code{\partcombine}
558 has no effect on the pitches of @var{musicexpr1} and
563 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
564 {combining-two-parts-on-the-same-staff.ly}
566 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
567 {changing-partcombine-texts.ly}
579 @rlsr{Simultaneous notes}.
582 @rinternals{PartCombineMusic},
587 When @code{printPartCombineTexts} is set, if the two voices play
588 the same notes on and off, the part combiner may typeset @code{a2}
589 more than once in a measure.
591 @code{\partcombine} cannot be inside @code{\times}.
593 @code{\partcombine} cannot be inside @code{\relative}.
595 Internally, the @code{\partcombine} interprets both arguments as
596 @code{Voice}s named @code{one} and @code{two}, and then decides
597 when the parts can be combined. Consequently, if the arguments
598 switch to differently named @rinternals{Voice} contexts, the
599 events in those will be ignored.
601 @c IIRC in users list someone pointed out more issues. TODO: lookup FV
604 @node Writing music in parallel
605 @unnumberedsubsubsec Writing music in parallel
607 @cindex Writing music in parallel
608 @cindex Interleaved music
609 @funindex parallelMusic
611 Music for multiple parts can be interleaved in input code. The
612 function @code{\parallelMusic} accepts a list with the names of a
613 number of variables to be created, and a musical expression. The
614 content of alternate measures from the expression become the value
615 of the respective variables, so you can use them afterwards to
618 @warning{Bar checks @code{|} must be used, and the measures must
619 be of the same length.}
621 @lilypond[quote,verbatim]
622 \parallelMusic #'(voiceA voiceB voiceC) {
624 r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
625 r16 e'8.~ e'4 r16 e'8.~ e'4 |
629 r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
630 r16 d'8.~ d'4 r16 d'8.~ d'4 |
635 \new Staff << \voiceA \\ \voiceB >>
636 \new Staff { \clef bass \voiceC }
640 Relative mode may be used. Note that the @code{\relative} command
641 is not used inside @code{\parallelMusic} itself. The notes are
642 relative to the preceding note in the voice, not to the previous
643 note in the input -- in other words, relative notes for
644 @code{voiceA} ignore the notes in @code{voiceB}.
646 @lilypond[quote,verbatim]
647 \parallelMusic #'(voiceA voiceB voiceC) {
649 r8 g16 c e g, c e r8 g,16 c e g, c e |
650 r16 e8.~ e4 r16 e8.~ e4 |
654 r8 a,16 d f a, d f r8 a,16 d f a, d f |
655 r16 d8.~ d4 r16 d8.~ d4 |
660 \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
661 \new Staff \relative c' { \clef bass \voiceC }
665 This works quite well for piano music. This example maps four
666 consecutive measures to four variables:
668 @lilypond[quote,verbatim]
674 \parallelMusic #'(voiceA voiceB voiceC voiceD) {
678 c16 d e fis d e fis g |
684 e16 fis g a fis g a b |
695 \relative c'' \voiceA
715 @rlearning{Organizing pieces with variables}.
718 @rlsr{Simultaneous notes}.