@c \version "2.11.38"
-@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
+@c "I have finished the first draft." -AH
@node Keyboard instruments
@section Keyboard instruments
+@lilypondfile[quote]{keyboard-headword.ly}
+
+FIXME add sentence
+
@menu
* Common notation for keyboards::
* Piano::
@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::
@node References for keyboards
@subsubsection References for keyboards
-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 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.
+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 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 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 Arpeggios can be placed across multiple voices and staves with
-@ref{Arpeggios}.
-@item Tremelo marks are created with @ref{Tremelo repeats}.
+
+@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}.
+
+@item Hidden notes can be used to produce ties that cross voices,
+as shown in @rlearning{Other uses for tweaks}.
+
@end itemize
-@snippets
+@c @snippets
@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
@c {creating-slurs-across-voices.ly}
Notation Reference:
@ref{Grouping staves},
-@ref{Instrument Names},
+@ref{Instrument names},
@ref{Writing music in parallel},
@ref{Fingering instructions},
@ref{Grid lines},
@ref{Ties},
-@ref{Arpeggios},
-@ref{Tremelo repeats},
+@ref{Arpeggio},
+@ref{Tremolo repeats},
@ref{List of articulations}.
Internals Reference:
@rlsr{Keyboards}.
@knownissues
-Dynamics are not centered, but workarounds do exist. See the
-@q{piano centered dynamics} template in @rlearning{Piano templates}.
+
+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 add dynamics
+normally and then increase their staff-paddingm as discussed in
+@rlearning{Moving objects}.
@node Changing staff manually
@subsubsection Changing staff manually
@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 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:
\change Staff = up
}
\new Staff = "down" {
- \clef "bass"
+ \clef bass
s1 % keep staff alive
}
>>
@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
+
Learning Manual:
@rlearning{Fixing overlapping notation}.
Internals Reference:
@rinternals{Beam}.
+
@node Changing staff automatically
@subsubsection Changing staff automatically
+
+@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
+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
-Notation Reference: @ref{Changing staff manually}.
-
-Internals Reference: @rinternals{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
-
@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: @rinternals{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
@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
+@cindex piano pedals
+@cindex pedals, piano
+@cindex sustain pedal
+@cindex sostenuto pedal
+@cindex una corde
+@cindex tre corde
+@funindex \sustainDown
+@funindex \sustainUp
+@funindex \sostenutoDown
+@funindex \sostenutoUp
+@funindex \unaCorda
+@funindex \treCorde
+
+Pianos generally have three pedals that alter the way sound is
+produced: @notation{sustain}, @notation{sostenuto}
+(@notation{sos.}), and @notation{una corde} (@notation{U.C.}).
+Sustain pedals are also found on vibraphones and celestas.
+
+FIXME: see policy for allowed lilypond[] options.
+(ie use [relative=2])
@lilypond[quote,ragged-right,fragment,verbatim]
-c'4\sustainDown c'4\sustainUp
-@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.
-
-Pedals can also be indicated by a sequence of brackets, by setting the
-@code{pedalSustainStyle} property to bracket objects
-
-@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
-
-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]
-\set Staff.pedalSustainStyle = #'mixed
-c\sustainDown d e
-b\sustainUp\sustainDown
-b g \sustainUp a \sustainDown \bar "|."
+\relative c' {
+ c4\sustainDown d e g
+ <c, f a>1\sustainUp
+ c4\sostenutoDown e g c,
+ <bes d f>1\sostenutoUp
+ c4\unaCorda d e g
+ <d fis a>1\treCorde
+}
@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.
+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,ragged-right,fragment,verbatim,relative=2]
-c\sostenutoDown d e c, f g a\sostenutoUp
+@lilypond[quote,ragged-right,fragment,verbatim]
+\relative c'' {
+ c4\sustainDown g c2\sustainUp
+ \set Staff.pedalSustainStyle = #'mixed
+ c4\sustainDown g c d
+ d\sustainUp\sustainDown g, c2\sustainUp
+ \set Staff.pedalSustainStyle = #'bracket
+ c4\sustainDown g c d
+ d\sustainUp\sustainDown g, c2
+ \bar "|."
+}
@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 barline
+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{SostenutoPedal},
+@rinternals{SostenutoPedalLineSpanner},
+@rinternals{UnaCordaPedal},
+@rinternals{UnaCordaPedalLineSpanner},
+@rinternals{PianoPedalBracket},
+@rinternals{Piano_pedal_engraver}.
@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 FIXME: use @notation, not @q.
+@c FIXME: you might want to submit some of these terms to the MG.
+@c If so, send an email to Kurt about this.
+
+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 TODO Add text from -user and lsr 194
-TBC
+@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}.