]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/keyboards.itely
Add @endpredefined everywhere.
[lilypond.git] / Documentation / user / keyboards.itely
index b66ec6dcc3fa47e63e7a908b2a839384225adcb5..dc53ba3db28adc65a73919ec77ccc3cb49e277ea 100644 (file)
@@ -6,30 +6,33 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.11.61"
 
 
-@c Andrew's TODO List
-@c references - started
-@c piano staff - deleted, material moved to 'references'
-@c manual changes - started
-@c automatic changes
-@c staff-chagne lines
-@c cross-staff stems
-@c pedals
-@c discant symbols
+@node Keyboard and other multi-staff instruments
+@section Keyboard and other multi-staff instruments
 
 
-@node Keyboard instruments
-@section Keyboard 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::
 
 @menu
 * Common notation for keyboards::
 * Piano::
 * Accordion::
+* Harp::
 @end menu
 
 @node Common notation for keyboards
 @subsection Common notation for keyboards
 
 @end menu
 
 @node Common notation for keyboards
 @subsection Common notation for keyboards
 
+This section discusses notation issues that may arise for most
+many-stringed instruments.
+
 @menu
 * References for keyboards::
 * Changing staff manually::
 @menu
 * References for keyboards::
 * Changing staff manually::
 @end menu
 
 @node References for keyboards
 @end menu
 
 @node References for keyboards
-@subsubsection 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
+
+@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 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.
+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.  In this section we discuss
-some notation techniques particular to keyboard music.
+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:
 
 Several common issues in keyboard music are covered elsewhere:
+
 @itemize
 @itemize
-@item Keyboard music can be written in parallel with @ref{Writing music
-in parallel}.
+
+@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 Fingerings are indicated with @ref{Fingering instructions}.
+
 @item Organ pedal indications are inserted as articulations, see
 @ref{List of articulations}.
 @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 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 Arpeggio can be placed across multiple voices and staves with
-@ref{Arpeggio}.
-@item Tremolo marks are created with @ref{Tremolo repeats}.
+
+@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 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
 
 
-@snippets
-@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
-@c {creating-slurs-across-voices.ly}
+@item Hidden notes can be used to produce ties that cross voices,
+as shown in @rlearning{Other uses for tweaks}.
+
+@end itemize
 
 @seealso
 
 
 @seealso
 
@@ -83,13 +108,14 @@ Learning Manual:
 Notation Reference:
 @ref{Grouping staves},
 @ref{Instrument names},
 Notation Reference:
 @ref{Grouping staves},
 @ref{Instrument names},
+@ref{Collision resolution},
 @ref{Writing music in parallel},
 @ref{Fingering instructions},
 @ref{Writing music in parallel},
 @ref{Fingering instructions},
+@ref{List of articulations},
 @ref{Grid lines},
 @ref{Ties},
 @ref{Arpeggio},
 @ref{Grid lines},
 @ref{Ties},
 @ref{Arpeggio},
-@ref{Tremolo repeats},
-@ref{List of articulations}.
+@ref{Tremolo repeats}.
 
 Internals Reference:
 @rinternals{PianoStaff}.
 
 Internals Reference:
 @rinternals{PianoStaff}.
@@ -98,11 +124,21 @@ Snippets:
 @rlsr{Keyboards}.
 
 @knownissues
 @rlsr{Keyboards}.
 
 @knownissues
-Dynamics are not centered, but workarounds do exist.  See the
-@q{piano centered dynamics} template in @rlearning{Piano templates}.
+
+@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
 
 @node Changing staff manually
-@subsubsection Changing staff manually
+@unnumberedsubsubsec Changing staff manually
 
 @cindex changing staff manually
 @cindex manual staff changes
 
 @cindex changing staff manually
 @cindex manual staff changes
@@ -111,46 +147,52 @@ Dynamics are not centered, but workarounds do exist.  See the
 @cindex notes, cross-staff
 @cindex cross-staff beams
 @cindex beams, cross-staff
 @cindex notes, cross-staff
 @cindex cross-staff beams
 @cindex beams, cross-staff
+
 @funindex \change
 @funindex \change
+@funindex change
 
 Voices can be switched between staves manually, using the command
 
 Voices can be switched between staves manually, using the command
+
 @example
 \change Staff = @var{staffname}
 @end example
 
 @noindent
 @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 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"}.
 
 Cross-staff notes are beamed automatically:
 
 
 Cross-staff notes are beamed automatically:
 
