Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
When revising a translation, copy the HEAD committish of the
- version that you are working on. See TRANSLATION for details.
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.17.6"
@node Keyboard and other multi-staff instruments
@section Keyboard and other multi-staff instruments
@cindex staves, keyed instruments
@cindex keyboard instrument staves
@cindex keyed instrument staves
+@cindex keyboard music, centering dynamics
+@cindex dynamics, centered in keyboard music
+@cindex piano music, centering dynamics
+@cindex centered dynamics in piano music
@funindex PianoStaff
@item Keyboard music can be written in parallel, as described in
@ref{Writing music in parallel}.
+@item Dynamics may be placed in a @code{Dynamics} context,
+between the two @code{Staff} contexts
+to align the dynamic marks on a horizontal line
+centered between the staves; see @ref{Dynamics}.
+
@item Fingerings are indicated with @ref{Fingering instructions}.
@item Organ pedal indications are inserted as articulations, see
@end itemize
@c @snippets
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@c @lilypondfile[verbatim,quote,texidoc,doctitle]
@c {forcing-visibility-of-systems-with-multi-bar-rests-when-using-\RemoveEmptyStaffContext.ly}
-@c http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
+@c http://lsr.di.unimi.it/LSR/Item?u=1&id=312
@seealso
Learning Manual:
@rlsr{Keyboards}.
-@knownissues
-
-@cindex keyboard music, centering dynamics
-@cindex dynamics, centered in keyboard music
-@cindex piano music, centering dynamics
-@cindex centered dynamics in piano music
-@funindex staff-padding
-
-Dynamics are not automatically centered, but workarounds do exist. One
-option is the @q{piano centered dynamics} template under
-@rlearning{Piano templates}; another option is to increase the
-@code{staff-padding} of dynamics as discussed in @rlearning{Moving
-objects}.
-
@node Changing staff manually
@unnumberedsubsubsec Changing staff manually
example of beam tweaking, see @rlearning{Fixing overlapping
notation}.
+@cindex cross-staff collisions
+@cindex collisions, cross-staff voices
+
+Overlapping notation can result when voices cross staves:
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+ \new Staff = "up" {
+ \voiceOne
+ % Make space for fingering in the cross-staff voice
+ \once\override DynamicLineSpanner.staff-padding = #4
+ e''2\p\< d''\>
+ c''1\!
+ }
+ \new Staff = "down" <<
+ {
+ \clef bass
+ s4. e,8\rest g,2\rest
+ c1
+ } \\ {
+ c8\( g c'
+ \change Staff = "up"
+ e' g' b'-3 a' g'\)
+ f'1
+ }
+ >>
+>>
+@end lilypond
+
+The stem and slur overlap the intervening line of dynamics
+because automatic collision resolution is suspended for beams, slurs
+and other spanners that connect notes on different staves,
+as well as for stems and articulations if their placement is
+affected by a cross-staff spanner.
+The resulting collisions must be resolved manually, where necessary,
+using the methods in @rlearning{Fixing overlapping notation}.
@seealso
Learning Manual:
@rinternals{Beam},
@rinternals{ContextChange}.
+@knownissues
+Beam collision avoidance does not work for automatic beams that end
+right before a change in staff. In this case use manual beams.
+
@node Changing staff automatically
@unnumberedsubsubsec Changing staff automatically
If additional control is needed over the individual staves, they
can be created manually with the names @code{"up"} and
@code{"down"}. The @code{\autochange} command will then switch
-its voice between the existing staves.
+its voice between the existing staves.
@warning{If staves are created manually, they @emph{must} be named
@code{"up"} and @code{"down"}.}
>>
@end lilypond
-
@seealso
Notation Reference:
@ref{Changing staff manually}.
@knownissues
-
@cindex chords, splitting across staves with \autochange
The staff switches may not end up in optimal places. For high
Chords will not be split across the staves; they will be assigned to a
staff based on the first note named in the chord construct.
+
@node Staff-change lines
@unnumberedsubsubsec Staff-change lines
@code{\hideStaffSwitch}.
@endpredefined
-
@seealso
Snippets:
@rlsr{Keyboards}.
@cindex cross staff chords
@funindex Stem
-@funindex cross-staff
-@funindex length
-@funindex flag-style
+@funindex \crossStaff
+@funindex \autoBeamOff
+@funindex Span_stem_engraver
-Chords that cross staves may be produced:
+Chords that cross staves may be produced using the
+@code{Span_stem_engraver}. Care must be taken to ensure that
+automatic beams do not beam the notes on one staff when it’s not
+required on the other.
-@lilypond[verbatim,quote]
-\new PianoStaff <<
- \new Staff {
- \relative c' {
- f8 e4 d8 d f e4
- }
- }
- \new Staff {
- \relative c' {
- << {
- \clef bass
- % stems may overlap the other staff
- \override Stem #'cross-staff = ##t
- % extend the stems to reach other other staff
- \override Stem #'length = #12
- % do not print extra flags
- \override Stem #'flag-style = #'no-flag
- % prevent beaming as needed
- a8 g4 f8 f bes\noBeam g4
- }
- \\
- {
- f,2 bes4 c
- } >>
- }
- }
->>
-@end lilypond
+@lilypondfile[verbatim,quote]
+{cross-staff-stems.ly}
+
+For the time being, this engraver can not be specified by its name in
+double quotes, but rather prefixing its name with a hash symbol
+@code{#}, due to the way it is implemented.
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
-
@seealso
Snippets:
@rlsr{Keyboards}.
sustain pedal during piano performance. Pedalling to the final bar line
is indicated by omitting the final pedal off command.
+Pedal indications may be placed in a @code{Dynamics} context,
+which aligns them on a horizontal line.
@seealso
Notation Reference:
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{accordion-discant-symbols.ly}
-
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{accordion-registers.ly}
@seealso
Snippets:
@itemize
-@item The glissando is the most characterisic harp technique,
+@item The glissando is the most characteristic harp technique,
@ref{Glissando}.
@item A @notation{bisbigliando} is written as a tremelo @ref{Tremolo
-repeats}
+repeats}.
@item Natural harmonics are covered under @ref{Harmonics}.
@seealso
Notation Reference:
-@ref{Tremolo repeats}
-@ref{Glissando}
-@ref{Arpeggio}
-@ref{Harmonics}
+@ref{Tremolo repeats},
+@ref{Glissando},
+@ref{Arpeggio},
+@ref{Harmonics}.
+
@node Harp pedals
@unnumberedsubsubsec Harp pedals
@cindex pedal diagrams, harp
Harps have seven strings per octave that may be sounded at the natural,
-flattened, or sharpened pitch. In lever harps, each string is adjusted
+flattened, or sharpened pitch. In lever harps, each string is adjusted
individually, but in pedal harps every string with the same pitch name
-is controlled by a single pedal. From the player's left to right, the
+is controlled by a single pedal. From the player's left to right, the
pedals are D, C, and B on the left and E, F, G, and A on the right.
The position of the pedals may be indicated with text marks:
@lilypond[quote,verbatim,relative=2]
\textLengthOn
-cis1_\markup \concat \vcenter { [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
-c!1_\markup \concat \vcenter {[ C \natural ]}
+cis1_\markup \concat \vcenter {
+ [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
+c!1_\markup \concat \vcenter {
+ [ C \natural ] }
@end lilypond
or pedal diagrams:
The @code{\harp-pedal} command accepts a string of characters, where
@code{^} is the highest pedal position (flattened pitch), @code{-} is
-the middle pedal postion (natural pitch), @code{v} is the lowest pedal
-position (sharpened pitch), and @code{|} is the divider. A prefixed
+the middle pedal position (natural pitch), @code{v} is the lowest pedal
+position (sharpened pitch), and @code{|} is the divider. A prefixed
@code{o} will circle the following pedal symbol.
@seealso
Notation Reference:
-@ref{Text scripts}
-@ref{Instrument Specific Markup}
+@ref{Text scripts},
+@ref{Instrument Specific Markup}.