]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/simultaneous.itely
Merge branch 'master' of git://git.sv.gnu.org/lilypond
[lilypond.git] / Documentation / user / simultaneous.itely
index b552bcb712105995c22689959796973eb86205cf..f630fa8bf38dbf348923cfa949ef709f2a02300f 100644 (file)
@@ -9,6 +9,9 @@
 @node Simultaneous notes
 @section Simultaneous notes
 
+@lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
+{simultaneous-headword.ly}
+
 Polyphony in music refers to having more than one voice occurring
 in a piece of music.  Polyphony in LilyPond refers to having more
 than one voice on the same staff.
@@ -23,18 +26,18 @@ than one voice on the same staff.
 @subsection Single voice
 
 @menu
-* Chords::                      
+* Chorded notes::                      
 * Clusters::                    
 @end menu
 
-@node Chords
-@unnumberedsubsubsec Chords
+@node Chorded notes
+@unnumberedsubsubsec Chorded notes
 
 @cindex Chords
 
 A chord is formed by a enclosing a set of pitches between @code{<}
 and @code{>}.  A chord may be followed by a duration, and a set of
-articulations, just like simple notes
+articulations, just like simple notes:
 
 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
 <c e g>4 <c>8
@@ -43,6 +46,16 @@ articulations, just like simple notes
 For more information about chords, see @ref{Introducing chord
 names}.
 
+@seealso
+
+Snippets: @lsrdir{simultaneous}
+
+@refbugs
+
+Music expressions like @code{<< @{ g8 e8 @} a4 >>} are not printed
+accurately.  Use @code{<g a>8 <e a>8} instead.
+
+
 
 @node Clusters
 @unnumberedsubsubsec Clusters
@@ -65,153 +78,29 @@ clusters.
 
 @seealso
 
-Program reference: @internalsref{ClusterSpanner},
+Snippets: @lsrdir{simultaneous}
+
+Internals Reference: @internalsref{ClusterSpanner},
 @internalsref{ClusterSpannerBeacon},
 @internalsref{Cluster_spanner_engraver}.
 
 Examples: @lsr{contemporary,cluster@/.ly}.
 
-@refbugs
-
-Music expressions like @code{<< @{ g8 e8 @} a4 >>} are not printed
-accurately.  Use @code{<g a>8 <e a>8} instead.
-
 
 
 @node Multiple voices
 @subsection Multiple voices
 
 @menu
-* Explicitly instantiating voices::  
-* Collision Resolution::        
+* Collision resolution::        
 * Automatic part combining::    
 * Writing music in parallel::   
 @end menu
 
