than one voice on the same staff.
@menu
-* Single voice::
-* Multiple voices::
+* Single voice::
+* Multiple voices::
@end menu
This section discusses simultaneous notes inside the same voice.
@menu
-* Chorded notes::
-* Parallel notes::
-* Clusters::
+* Chorded notes::
+* Clusters::
@end menu
@node Chorded notes
@code{<g a>8 <e a>8}.
@end ignore
-@node Parallel notes
-@unnumberedsubsubsec Parallel notes
-
-@ignore
-Pieces of music having the same rhythm form chords when
-combined in parallel into the same @code{Voice} context by enclosing
-them into double angle brackets:
-@end ignore
-
-Parallel pieces of music can be combined into a single
-@code{Voice} context, thus forming chords if they have the same
-rhythm. To achieve this, enclose them in a simultaneous music
-construction:
-
-@lilypond[quote,relative=2,verbatim]
-\new Voice <<
- { e4 f8 d e16 f g8 d4 }
- { c4 d8 b c16 d e8 b4 }
->>
-@end lilypond
-
-@seealso
-
-Learning Manual:
-@rlearning{Voices contain music}.
-
-Snippets:
-@rlsr{Simultaneous notes}.
-
-@knownissues
-
-This method leads to strange beamings and warnings if the pieces of
-music do not have the same rhythm.
-
@node Clusters
@unnumberedsubsubsec Clusters
multiple staves.
@menu
-* Collision resolution::
-* Voice styles::
-* Automatic part combining::
-* Writing music in parallel::
+* Single-staff polyphony::
+* Voice styles::
+* Collision resolution::
+* Automatic part combining::
+* Writing music in parallel::
@end menu
+@node Single-staff polyphony
+@unnumberedsubsubsec Single-staff polyphony
+
+To typeset parallel pieces of music that have the same rhythm, they
+can be combined into a single @code{Voice} context, thus forming
+chords. To achieve this, enclose them in a simultaneous music
+construction:
+
+@lilypond[quote,relative=2,verbatim]
+\new Voice <<
+ { e4 f8 d e16 f g8 d4 }
+ { c4 d8 b c16 d e8 b4 }
+>>
+@end lilypond
+
+This method leads to strange beamings and warnings if the pieces of
+music do not have the same rhythm. To typeset multiple, truly
+independent voices in a single staff, the @code{<<@{...@} \\
+@{...@}>>} construction is used, where the two (or more) voices are
+separated by double backslashes.
+
+@lilypond[quote,relative=3,verbatim]
+<<
+ { r8 r16 g e8. f16 g8[ c,] f e16 d }
+ \\
+ { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
+>>
+@end lilypond
+
+First and third voices get stems up, second and fourth voices get
+stems down, third and fourth voice noteheads are horizontally shifted,
+and rests move to avoid collisions.
+
+@lilypond[quote,relative=3,verbatim]
+<<
+ { r8 g g g g f16 es f8 d }
+ \\
+ { es,8 r es r d r d r }
+ \\
+ { d'8 s c s bes s a s }
+>>
+@end lilypond
+
+For these purposes, the @code{\voiceOne} ... @code{\voiceFour}
+commands can be used instead. Spacing rests are often used to avoid
+too many rests, as seen in the example avobe.
+
+@predefined
+
+@funindex \voiceOne
+@code{\voiceOne},
+@funindex \voiceTwo
+@code{\voiceTwo},
+@funindex \voiceThree
+@code{\voiceThree},
+@funindex \voiceFour
+@code{\voiceFour}.
+
+
+@seealso
+
+Learning Manual:
+@rlearning{Voices contain music}.
+
+Snippets:
+@rlsr{Simultaneous notes}.
+
+
+@node Voice styles
+@unnumberedsubsubsec Voice styles
+
+@cindex voice styles
+@cindex styles, voice
+@cindex coloring voices
+
+Voices may be given distinct colors and shapes, allowing them to be
+easily identified:
+
+@lilypond[quote,relative=2,verbatim]
+<<
+ { \voiceOneStyle d4 c2 b4 }
+ \\
+ { \voiceTwoStyle e,2 e }
+ \\
+ { \voiceThreeStyle b2. c4 }
+ \\
+ { \voiceFourStyle g'2 g }
+>>
+@end lilypond
+
+To revert the standard presentation, the @code{\voiceNeutralstyle}
+command is used.
+
+These styles are arbitrarily defined but can be changed. For example,
+the initial definition for @code{\voiceOneStyle} is as follows:
+
+@example
+voiceOneStyle = @{
+ \override NoteHead #'style = #'diamond
+ \override NoteHead #'color = #red
+ \override Stem #'color = #red
+ \override Beam #'color = #red
+@}
+@end example
+
+
+@predefined
+
+@funindex \voiceOneStyle
+@code{\voiceOneStyle},
+@funindex \voiceTwoStyle
+@code{\voiceTwoStyle},
+@funindex \voiceThreeStyle
+@code{\voiceThreeStyle},
+@funindex \voiceFourStyle
+@code{\voiceFourStyle},
+@funindex \voiceNeutralStyle
+@code{\voiceNeutralStyle}.
+
+@seealso
+
+Learning Manual:
+@rlearning{I'm hearing Voices},
+@rlearning{Other sources of information}.
+
+Snippets:
+@rlsr{Simultaneous notes}.
+
@node Collision resolution
@unnumberedsubsubsec Collision resolution
@code{\mergeDifferentlyHeadedOff}.
@funindex \oneVoice
-@code{\oneVoice},
-@funindex \voiceOne
-@code{\voiceOne},
-@funindex \voiceTwo
-@code{\voiceTwo},
-@funindex \voiceThree
-@code{\voiceThree},
-@funindex \voiceFour
-@code{\voiceFour}.
+@code{\oneVoice}.
@funindex \shiftOn
recommended to use enharmonic transcription, or to use special
cluster notation (see @ref{Clusters}).
-@node Voice styles
-@unnumberedsubsubsec Voice styles
-
-@cindex voice styles
-@cindex styles, voice
-@cindex coloring voices
-
-Voices may be given distinct colors and shapes, allowing them to be
-easily identified:
-
-@lilypond[quote,relative=2,verbatim]
-<<
- {
- a1
- \voiceOneStyle
- f2 g
- \voiceNeutralStyle
- a1
- } \\ {
- f1
- \voiceTwoStyle
- f4 f2 e4
- \voiceNeutralStyle
- f1
- }
->>
-@end lilypond
-
-@predefined
-
-@funindex \voiceOneStyle
-@code{\voiceOneStyle},
-@funindex \voiceTwoStyle
-@code{\voiceTwoStyle},
-@funindex \voiceThreeStyle
-@code{\voiceThreeStyle},
-@funindex \voiceFourStyle
-@code{\voiceFourStyle},
-@funindex \voiceNeutralStyle
-@code{\voiceNeutralStyle}.
-
-@seealso
-
-Lerning Manual:
-@rlearning{I'm hearing Voices}.
-
-Snippets:
-@rlsr{Simultaneous notes}.
@node Automatic part combining
@unnumberedsubsubsec Automatic part combining
be of the same length.}
@lilypond[quote,verbatim]
-\parallelMusic #'(voiceA voiceB) {
+\parallelMusic #'(voiceA voiceB voiceC) {
% Bar 1
r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' e''] |
c'2 c'2 |
-
+ r16 e'8.~ e'4 r16 e'8.~ e'4 |
% Bar 2
r8 a'16[ d''] f''[ a' d'' f''] r8 a'16[ d''] f''[ a' d'' f''] |
c'2 c'2 |
+ r16 d'8.~ d'4 r16 d'8.~ d'4 |
}
\new StaffGroup <<
- \new Staff \voiceA
- \new Staff \voiceB
+ \new Staff << \voiceA \\ \voiceC >>
+ \new Staff { \clef bass \voiceB }
>>
@end lilypond
@code{voiceA} ignore the notes in @code{voiceB}.
@lilypond[quote,verbatim]
-\parallelMusic #'(voiceA voiceB) {
+\parallelMusic #'(voiceA voiceB voiceC) {
% Bar 1
r8 g16 c e g, c e r8 g,16 c e g, c e |
c2 c |
+ r16 e8.~ e4 r16 e8.~ e4 |
% Bar 2
r8 a,16 d f a, d f r8 a,16 d f a, d f |
c2 c |
+ r16 d8.~ d4 r16 d8.~ d4 |
}
\new StaffGroup <<
- \new Staff \relative c'' \voiceA
- \new Staff \relative c' \voiceB
+ \new Staff << \relative c'' \voiceA \\ \relative c' \voiceC >>
+ \new Staff \relative c' { \clef bass \voiceB }
>>
@end lilypond