]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/keyboards.itely
Imported Upstream version 2.14.2
[lilypond.git] / Documentation / notation / keyboards.itely
diff --git a/Documentation/notation/keyboards.itely b/Documentation/notation/keyboards.itely
new file mode 100644 (file)
index 0000000..77c8e9b
--- /dev/null
@@ -0,0 +1,688 @@
+@c -*- coding: utf-8; mode: texinfo; -*-
+@ignore
+    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.14.0"
+
+@node Keyboard and other multi-staff instruments
+@section Keyboard and other multi-staff instruments
+
+@lilypondfile[quote]{keyboard-headword.ly}
+
+This section discusses several aspects of music notation that are
+unique to keyboard instruments and other instruments notated on
+many staves, such as harps and vibraphones.  For the purposes of
+this section this entire group of multi-staff instruments is called
+@qq{keyboards} for short, even though some of them do not have a
+keyboard.
+
+@menu
+* Common notation for keyboards::
+* Piano::
+* Accordion::
+* Harp::
+@end menu
+
+@node Common notation for keyboards
+@subsection Common notation for keyboards
+
+This section discusses notation issues that may arise for most
+keyboard instruments.
+
+@menu
+* References for keyboards::
+* Changing staff manually::
+* Changing staff automatically::
+* Staff-change lines::
+* Cross-staff stems::
+@end menu
+
+@node References for keyboards
+@unnumberedsubsubsec References for keyboards
+
+@cindex piano staves
+@cindex staves, piano
+@cindex staves, keyboard 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
+
+Keyboard instruments are usually notated with Piano staves.  These
+are two or more normal staves coupled with a brace.  The same
+notation is also used for other keyed instruments.
+Organ music is normally written with two staves inside a
+@code{PianoStaff} group and third, normal staff for the pedals.
+
+The staves in keyboard music are largely independent, but
+sometimes voices can cross between the two staves.  This
+section discusses notation techniques particular to keyboard
+music.
+
+Several common issues in keyboard music are covered elsewhere:
+
+@itemize
+
+@item Keyboard music usually contains multiple voices and the
+number of voices may change regularly; this is described in
+@ref{Collision resolution}.
+
+@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
+@ref{List of articulations}.
+
+@item Vertical grid lines can be shown with @ref{Grid lines}.
+
+@item Keyboard music often contains @notation{Laissez vibrer} ties
+as well as ties on arpeggios and tremolos, described in
+@ref{Ties}.
+
+@item Placing arpeggios across multiple voices and staves is
+covered in @ref{Arpeggio}.
+
+@item Tremolo marks are described in @ref{Tremolo repeats}.
+
+@item Several of the tweaks that can occur in keyboard music are
+demonstrated in @rlearning{Real music example}.
+
+@item Hidden notes can be used to produce ties that cross voices,
+as shown in @rlearning{Other uses for tweaks}.
+
+@end itemize
+
+@c @snippets
+@c @lilypondfile[verbatim,lilyquote,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
+
+@seealso
+Learning Manual:
+@rlearning{Real music example},
+@rlearning{Other uses for tweaks}.
+
+Notation Reference:
+@ref{Grouping staves},
+@ref{Instrument names},
+@ref{Collision resolution},
+@ref{Writing music in parallel},
+@ref{Fingering instructions},
+@ref{List of articulations},
+@ref{Grid lines},
+@ref{Ties},
+@ref{Arpeggio},
+@ref{Tremolo repeats}.
+
+Internals Reference:
+@rinternals{PianoStaff}.
+
+Snippets:
+@rlsr{Keyboards}.
+
+@node Changing staff manually
+@unnumberedsubsubsec Changing staff manually
+
+@cindex changing staff manually
+@cindex manual staff changes
+@cindex staff changes, manual
+@cindex cross-staff notes
+@cindex notes, cross-staff
+@cindex cross-staff beams
+@cindex beams, cross-staff
+
+@funindex \change
+@funindex change
+
+Voices can be switched between staves manually, using the command
+
+@example
+\change Staff = @var{staffname}
+@end example
+
+@noindent
+The string @var{staffname} is the name of the staff.  It switches
+the current voice from its current staff to the staff called
+@var{staffname}.  Typical values for @var{staffname} are
+@code{"up"} and @code{"down"}, or @code{"RH"} and @code{"LH"}.
+
+The staff to which the voice is being switched must exist at the
+time of the switch.  If necessary, staves should be @qq{kept alive},
+see @ref{Keeping contexts alive}.
+
+Cross-staff notes are beamed automatically:
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+  \new Staff = "up" {
+    <e' c'>8
+    \change Staff = "down"
+    g8 fis g
+    \change Staff = "up"
+    <g'' c''>8
+    \change Staff = "down"
+    e8 dis e
+    \change Staff = "up"
+  }
+  \new Staff = "down" {
+    \clef bass
+    % keep staff alive
+    s1
+  }
+>>
+@end lilypond
+
+If the beaming needs to be tweaked, make any changes to the stem
+directions first.  The beam positions are then measured from the
+center of the staff that is closest to the beam.  For a simple
+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 = #3.4
+    e''2\p\< d''\> s1*0\!
+  }
+  \new Staff = "down" <<
+    {
+      \clef bass
+      s4. e,8\rest g,2\rest
+    } \\ {
+      c8\( g c'
+      \change Staff = "up"
+      e' g' b'-3 a' g'\)
+    }
+  >>
+>>
+@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}.
+
+@knownissues
+Beam collision avoidance does not work for automatic beams that end
+right before a change in staff. To make the latter work, use manual
+beaming.
+
+@seealso
+Learning Manual:
+@rlearning{Fixing overlapping notation}.
+
+Notation Reference:
+@ref{Stems},
+@ref{Automatic beams},
+@ref{Keeping contexts alive}.
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{Beam},
+@rinternals{ContextChange}.
+
+
+@node Changing staff automatically
+@unnumberedsubsubsec Changing staff automatically
+
+@cindex changing staff automatically
+@cindex automatic staff changes
+@cindex staff changes, automatic
+
+@funindex \autochange
+@funindex autochange
+@funindex PianoStaff
+
+Voices can be made to switch automatically between the top and the
+bottom staff.  The syntax for this is
+
+@example
+\autochange @dots{}@var{music}@dots{}
+@end example
+
+@noindent
+This will create two staves inside the current staff group
+(usually a @code{PianoStaff}), called @code{"up"} and
+@code{"down"}.  The lower staff will be in the bass clef by default.
+The autochanger switches on the basis of the pitch (middle@tie{}C is the
+turning point), and it looks ahead skipping over rests to switch
+in advance.
+
+@lilypond[quote,verbatim]
+\new PianoStaff {
+  \autochange {
+    g4 a b c'
+    d'4 r a g
+  }
+}
+@end lilypond
+
+@cindex relative music and autochange
+@cindex autochange and relative music
+
+@funindex \relative
+@funindex relative
+
+A @code{\relative} section that is outside of @code{\autochange}
+has no effect on the pitches of the music, so if necessary, put
+@code{\relative} inside @code{\autochange}.
+
+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.
+
+@warning{If staves are created manually, they @emph{must} be named
+@code{"up"} and @code{"down"}.}
+
+For example, staves must be created manually in order to place a
+key signature in the lower staff:
+
+@lilypond[quote,verbatim]
+\new PianoStaff <<
+  \new Staff = "up" {
+    \new Voice = "melOne" {
+      \key g \major
+      \autochange \relative c' {
+        g8 b a c b d c e
+        d8 r fis, g a2
+      }
+    }
+  }
+  \new Staff = "down" {
+    \key g \major
+    \clef bass
+  }
+>>
+@end lilypond
+
+
+@seealso
+Notation Reference:
+@ref{Changing staff manually}.
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{AutoChangeMusic}.
+
+
+@knownissues
+
+@cindex chords, splitting across staves with \autochange
+
+The staff switches may not end up in optimal places.  For high
+quality output, staff switches should be specified manually.
+
+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
+
+@cindex staff-change line
+@cindex staff change line
+@cindex cross-staff line
+@cindex cross staff line
+@cindex line, staff-change follower
+@cindex line, cross-staff
+@cindex line, staff-change
+@cindex follow voice
+@cindex voice, following
+@cindex staff switching
+@cindex cross-staff
+
+@funindex followVoice
+@funindex \showStaffSwitch
+@funindex showStaffSwitch
+@funindex \hideStaffSwitch
+@funindex hideStaffSwitch
+
+Whenever a voice switches to another staff, a line connecting the
+notes can be printed automatically:
+
+@lilypond[quote,verbatim,relative=1]
+\new PianoStaff <<
+  \new Staff = "one" {
+    \showStaffSwitch
+    c1
+    \change Staff = "two"
+    b2 a
+  }
+  \new Staff = "two" {
+    \clef bass
+    s1*2
+  }
+>>
+@end lilypond
+
+
+@predefined
+@code{\showStaffSwitch},
+@code{\hideStaffSwitch}.
+@endpredefined
+
+
+@seealso
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{Note_head_line_engraver},
+@rinternals{VoiceFollower}.
+
+
+@node Cross-staff stems
+@unnumberedsubsubsec Cross-staff stems
+
+@cindex cross-staff notes
+@cindex cross staff notes
+@cindex notes, cross-staff
+@cindex cross-staff stems
+@cindex cross staff stems
+@cindex stems, cross-staff
+@cindex chords, cross-staff
+@cindex cross-staff chords
+@cindex cross staff chords
+
+@funindex Stem
+@funindex cross-staff
+@funindex length
+@funindex flag-style
+
+Chords that cross staves may be produced:
+
+@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 the 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
+
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
+
+
+@seealso
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{Stem}.
+
+
+@node Piano
+@subsection Piano
+
+This section discusses notation issues that relate most directly to the
+piano.
+
+@menu
+* Piano pedals::
+@end menu
+
+@node Piano pedals
+@unnumberedsubsubsec Piano pedals
+
+@cindex piano pedals
+@cindex pedals, piano
+@cindex sustain pedal
+@cindex pedal, sustain
+@cindex sostenuto pedal
+@cindex pedal, sostenuto
+@cindex una corda
+@cindex tre corde
+@cindex sos.
+@cindex U.C.
+
+@funindex \sustainOn
+@funindex sustainOn
+@funindex \sustainOff
+@funindex sustainOff
+@funindex \sostenutoOn
+@funindex sostenutoOn
+@funindex \sostenutoOff
+@funindex sostenutoOff
+@funindex \unaCorda
+@funindex unaCorda
+@funindex \treCorde
+@funindex treCorde
+
+Pianos generally have three pedals that alter the way sound is
+produced: @notation{sustain}, @notation{sostenuto}
+(@notation{sos.}), and @notation{una corda} (@notation{U.C.}).
+Sustain pedals are also found on vibraphones and celestas.
+
+@lilypond[quote,verbatim,relative=2]
+c4\sustainOn d e g
+<c, f a>1\sustainOff
+c4\sostenutoOn e g c,
+<bes d f>1\sostenutoOff
+c4\unaCorda d e g
+<d fis a>1\treCorde
+@end lilypond
+
+@cindex pedal indication styles
+@cindex pedal indication, text
+@cindex pedal indication, bracket
+@cindex pedal indication, mixed
+@cindex pedal sustain style
+@cindex sustain pedal style
+
+@funindex pedalSustainStyle
+@funindex mixed
+@funindex bracket
+@funindex text
+
+There are three styles of pedal indications: text, bracket, and mixed.
+The sustain pedal and the una corda pedal use the text style by default
+while the sostenuto pedal uses mixed by default.
+
+@lilypond[quote,verbatim,relative=2]
+c4\sustainOn g c2\sustainOff
+\set Staff.pedalSustainStyle = #'mixed
+c4\sustainOn g c d
+d\sustainOff\sustainOn g, c2\sustainOff
+\set Staff.pedalSustainStyle = #'bracket
+c4\sustainOn g c d
+d\sustainOff\sustainOn g, c2
+\bar "|."
+@end lilypond
+
+The placement of the pedal commands matches the physical movement of the
+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:
+@ref{Ties}.
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{SustainPedal},
+@rinternals{SustainPedalLineSpanner},
+@rinternals{SustainEvent},
+@rinternals{SostenutoPedal},
+@rinternals{SostenutoPedalLineSpanner},
+@rinternals{SostenutoEvent},
+@rinternals{UnaCordaPedal},
+@rinternals{UnaCordaPedalLineSpanner},
+@rinternals{UnaCordaEvent},
+@rinternals{PianoPedalBracket},
+@rinternals{Piano_pedal_engraver}.
+
+
+@node Accordion
+@subsection Accordion
+
+@cindex accordion
+
+This section discusses notation that is unique to the accordion.
+
+@menu
+* Discant symbols::
+@end menu
+
+@node Discant symbols
+@unnumberedsubsubsec Discant symbols
+
+@cindex accordion discant symbols
+@cindex discant symbols, accordion
+@cindex accordion shifts
+@cindex accordion shift symbols
+
+Accordions are often built with more than one set of reeds that may be
+in unison with, an octave above, or an octave below the written pitch.
+Each accordion maker has different names for the @notation{shifts} that
+select the various reed combinations, such as @notation{oboe},
+@notation{musette}, or @notation{bandonium}, so a system of symbols has
+come into use to simplify the performance instructions.
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{accordion-discant-symbols.ly}
+
+
+@seealso
+Snippets:
+@rlsr{Keyboards}.
+
+
+@node Harp
+@subsection Harp
+
+This section discusses notation issues that are unique to the harp.
+
+@menu
+* References for harps::
+* Harp pedals::
+@end menu
+
+@node References for harps
+@unnumberedsubsubsec References for harps
+@cindex harps
+@cindex bisbiglando
+
+Some common characteristics of harp music are covered elsewhere:
+
+@itemize
+
+@item The glissando is the most characteristic harp technique,
+@ref{Glissando}.
+
+@item A @notation{bisbigliando} is written as a tremelo @ref{Tremolo
+repeats}.
+
+@item Natural harmonics are covered under @ref{Harmonics}.
+
+@item For directional arpeggios and non-arpeggios, see @ref{Arpeggio}.
+
+@end itemize
+
+@seealso
+Notation Reference:
+@ref{Tremolo repeats},
+@ref{Glissando},
+@ref{Arpeggio},
+@ref{Harmonics}.
+
+@node Harp pedals
+@unnumberedsubsubsec Harp pedals
+
+@cindex harp pedals
+@cindex harp pedal diagrams
+@cindex pedals, harp
+@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
+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
+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 ] }
+@end lilypond
+
+or pedal diagrams:
+
+@lilypond[quote,verbatim,relative=2]
+\textLengthOn
+cis1_\markup { \harp-pedal #"^v-|vv-^" }
+c!1_\markup { \harp-pedal #"^o--|vv-^" }
+@end lilypond
+
+The @code{\harp-pedal} command accepts a string of characters, where
+@code{^} is the highest pedal position (flattened pitch), @code{-} is
+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}.