-@lilypond[verbatim,quote,ragged-right]
+@lilypond[verbatim,quote]
 \new PianoStaff <<
   \new Staff = "up" {
     <e' c'>8
 \new PianoStaff <<
   \new Staff = "up" {
     <e' c'>8
-    \change Staff = down
-    g fis g
-    \change Staff = up
+    \change Staff = "down"
+    g8 fis g
+    \change Staff = "up"
     <g'' c''>8
     <g'' c''>8
-    \change Staff = down
-    e dis e
-    \change Staff = up
+    \change Staff = "down"
+    e8 dis e
+    \change Staff = "up"
   }
   \new Staff = "down" {
   }
   \new Staff = "down" {
-    \clef "bass"
-    s1 % keep staff alive
+    \clef bass
+    % keep staff alive
+    s1
   }
 >>
 @end lilypond
 
 If the beaming needs to be tweaked, make any changes to the stem
   }
 >>
 @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}.
+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}.
 
 @seealso
 
 @seealso
+
 Learning Manual:
 @rlearning{Fixing overlapping notation}.
 
 Learning Manual:
 @rlearning{Fixing overlapping notation}.
 
@@ -162,223 +204,376 @@ Snippets:
 @rlsr{Keyboards}.
 
 Internals Reference:
 @rlsr{Keyboards}.
 
 Internals Reference:
-@rinternals{Beam}.
+@rinternals{Beam},
+@rinternals{ContextChange}.
+
 
 @node Changing staff automatically
 
 @node Changing staff automatically
-@subsubsection Changing staff automatically
+@unnumberedsubsubsec Changing staff automatically
+
+@cindex changing staff automatically
 @cindex automatic staff changes
 @cindex staff changes, automatic
 
 @cindex automatic staff changes
 @cindex staff changes, automatic
 
-Voices can be made to switch automatically between the top and the bottom
-staff.  The syntax for this is
+@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
 
 
-@quotation
 @example
 \autochange @dots{}@var{music}@dots{}
 @end example
 @example
 \autochange @dots{}@var{music}@dots{}
 @end example
-@end quotation
 
 @noindent
 
 @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.
+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
 
 
-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
+@cindex relative music and autochange
+@cindex autochange and relative music
 
 
-@quotation
-@example
-\autochange \relative @dots{} @dots{}
-@end example
-@end quotation
+@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}.
 
 
-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
+@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
 
 @end lilypond
 
-
 @seealso
 
 @seealso
 
-Notation Reference: @ref{Changing staff manually}.
-
-Internals Reference: @rinternals{AutoChangeMusic}.
+Notation Reference:
+@ref{Changing staff manually}.
 
 
+Snippets:
+@rlsr{Keyboards}.
 
 
+Internals Reference:
+@rinternals{AutoChangeMusic}.
 
 @knownissues
 
 
 @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.
 
 The staff switches may not end up in optimal places.  For high
 quality output, staff switches should be specified manually.
 
-
-@code{\autochange} cannot be inside @code{\times}.
+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
 
 @node Staff-change lines
-@subsubsection 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 follow voice
+@cindex voice, following
 @cindex staff switching
 @cindex cross-staff
 
 @funindex followVoice
 @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.  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]
+@lilypond[quote,verbatim,relative=1]
 \new PianoStaff <<
 \new PianoStaff <<
-  \new Staff="one" {
-    \set followVoice = ##t
+  \new Staff = "one" {
+    \showStaffSwitch
     c1
     c1
-    \change Staff=two
+    \change Staff = "two"
     b2 a
   }
     b2 a
   }
-  \new Staff="two" { \clef bass \skip 1*2 }
+  \new Staff = "two" {
+    \clef bass
+    s1*2
+  }
 >>
 @end lilypond
 
 >>
 @end lilypond
 
-@seealso
-
-Internals Reference: @rinternals{VoiceFollower}.
 
 @predefined
 
 @predefined
-
-@funindex \showStaffSwitch
 @code{\showStaffSwitch},
 @code{\showStaffSwitch},
-@funindex \hideStaffSwitch
 @code{\hideStaffSwitch}.
 @code{\hideStaffSwitch}.
+@endpredefined
+
+
+@seealso
+
+Snippets:
+@rlsr{Keyboards}.
+
+Internals Reference:
+@rinternals{Note_head_line_engraver},
+@rinternals{VoiceFollower}.
+
 
 @node Cross-staff stems
 
 @node Cross-staff stems
