]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/keyboards.itely
Merge easy parts of Keyboard.
[lilypond.git] / Documentation / user / keyboards.itely
index f377d552c7a4b0b01740dabf75ea99f2dedea850..767b209e83f9a279fc5d6646a2e6b6911b8b6d59 100644 (file)
@@ -8,24 +8,14 @@
 
 @c \version "2.11.38"
 
+@c "I have finished the first draft." -AH
+
 @node Keyboard instruments
 @section Keyboard instruments
 
-TODO
-My suggestion is this: in section 7.1.1 and/or 7.1.2 of the
-manual,
-about staff switching, add a sentence or two plus a simple example
-showing how the beams are handled automatically if you enter notes
-that
-require beaming (i.e. 8ths or shorter).  Anyone coming from Finale
-will
-be looking for "cross-staff beaming" instead of staff switching.
-If I
-had seen an example of notes switching staves, beamed together
-like
-that, I would have known immediately that that was what I was
-looking for.
+@lilypondfile[quote]{keyboard-headword.ly}
 
+FIXME add sentence
 
 @menu
 * Common notation for keyboards::
@@ -36,9 +26,10 @@ looking for.
 @node Common notation for keyboards
 @subsection Common notation for keyboards
 
+FIXME add sentence
+
 @menu
 * References for keyboards::
-* The piano staff::
 * Changing staff manually::
 * Changing staff automatically::
 * Staff-change lines::
@@ -48,192 +39,321 @@ looking for.
 @node References for keyboards
 @subsubsection References for keyboards
 
-@c TODO add refs
-TBC
+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 harps and 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.  In this
+section we discuss some 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 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 tremelos, 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,ragged-right,texidoc]
+@c {creating-slurs-across-voices.ly}
+
+@seealso
+
+Learning Manual:
+@rlearning{Real music example},
+@rlearning{Other uses for tweaks}.
+
+Notation Reference:
+@ref{Grouping staves},
+@ref{Instrument names},
+@ref{Writing music in parallel},
+@ref{Fingering instructions},
+@ref{Grid lines},
+@ref{Ties},
+@ref{Arpeggio},
+@ref{Tremolo repeats},
+@ref{List of articulations}.
 
-@node The piano staff
-@subsubsection The piano staff
+Internals Reference:
+@rinternals{PianoStaff}.
 
-Keyboard instruments are usually notated with Piano staves.
-These are two or more normal staves coupled with a brace.  The staves
-are largely independent, but sometimes voices can cross between the
-two staves.  The same notation is also used for harps and other key
-instruments.  The @internalsref{PianoStaff} is especially built to
-handle this cross-staffing behavior.  In this section we discuss the
-@internalsref{PianoStaff} and some other pianistic peculiarities.
+Snippets:
+@rlsr{Keyboards}.
 
 @knownissues
 
 Dynamics are not centered, but workarounds do exist.  See the
 @q{piano centered dynamics} template in @rlearning{Piano templates}.
 
-@cindex cross staff stem
-@cindex stem, cross staff
-@cindex distance between staves in piano music
+@c TODO Find out status of the dynamics engravers
 
 @node Changing staff manually
 @subsubsection Changing staff manually
 
-@cindex manual staff switches
-@cindex staff switch, manual
+@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
 
 Voices can be switched between staves manually, using the command
+
 @example
-\change Staff = @var{staffname} @var{music}
+\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}.  Typically @var{staffname} is @code{"up"} or
-@code{"down"}.  The @code{Staff} referred to must already exist, so
-usually the setup for a score will start with a setup of the staves,
+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"}.
 
-@example
-<<
-  \new Staff = "up" @{
-    \skip 1 * 10  % @emph{keep staff alive}
-    @}
-  \new Staff = "down" @{
-    \skip 1 * 10  % @emph{idem}
-    @}
+Cross-staff notes are beamed automatically:
+
+@lilypond[verbatim,quote,ragged-right]
+\new PianoStaff <<
+  \new Staff = "up" {
+    <e' c'>8
+    \change Staff = down
+    g fis g
+    \change Staff = up
+    <g'' c''>8
+    \change Staff = down
+    e dis e
+    \change Staff = up
+  }
+  \new Staff = "down" {
+    \clef bass
+    s1 % keep staff alive
+  }
 >>
