X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fsimultaneous.itely;h=4725ecf0dee3c913de583cde1eab149c96dfb2ea;hb=e965ee6c9b3b42a76fd6fce1f9c6b93b3ee79aae;hp=00740cdfcef9e5a83f42c0ec261c384877f8f139;hpb=9ff4029627f34267fc9f040c703d568b1dfd10b1;p=lilypond.git diff --git a/Documentation/notation/simultaneous.itely b/Documentation/notation/simultaneous.itely index 00740cdfce..4725ecf0de 100644 --- a/Documentation/notation/simultaneous.itely +++ b/Documentation/notation/simultaneous.itely @@ -7,13 +7,13 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.14.0" +@c \version "2.17.28" @node Simultaneous notes @section Simultaneous notes -@lilypondfile[quote]{simultaneous-headword.ly} +@lilypondfile[quote,ragged-right,line-width=16\cm]{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 @@ -60,14 +60,15 @@ Chords may also be followed by articulations, again just like simple notes. @lilypond[verbatim,quote,relative=2] -1\fermata 2-> 4\prall 8.^| 16-. +1\fermata 2-> 4\prall 8.^! 16-. @end lilypond The notes within the chord themselves can also be followed by articulation and ornamentation. @lilypond[verbatim,quote,relative=2] -1 c-^ e>2 4 8. 16 +1 c-^ e>2 4 +8. 16 @end lilypond However some notation, such as dynamics, hairpins and slurs must be @@ -75,7 +76,24 @@ attached to the chord, rather than notes within the chord, otherwise they will not print. @lilypond[verbatim,quote,relative=2] -1 \f ( ) \< \! +1 \f ( ) +\< \! +@end lilypond + +@cindex chords, empty +@cindex placeholder events + +A chord acts merely as a container for its notes, its articulations and +other attached elements. Consequently, a chord without notes inside +does not actually have a duration. Any attached articulations will +happen at the same musical time as the next following note or chord and +be combined with them (for more complex possibilities of combining such +elements, see @ref{Simultaneous expressions}): + +@lilypond[verbatim,quote,relative=2] +\grace { g8( a b } +<> ) \p \< -. -\markup \italic "sempre staccato" +\repeat unfold 4 { c4 e } c1\f @end lilypond @cindex relative pitch, chords @@ -130,6 +148,7 @@ enharmonic transcription of one or more pitches, @end itemize + @node Chord repetition @unnumberedsubsubsec Chord repetition @@ -148,7 +167,7 @@ durations, articulations, markups, slurs, beams, etc. as only the pitches of the previous chord are duplicated. @lilypond[verbatim,quote,relative=2] -1\p^"text" q2\<( q8)[-| q8.]\! q16-1-2-3 q8\prall +1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall @end lilypond The chord repetition symbol always remembers the last instance of @@ -243,8 +262,17 @@ a << { a4 b g } { d4 g c, } >> @end lilypond This can be useful if the simultaneous sections have identical -rhythms, but attempts to attach notes with different durations -to the same stem will cause errors. +rhythms, but attempts to attach notes with different durations to +the same stem will cause errors. Notes, articulations, and property +changes in a @emph{single} @samp{Voice} are collected and engraved in +musical order: + +@lilypond[quote,verbatim,relative=2] +4-. <>-. << c a >> << { c-. } { a s-. } >> +@end lilypond + +Multiple stems or beams or different note durations or properties at +the same musical time require the use of multiple voices. The following example shows how simultaneous expressions can generate multiple staves implicitly: @@ -254,7 +282,8 @@ generate multiple staves implicitly: << { a4 b g2 } { d4 g2 c,4 } >> @end lilypond -Here different rhythms cause no problems. +Here different rhythms cause no problems because they are +interpreted in different voices. @cindex collisions, clashing note columns @cindex collisions, ignoring @@ -271,7 +300,7 @@ warning: ignoring too many clashing note columns will appear during compilation. This message can be suppressed by: @example -\override NoteColumn #'ignore-collision = ##t +\override NoteColumn.ignore-collision = ##t @end example However, this not only suppresses the warning but will prevent any @@ -301,7 +330,6 @@ Ordinary notes and clusters can be put together in the same staff, even simultaneously. In such a case no attempt is made to automatically avoid collisions between ordinary notes and clusters. - @seealso Music Glossary: @rglos{cluster}. @@ -314,9 +342,7 @@ Internals Reference: @rinternals{ClusterSpannerBeacon}, @rinternals{Cluster_spanner_engraver}. - @knownissues - Clusters look good only if they span at least two chords; otherwise they appear too narrow. @@ -327,6 +353,7 @@ separating rest between them. Clusters do not produce MIDI output. + @node Multiple voices @subsection Multiple voices @@ -357,7 +384,7 @@ multiple staves. @funindex \oneVoice @funindex oneVoice -@strong{@i{Explicitly instantiating voices}} +@subsubsubheading Explicitly instantiating voices The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example: @@ -381,14 +408,14 @@ automatically moved to avoid collisions. The @code{\oneVoice} command returns all the voice settings to the neutral default directions. -@strong{@i{Temporary polyphonic passages}} +@subsubsubheading Temporary polyphonic passages A temporary polyphonic passage can be created with the following construct: @example -<< @{ \voiceOne ... @} - \new Voice @{ \voiceTwo ... @} +<< @{ \voiceOne @dots{} @} + \new Voice @{ \voiceTwo @dots{} @} >> \oneVoice @end example @@ -428,9 +455,9 @@ during and after a polyphonic section: Here, the @code{\voiceOne} and @code{\voiceTwo} commands are required to define the settings of each voice. -@strong{@i{The double backslash construct}} +@subsubsubheading The double backslash construct -The @code{<< @{...@} \\ @{...@} >>} construct, where the two (or +The @code{<< @{@dots{}@} \\ @{@dots{}@} >>} construct, where the two (or more) expressions are separated by double backslashes, behaves differently to the similar construct without the double backslashes: @emph{all} the expressions within this construct are assigned @@ -473,7 +500,7 @@ In all but the simplest works it is advisable to create explicit @code{Voice} contexts as explained in @rlearning{Contexts and engravers} and @rlearning{Explicitly instantiating voices}. -@strong{@i{Voice order}} +@subsubsubheading Voice order When entering multiple voices in the input file, use the following order: @@ -512,7 +539,7 @@ upstems, and the even-numbered voices are given downstems: @warning{Lyrics, spanners (such as slurs, ties, hairpins etc.) cannot be created @q{across} voices.} -@strong{@i{Identical rhythms}} +@subsubsubheading Identical rhythms In the special case that we want to typeset parallel pieces of music that have the same rhythm, we can combine them into a single @@ -538,9 +565,6 @@ music do not have the same rhythm. @code{\oneVoice}. @endpredefined -Snippets: -@rlsr{Simultaneous notes}. - @seealso Learning Manual: @rlearning{Voices contain music}, @@ -551,6 +575,9 @@ Notation Reference: @ref{Invisible rests}, @ref{Stems}. +Snippets: +@rlsr{Simultaneous notes}. + @node Voice styles @unnumberedsubsubsec Voice styles @@ -591,7 +618,6 @@ standard presentation. @code{\voiceNeutralStyle}. @endpredefined - @seealso Learning Manual: @rlearning{I'm hearing Voices}, @@ -655,9 +681,8 @@ in bar 2, where the automatic merging fails. >> @end lilypond -Notes with different note heads may be merged, with the -exception of half-note heads and quarter-note heads, as shown -below. Here the note heads on beat 1 of bar 1 are now merged: +Notes with different note heads may be merged as shown +below. In this example the note heads on beat 1 of bar 1 are now merged: @lilypond[quote,verbatim,relative=2] << @@ -676,6 +701,9 @@ below. Here the note heads on beat 1 of bar 1 are now merged: >> @end lilypond +Quarter and half notes are not merged in this way, since it would be difficult +to tell them apart. + Note heads with different dots as shown in beat 3 of bar 1 may be also be merged: @@ -818,13 +846,13 @@ Internals Reference: @cindex collisions, ignoring @knownissues -Using @code{\override NoteColumn #'ignore-collision = ##t} will cause +Using @code{\override NoteColumn.ignore-collision = ##t} will cause differently headed notes in different voices to merge incorrectly. @lilypond[quote,relative=1,verbatim] \mergeDifferentlyHeadedOn << { c16 a' b a } \\ { c,2 } >> -\override NoteColumn #'ignore-collision = ##t +\override NoteColumn.ignore-collision = ##t << { c16 a' b a } \\ { c,2 } >> @end lilypond @@ -835,6 +863,7 @@ The requirements for successfully merging different note heads that are at the same time differently dotted are not clear. @end ignore + @node Automatic part combining @unnumberedsubsubsec Automatic part combining @@ -936,7 +965,7 @@ the @code{\partcombine} function considers each note separately. In this case the @code{\partcombine} function can be overriden with the following commands: -Commands ending in @code{...Once} apply only to the next note in the +Commands ending in @code{@dots{}Once} apply only to the next note in the music expression. @itemize @@ -993,6 +1022,17 @@ instrumentTwo = \relative c' { @end lilypond +@subsubsubheading Using \partcombine with lyrics + +@cindex \partcombine and lyrics + +The @code{\partcombine} command is not designed to work with +lyrics; if one of the voices is explicitly named in order to +attach lyrics to it, the partcombiner will stop working. However, +this effect can be achieved using a @code{NullVoice} context. See +@ref{Polyphony with shared lyrics}. + + @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] @@ -1001,7 +1041,6 @@ instrumentTwo = \relative c' { @lilypondfile[verbatim,quote,texidoc,doctitle] {changing-partcombine-texts.ly} - @seealso Music Glossary: @rglos{a due}, @@ -1018,13 +1057,9 @@ Internals Reference: @rinternals{Voice}. @knownissues +All @code{\partcombine@dots{}} functions can only accept two voices. -All @code{\partcombine...} functions can only accept two voices and are -not designed to work with lyrics; such that when one of the voices is -explicitly named in order to attach lyrics to it, the partcombiner will -stop working. - -@code{\partcombine...} functions cannot be placed inside a @code{\times} +@code{\partcombine@dots{}} functions cannot be placed inside a @code{\tuplet} or @code{\relative} block. If @code{printPartCombineTexts} is set and the two voices play the same @@ -1163,7 +1198,6 @@ global = { } @end lilypond - @seealso Learning Manual: @rlearning{Organizing pieces with variables}.