X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fkeyboards.itely;h=e1db372244d4cbd3451ab3cbfdefbf71b5fa13f5;hb=db1b4bee7d0792351e368e776f197b1bca7050cb;hp=3a0760f6c600660486270c2cca1191c9ecf70e14;hpb=1a69885fc53b260b38816b4894777698afa0b314;p=lilypond.git diff --git a/Documentation/user/keyboards.itely b/Documentation/user/keyboards.itely index 3a0760f6c6..e1db372244 100644 --- a/Documentation/user/keyboards.itely +++ b/Documentation/user/keyboards.itely @@ -6,20 +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 - first pass complete -@c manual changes - first pass complete -@c automatic changes - first pass complete -@c staff-change lines - started -@c cross-staff stems -@c pedals -@c accordian 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:: @@ -29,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:: @@ -38,22 +37,31 @@ @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. +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 +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}. @@ -69,7 +77,7 @@ number of voices may change regularly; this is described in @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 +as well as ties on arpeggios and tremolos, described in @ref{Ties}. @item Placing arpeggios across multiple voices and staves is @@ -85,10 +93,6 @@ as shown in @rlearning{Other uses for tweaks}. @end itemize -@snippets -@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle] -@c {creating-slurs-across-voices.ly} - @seealso Learning Manual: @@ -98,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}. @@ -114,12 +119,20 @@ Snippets: @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 @@ -129,6 +142,7 @@ 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 @@ -138,27 +152,28 @@ Voices can be switched between staves manually, using the command @noindent The string @var{staffname} is the name of the staff. It switches -the current voice from its current staff to the Staff called +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 @@ -182,16 +197,19 @@ 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 @@ -203,19 +221,25 @@ bottom staff. The syntax for this is @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 bass clef by default. -The autochanger switches on basis of the pitch (middle C is the +@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,ragged-right] +@lilypond[quote,verbatim] \new PianoStaff { \autochange { - g4 a b c' d' r4 a g + 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}. @@ -226,198 +250,285 @@ can be created manually with the names @code{"up"} and 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] +@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 - d r fis, g a2 + d8 r fis, g a2 } } } \new Staff = "down" { \key g \major - \clef "bass" + \clef bass } >> @end lilypond @seealso -Notation Reference: @ref{Changing staff manually}. +Notation Reference: +@ref{Changing staff manually}. + +Snippets: +@rlsr{Keyboards}. -Internals Reference: @rinternals{AutoChangeMusic}. +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; the staff will be -chosen by the first note named in the chord. - +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 - -@cindex staff-change lines -@cindex cross-staff lines -@cindex lines, staff-change follower +@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, or by the shorthand commands -@code{\showStaffSwitch} and @code{\hideStaffSwitch}. +notes can be printed automatically: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[quote,verbatim,relative=1] \new PianoStaff << - \new Staff="one" { + \new Staff = "one" { \showStaffSwitch c1 - \change Staff=two + \change Staff = "two" b2 a } - \new Staff="two" { \clef bass s1*2 } + \new Staff = "two" { + \clef bass + s1*2 + } >> @end lilypond -@seealso +@predefined -Internals Reference: @rinternals{VoiceFollower}. +@code{\showStaffSwitch}, @code{\hideStaffSwitch}. -@predefined +@seealso -@funindex \showStaffSwitch -@code{\showStaffSwitch}, -@funindex \hideStaffSwitch -@code{\hideStaffSwitch}. +Snippets: +@rlsr{Keyboards}. +Internals Reference: +@rinternals{Note_head_line_engraver}, +@rinternals{VoiceFollower}. -@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. +@node Cross-staff stems +@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 2 + } } \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 + a8 g4 f8 + } + \\ + { + f,2 d' + } >> + } } >> @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 -@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 "|." +@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 -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. + +@snippets -@c TODO Add text from -user and lsr 194 -TBC +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{accordion-discant-symbols.ly} + +@seealso + +Snippets: +@rlsr{Keyboards}.