-@end example
+@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}.
 
-and the @code{Voice} is inserted afterwards
+@seealso
 
-@example
-\context Staff = down
-  \new Voice @{ @dots{} \change Staff = up @dots{} @}
-@end example
+Learning Manual:
+@rlearning{Fixing overlapping notation}.
+
+Notation Reference:
+@ruser{Stems},
+@ruser{Automatic beams}.
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{Beam}.
 
 
 @node Changing staff automatically
 @subsubsection Changing staff automatically
-@cindex Automatic staff changes
 
-Voices can be made to switch automatically between the top and the bottom
-staff.  The syntax for this is
+@cindex changing staff automatically
+@cindex automatic staff changes
+@cindex staff changes, automatic
+@funindex \autochange
+
+Voices can be made to switch automatically between the top and the
+bottom staff.  The syntax for this is
 
-@quotation
 @example
 \autochange @dots{}@var{music}@dots{}
 @end example
-@end quotation
 
 @noindent
-This will create two staves inside the current PianoStaff, called
-@code{up} and @code{down}.  The lower staff will be in bass clef by
-default.
-
-A @code{\relative} section that is outside of @code{\autochange} has
-no effect on the pitches of @var{music}, so, if necessary, put
-@code{\relative} inside @code{\autochange} like
+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 bass clef by default.
+The autochanger switches on basis of the pitch (middle C is the
+turning point), and it looks ahead skipping over rests to switch
+in advance.
 
-@quotation
-@example
-\autochange \relative @dots{} @dots{}
-@end example
-@end quotation
+@lilypond[quote,verbatim,ragged-right]
+\new PianoStaff {
+  \autochange {
+    g4 a b c' d' r4 a g
+  }
+}
+@end lilypond
 
+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}.
 
-The autochanger switches on basis of the pitch (middle C is the turning
-point), and it looks ahead skipping over rests to switch in
-advance.  Here is a practical example
+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.  For example, this is
+necessary to place a key signature in the lower staff:
 
 @lilypond[quote,verbatim,ragged-right]
-\new PianoStaff
-  \autochange \relative c'
-  {
-    g4 a b c d r4 a g
+\new PianoStaff <<
+  \new Staff = "up" {
+    \new Voice = "melOne" {
+      \key g \major
+      \autochange \relative c' {
+        g8 b a c b d c e
+        d r fis, g a2
+      }
+    }
   }
+  \new Staff = "down" {
+    \key g \major
+    \clef bass
+  }
+>>
 @end lilypond
 
-
 @seealso
 
-@c Notation Reference: @ref{Manual staff switches}.
-
-Internals Reference: @internalsref{AutoChangeMusic}.
+Notation Reference:
+@ref{Changing staff manually}.
 
+Snippets:
+@rlsr{Keyboards}.
 
+Internals Reference:
+@rinternals{AutoChangeMusic}.
 
 @knownissues
 
 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; the staff will be
+chosen by the first note named in the chord.
 
-@code{\autochange} cannot be inside @code{\times}.
 
 @node Staff-change lines
 @subsubsection Staff-change lines
 
-
+@cindex staff-change lines
+@cindex cross-staff lines
+@cindex lines, staff-change follower
 @cindex follow voice
 @cindex staff switching
-@cindex cross staff
-
+@cindex cross-staff
 @funindex followVoice
 
-Whenever a voice switches to another staff, a line connecting the notes
-can be printed automatically.  This is switched on by setting
-@code{followVoice} to true
+Whenever a voice switches to another staff, a line connecting the
+notes can be printed automatically:
 
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
 \new PianoStaff <<
