X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fkeyboards.itely;h=ac09c8fab8f66c2caac2eeb49e2bc2d2dea40ebf;hb=def21b306e2b8fa2d5630fab0878e9922e197f0c;hp=b66ec6dcc3fa47e63e7a908b2a839384225adcb5;hpb=9d9e2e5637e06d98245c3395b58207ec173e7e7d;p=lilypond.git diff --git a/Documentation/user/keyboards.itely b/Documentation/user/keyboards.itely index b66ec6dcc3..ac09c8fab8 100644 --- a/Documentation/user/keyboards.itely +++ b/Documentation/user/keyboards.itely @@ -6,21 +6,16 @@ version that you are working on. See TRANSLATION for details. @end ignore -@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 \version "2.11.51" @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. + @menu * Common notation for keyboards:: * Piano:: @@ -30,6 +25,9 @@ @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:: @@ -39,40 +37,61 @@ @end menu @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. - -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. +@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 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 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 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 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 @@ -83,13 +102,14 @@ Learning Manual: 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}, -@ref{List of articulations}. +@ref{Tremolo repeats}. Internals Reference: @rinternals{PianoStaff}. @@ -98,11 +118,21 @@ Snippets: @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 -@subsubsection Changing staff manually +@unnumberedsubsubsec Changing staff manually @cindex changing staff manually @cindex manual staff changes @@ -112,45 +142,50 @@ Dynamics are not centered, but workarounds do exist. See the @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 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: -@lilypond[verbatim,quote,ragged-right] +@lilypond[verbatim,quote] \new PianoStaff << \new Staff = "up" { 8 - \change Staff = down - g fis g - \change Staff = up + \change Staff = "down" + g8 fis g + \change Staff = "up" 8 - \change Staff = down - e dis e - \change Staff = up + \change Staff = "down" + e8 dis e + \change Staff = "up" } \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 -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}. @@ -162,223 +197,339 @@ Snippets: @rlsr{Keyboards}. Internals Reference: -@rinternals{Beam}. +@rinternals{Beam}, +@rinternals{ContextChange}. + @node Changing staff automatically -@subsubsection 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 +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 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 -@quotation -@example -\autochange \relative @dots{} @dots{} -@end example -@end quotation +@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}. -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 - @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 +@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. - -@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 -@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 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 Staff="one" { - \set followVoice = ##t + \new Staff = "one" { + \showStaffSwitch c1 - \change Staff=two + \change Staff = "two" b2 a } - \new Staff="two" { \clef bass \skip 1*2 } + \new Staff = "two" { + \clef bass + s1*2 + } >> @end lilypond +@predefined + +@code{\showStaffSwitch}, @code{\hideStaffSwitch}. + @seealso -Internals Reference: @rinternals{VoiceFollower}. +Snippets: +@rlsr{Keyboards}. -@predefined +Internals Reference: +@rinternals{Note_head_line_engraver}, +@rinternals{VoiceFollower}. -@funindex \showStaffSwitch -@code{\showStaffSwitch}, -@funindex \hideStaffSwitch -@code{\hideStaffSwitch}. @node Cross-staff stems -@subsubsection Cross-staff stems - -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. +@unnumberedsubsubsec Cross-staff stems -@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 +@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 { - \stemDown \stemExtend - f'4 - \stemExtend \noFlag - f'8 + \relative c' { + f8 e4 d8 d f e4 + } } \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 +@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 -@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 sostenuto pedal +@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 +1\sustainOff +c4\sostenutoOn e g c, +1\sostenutoOff +c4\unaCorda d e g +1\treCorde @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] +@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 -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 -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 +@cindex accordion + +This section discusses notation that is unique to the accordion. + @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. -@c TODO Add text from -user and lsr 194 -TBC +@snippets + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{accordion-discant-symbols.ly} + +@seealso + +Snippets: +@rlsr{Keyboards}.