-@node Explicitly instantiating voices
-@unnumberedsubsubsec Explicitly instantiating voices
-
-@internalsref{Voice} contexts can also be instantiated manually
-inside a @code{<< >>} block to create polyphonic music, using
-@code{\voiceOne}, up to @code{\voiceFour} to assign stem
-directions and a horizontal shift for each part.
-
-Specifically,
-@example
-<< \upper \\ \lower >>
-@end example
-
-@noindent
-is equivalent to
-
-@example
-<<
-  \new Voice = "1" @{ \voiceOne \upper @}
-  \new Voice = "2" @{ \voiceTwo \lower @}
->>
-@end example
-
-The @code{\voiceXXX} commands set the direction of stems, slurs,
-ties, articulations, text annotations, augmentation dots of dotted
-notes, and fingerings.  @code{\voiceOne} and @code{\voiceThree}
-make these objects point upwards, while @code{\voiceTwo} and
-@code{\voiceFour} make them point downwards.  The command
-@code{\oneVoice} will revert back to the normal setting.
-
-An expression that appears directly inside a @code{<< >>} belongs
-to the main voice.  This is useful when extra voices appear while
-the main voice is playing.  Here is a more correct rendition of
-the example from the previous section.  The crossed colored
-noteheads demonstrate that the main melody is now in a single
-voice context.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
-  \override NoteHead #'style = #'cross
-  \override NoteHead #'color = #red
-  c16 d e f
-  \voiceOne
-  <<
-    { g4 f e | d2 e2 }
-    \new Voice="1" { \voiceTwo
-      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
-      \oneVoice
-    }
-    \new Voice { \voiceThree
-      s2. | s4 b4 c2
-      \oneVoice
-    }
-  >>
-  \oneVoice
-}
-@end lilypond
-
-The correct definition of the voices allows the melody to be
-slurred.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
-  c16^( d e f
-  \voiceOne
-  <<
-    { g4 f e | d2 e2) }
-    \context Voice="1" { \voiceTwo
-      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
-      \oneVoice
-    }
-    \new Voice { \voiceThree
-      s2. s4 b4 c2
-      \oneVoice
-    }
-  >>
-  \oneVoice
-}
-@end lilypond
-
-Avoiding the @code{\\} separator also allows nesting polyphony
-constructs, which in some case might be a more natural way to
-typeset the music.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
-  c16^( d e f
-  \voiceOne
-  <<
-    { g4 f e | d2 e2) }
-    \context Voice="1" { \voiceTwo
-      r8 e4 d c8 ~ |
-      <<
-        {c8 b16 a b8 g ~ g2}
-        \new Voice { \voiceThree
-          s4 b4 c2
-          \oneVoice
-        }
-      >>
-    \oneVoice
-    }
-  >>
-  \oneVoice
-}
-@end lilypond
-
-In some instances of complex polyphonic music, you may need
-additional voices to avoid collisions between notes.  Additional
-voices are added by defining an identifier, as shown below:
+@node Collision resolution
+@unnumberedsubsubsec Collision resolution
 
-@lilypond[quote,verbatim,ragged-right,relative=2]
-voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
-
-\relative c''' <<
-  { \voiceOne g4 ~  \stemDown g32[ f( es d c b a b64 )g] } \\
-  { \voiceThree  b4} \\
-  { \voiceFive d,} \\
-  { \voiceTwo g,}
->>
-@end lilypond
-
-
-@node Collision Resolution
-@unnumberedsubsubsec Collision Resolution
+@cindex Merging noteheads
 
 Normally, note heads with a different number of dots are not
 merged, but when the object property
@@ -274,6 +163,22 @@ move the top @code{g} out of the column, and
 >>
 @end lilypond
 
+In some instances of complex polyphonic music, you may need
+additional voices to avoid collisions between notes.  Additional
+voices are added by defining an variable, as shown below:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
+
+\relative c''' <<
+  { \voiceOne g4 ~  \stemDown g32[ f( es d c b a b64 )g] } \\
+  { \voiceThree  b4} \\
+  { \voiceFive d,} \\
+  { \voiceTwo g,}
+>>
+@end lilypond
+
+
 
 @refcommands
 
@@ -288,6 +193,19 @@ move the top @code{g} out of the column, and
 @funindex \voiceFour
 @code{\voiceFour}.
 
+@funindex \voiceNeutralStyle
+@funindex \voiceOneStyle
+@funindex \voiceTwoStyle
+@funindex \voiceThreeStyle
+@funindex \voiceFourStyle
+@example
+\voiceNeutralStyle
+\voiceOneStyle
+\voiceTwoStyle
+\voiceThreeStyle
+\voiceFourStyle
+@end example
+
 @funindex \shiftOn
 @code{\shiftOn},
 @funindex \shiftOnn
@@ -321,7 +239,9 @@ override typesetting decisions.
 
 @seealso
 
-Program reference: the objects responsible for resolving
+Snippets: @lsrdir{simultaneous}
+
+Internals Reference: the objects responsible for resolving
 collisions are @internalsref{NoteCollision} and
 @internalsref{RestCollision}.
 
@@ -419,7 +339,9 @@ has no effect on the pitches of @var{musicexpr1} and
 
 @seealso
 
-Program reference: @internalsref{PartCombineMusic}.
+Snippets: @lsrdir{simultaneous}
+
+Internals Reference: @internalsref{PartCombineMusic}.
 
 @refbugs
 
@@ -506,5 +428,7 @@ music = {
 }
 @end lilypond
 
+@seealso
 
+Snippets: @lsrdir{simultaneous}