-  \new Staff="one" {
-    \set followVoice = ##t
+  \new Staff = "one" {
+    \showStaffSwitch
     c1
     \change Staff=two
     b2 a
   }
-  \new Staff="two" { \clef bass \skip 1*2 }
+  \new Staff = "two" { \clef bass s1*2 }
 >>
 @end lilypond
 
-@seealso
-
-Internals Reference: @internalsref{VoiceFollower}.
-
 @predefined
 
 @funindex \showStaffSwitch
-@code{\showStaffSwitch},
 @funindex \hideStaffSwitch
-@code{\hideStaffSwitch}.
+@code{\showStaffSwitch}, @code{\hideStaffSwitch}.
+
+@seealso
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{VoiceFollower}.
+
 
 @node Cross-staff stems
 @subsubsection Cross-staff stems
 
+@cindex cross-staff notes
+@cindex notes, cross-staff
+@cindex cross-staff stems
+@cindex stems, cross-staff
+
 Chords that cross staves may be produced by increasing the length
 of the stem in the lower staff, so it reaches the stem in the upper
 staff, or vice versa.
 
 @lilypond[ragged-right,verbatim,quote]
-stemExtend = {
-  \once \override Stem #'length = #10
-  \once \override Stem #'cross-staff = ##t
-}
-noFlag = \once \override Stem #'flag-style = #'no-flag
 \new PianoStaff <<
-  \new Staff {
-    \stemDown \stemExtend
-    f'4
-    \stemExtend \noFlag
-    f'8
+  \new Staff \relative c' {
+    f8 e4 d8 <f bes,>2
   }
-  \new Staff {
-    \clef bass
-    a4 a8
+  \new Staff \relative c' {
+    << {
+      \clef bass
+      \stemUp
+      \override Stem #'length = #12
+      \override Stem #'cross-staff = ##t
+      \override Stem #'flag-style = #'no-flag
+      a8 g4 f8
+    } \\
+    { f,2 d' }
+    >>
   }
 >>
 @end lilypond
 
+@snippets
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
+
+@seealso
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{Stem}
+
 @node Piano
 @subsection Piano
 
+FIXME add sentence
+
 @menu
 * Piano pedals::
 @end menu
@@ -258,7 +378,7 @@ c'4\sustainDown c'4\sustainUp
 What is printed can be modified by setting @code{pedal@var{X}Strings},
 where @var{X} is one of the pedal types: @code{Sustain},
 @code{Sostenuto} or @code{UnaCorda}.  Refer to
-@internalsref{SustainPedal} in the program reference for more
+@rinternals{SustainPedal} in the program reference for more
 information.
 
 Pedals can also be indicated by a sequence of brackets, by setting the
@@ -293,7 +413,7 @@ c\sostenutoDown d e c, f g a\sostenutoUp
 For fine-tuning the appearance of a pedal bracket, the properties
 @code{edge-width}, @code{edge-height}, and @code{shorten-pair} of
 @code{PianoPedalBracket} objects (see
-@internalsref{PianoPedalBracket} in the Internals Reference) can be
+@rinternals{PianoPedalBracket} in the Internals Reference) can be
 modified.  For example, the bracket may be extended to the right edge
 of the note head
 
@@ -317,17 +437,34 @@ Notation Reference: @ref{Ties} (laissez vibrer).
 @node Accordion
 @subsection Accordion
 
+FIXME add sentence
+
 @menu
 * Discant symbols::
 @end menu
 
 @node Discant symbols
 @subsubsection Discant symbols
+@cindex accordion discant symbols
+@cindex discant symbols, accordion
+@cindex accordion shifts
 
-@c TODO Add text from -user and lsr 194
-TBC
+@c FIXME: use @notation, not @q.
 
+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 accordian maker has different names for the @q{shifts} that
+select the various reed combinations, such as @q{oboe}, @q{musette}, or
+@q{bandonium}, so a system of symbols has come into use to simplify
+the performance instructions.
 
+@snippets
 
+@c FIXME: invalid snippet name.  Check the GDP snippet list.
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@c {accordion-discant-symbols.ly}
 
+@seealso
 
+Snippets:
+@rlsr{Keyboards}.