-@subsubsection 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
 
 
-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.
+@funindex Stem
+@funindex cross-staff
+@funindex length
+@funindex flag-style
 
 
-@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
+Chords that cross staves may be produced:
+
+@lilypond[verbatim,quote]
 \new PianoStaff <<
   \new Staff {
 \new PianoStaff <<
   \new Staff {
-    \stemDown \stemExtend
-    f'4
-    \stemExtend \noFlag
-    f'8
+    \relative c' {
+      f8 e4 d8 d f e4
+    }
   }
   \new Staff {
   }
   \new Staff {
-    \clef bass
-    a4 a8
+    \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
 
   }
 >>
 @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
 
 @node Piano
 @subsection Piano
 
+This section discusses notation issues that relate most directly to the
+piano.
+
 @menu
 * Piano pedals::
 @end menu
 
 @node Piano pedals
 @menu
 * Piano pedals::
 @end menu
 
 @node Piano pedals
-@subsubsection Piano pedals
-@cindex Pedals
-
-Pianos have pedals that alter the way sound is produced.  Generally, a
-piano has three pedals, sustain, una corda, and sostenuto.
-
-
-Piano pedal instruction can be expressed by attaching
-@code{\sustainDown}, @code{\sustainUp}, @code{\unaCorda},
-@code{\treCorde}, @code{\sostenutoDown} and @code{\sostenutoUp} to a
-note or chord
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-c'4\sustainDown c'4\sustainUp
+@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
 
 @end lilypond
 
-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
-@rinternals{SustainPedal} in the program reference for more
-information.
+@cindex pedal indication styles
+@cindex pedal indication, text
+@cindex pedal indication, bracket
+@cindex pedal indication, mixed
+@cindex pedal sustain style
+@cindex sustain pedal style
 
 
-Pedals can also be indicated by a sequence of brackets, by setting the
-@code{pedalSustainStyle} property to bracket objects
+@funindex pedalSustainStyle
+@funindex mixed
+@funindex bracket
+@funindex text
 
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\set Staff.pedalSustainStyle = #'bracket
-c\sustainDown d e
-b\sustainUp\sustainDown
-b g \sustainUp a \sustainDown \bar "|."
-@end lilypond
+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.
 
 
-A third style of pedal notation is a mixture of text and brackets,
-obtained by setting the @code{pedalSustainStyle} property to
-@code{mixed}
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
+c4\sustainOn g c2\sustainOff
 \set Staff.pedalSustainStyle = #'mixed
 \set Staff.pedalSustainStyle = #'mixed
-c\sustainDown d e
-b\sustainUp\sustainDown
-b g \sustainUp a \sustainDown \bar "|."
-@end lilypond
-
-The default @q{*Ped.} style for sustain and damper pedals corresponds to
-style @code{#'text}.  The sostenuto pedal uses @code{mixed} style by
-default.
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c\sostenutoDown d e c, f g a\sostenutoUp
+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
 
 @end lilypond
 
-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
-@rinternals{PianoPedalBracket} in the Internals Reference) can be
-modified.  For example, the bracket may be extended to the right edge
-of the note head
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\override Staff.PianoPedalBracket #'shorten-pair = #'(0 . -1.0)
-c\sostenutoDown d e c, f g a\sostenutoUp
-@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 up command.
 
 
-@noindent
-Note that overrides must be placed before the note at which the 
-pedal bracket starts.
+@seealso
 
 
-@c TODO Check relative positions of the sustain pedal and
-@c      dynamics are correct (they collided in 2.11.44).
-@c      Give example showing this.
+Notation Reference:
+@ref{Ties}.
 
 
-@seealso
+Snippets:
+@rlsr{Keyboards}.
 
 
-Notation Reference: @ref{Ties} (laissez vibrer).
+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
 
 
 @node Accordion
 @subsection Accordion
 
+@cindex accordion
+
+This section discusses notation that is unique to the accordion.
+
 @menu
 * Discant symbols::
 @end menu
 
 @node Discant symbols
 @menu
 * Discant symbols::
 @end menu
 
 @node Discant symbols
-@subsubsection 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
 
 
-@c TODO Add text from -user and lsr 194
 TBC
 TBC
+
+@ignore
+Some possibilities:
+- glissandi
+- tremolo (for bisbigliando)
+- natural harmonics
+- directional arpeggio and non-arpeggio
+- workaroung for keeping both staves visible in an orchestral
+  score,
+http://lists.gnu.org/archive/html/lilypond-user/2007-08/msg00386.html
+and http://lsr.dsi.unimi.it/LSR/Item?u=1&id=312
+
+An LSR snippet could be used to demonstrate the main items; in the
+case of glissandi, it would be desirable to have a demonstration
+of different styles.
+
+@end ignore
+