]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/basic-notation.itely
Merge branch 'master' of git://git.sv.gnu.org/lilypond
[lilypond.git] / Documentation / user / basic-notation.itely
index 359f592f139f404d548b34de6205aa5bebadb304..aeeb5ed9d4cb5d9ca4f2deaa58eb6596e9dad886 100644 (file)
@@ -92,20 +92,21 @@ octave specifications (@code{'} and @code{,}).  See
 @cindex note names, default
 
 A sharp is formed by adding @code{-is} to the end of a pitch name and
-a flat is formed by adding @code{-es}
+a flat is formed by adding @code{-es}.  Double sharps and double flats
+are obtained by adding @code{-isis} or @code{-eses} to a note name.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 a2 ais a aes
+a2 aisis a aeses
 @end lilypond
 
-Double sharps and double flats
-are obtained by adding @code{-isis} or @code{-eses} to a note name.  These
-are the Dutch note names.  In Dutch, @code{aes} is contracted to
+@noindent
+These are the Dutch note names.  In Dutch, @code{aes} is contracted to
 @code{as}, but both forms are accepted.  Similarly, both
 @code{es} and @code{ees} are accepted
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-a2 aisis a aeses
+a2 as e es
 @end lilypond
 
 A natural will cancel the effect of an accidental or key signature.
@@ -282,6 +283,7 @@ Here is the relative mode shown in action
 @end lilypond
 
 Octave changing marks are used for intervals greater than a fourth
+
 @lilypond[quote,ragged-right,fragment,verbatim]
 \relative c'' {
   c g c f, c' a, e''
@@ -299,7 +301,7 @@ to determine the first note of the next chord
 }
 @end lilypond
 
-The pitch after the @code{\relative} contains a note name.
+The pitch after @code{\relative} contains a note name.
 
 The relative conversion will not affect @code{\transpose},
 @code{\chordmode} or @code{\relative} sections in its argument.  To use
@@ -333,11 +335,13 @@ There is also an octave check that produces no visible output.  The syntax
 @end example
 
 This checks that @var{pitch} (without quotes) yields @var{pitch} (with
-quotes) in @code{\relative} mode.  If not, a warning is printed, and the
+quotes) in @code{\relative} mode compared to the note given in the
+@code{\relative} command.  If not, a warning is printed, and the
 octave is corrected.  The @var{pitch} is not printed as a note.
 
 In the example below, the first check passes without incident, since
-the @code{e} (in relative mode) is within a fifth of @code{a'}.  However,
+the @code{e} (in @code{relative} mode) is within a fifth of
+@code{a'}.  However,
 the second check produces a warning, since the @code{e} is not within
 a fifth of @code{b'}.  The warning message is printed, and the octave
 is adjusted so that the following notes are in the correct octave
@@ -439,12 +443,14 @@ existing music with another @code{transpose}
 
 Program reference: @internalsref{TransposedMusic}.
 
+Example: @inputfileref{input/@/test,smart@/-transpose@/.ly}.
+
 
 @refbugs
 
 If you want to use both @code{\transpose} and @code{\relative},
 you must put @code{\transpose} outside of @code{\relative}, since
-@code{\relative} will have no effect music that appears inside a
+@code{\relative} will have no effect on music that appears inside a
 @code{\transpose}.
 
 
@@ -558,8 +564,8 @@ In Note, Chord, and Lyrics mode, durations are designated by numbers and
 dots: durations are entered as their reciprocal values.  For example, a
 quarter note is entered using a @code{4} (since it is a 1/4 note), while
 a half note is entered using a @code{2} (since it is a 1/2 note).  For
-notes longer than a whole you must use the variables @code{\longa} and
-@code{\breve}
+notes longer than a whole you must use the @code{\longa} and
+@code{\breve} commands
 
 @example
 c'\breve
@@ -580,6 +586,11 @@ r1 r2 r4 r8 r16 r32 r64 r64
   }
   \layout {
     ragged-right = ##t
+    indent=0\mm
+    \context {
+      \Score
+        \remove "Bar_number_engraver"
+    }
     \context {
       \Staff
         \remove "Clef_engraver"
@@ -658,7 +669,7 @@ g'4 \times 2/3 {c'4 c' c'} d'4 d'4
 Tuplets may be nested, for example,
 
 @lilypond[fragment,ragged-right,verbatim,relative=2]
-\set tupletNumberFormatFunction = #fraction-tuplet-formatter
+\override TupletNumber #'text = #tuplet-number::calc-fraction-text
 \times 4/6 {
   a4 a
   \times 3/5 { a a a a a }
@@ -695,11 +706,10 @@ used once
 For more information about @code{make-moment}, see
 @ref{Time administration}.
 
-The format of the number is determined by the property
-@code{tupletNumberFormatFunction}.  The default prints only the
-denominator, but if it is set to the Scheme function
-@code{fraction-tuplet-formatter}, @var{num}:@var{den} will be printed
-instead.
+The format of the number is determined by the property @code{text} in
+@code{TupletNumber}.  The default prints only the denominator, but if
+it is set to the function @code{tuplet-number::calc-fraction-text},
+@var{num}:@var{den} will be printed instead.
 
 To avoid printing tuplet numbers, use
 
@@ -709,6 +719,26 @@ To avoid printing tuplet numbers, use
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
 @end lilypond
 
+Tuplet brackets can be made to run to prefatory matter or
+the next note
+
+@lilypond[ragged-right]
+\new RhythmicStaff {
+  \set tupletFullLength = ##t
+  \time 4/4
+  \times 4/5 {
+    c4 c1
+  }
+  \set tupletFullLengthNote = ##t
+  \time 2/4
+  \times 2/3 {
+    c4 c c 
+  }
+  \time 3/4
+  c4 
+}
+@end lilypond
+
 
 @seealso
 
@@ -823,6 +853,10 @@ ties.  One of its uses is to debug complex scores: if the measures are
 not entirely filled, then the ties exactly show how much each measure
 is off.
 
+If you want to allow line breaking on the bar lines where
+@internalsref{Completion_heads_engraver} splits notes, you must
+also remove @internalsref{Forbid_line_breaks_engraver}.
+
 
 @refbugs
 
@@ -864,8 +898,8 @@ one voice on the same staff.
 
 @cindex Chords
 
-A chord is formed by a enclosing a set of pitches in @code{<} and
-@code{>}.  A chord may be followed by a duration, and a set of
+A chord is formed by a enclosing a set of pitches between @code{<}
+and @code{>}.  A chord may be followed by a duration, and a set of
 articulations, just like simple notes
 
 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
@@ -1106,6 +1140,10 @@ Similarly, you can merge half note heads with eighth notes, by setting
 c8 c4. } \\ { c2 c2 } >>
 @end lilypond
 
+@noindent
+@code{merge-differently-headed} and @code{merge-differently-dotted}
+only apply to opposing stem directions (ie. Voice 1 & 2).
+
 LilyPond also vertically shifts rests that are opposite of a stem,
 for example
 
@@ -1303,6 +1341,8 @@ possibilities when setting properties manually.
 
 @seealso
 
+Manual: @ref{Grace notes}.
+
 Program reference: @internalsref{Clef}.
 
 
@@ -1513,6 +1553,10 @@ g4
 a2 g2
 @end lilypond
 
+@code{\partial} is only intended to be used at the beginning of a
+piece.  If you use it after the beginning, some odd warnings may
+occur.
+
 
 @node Bar lines
 @subsection Bar lines
@@ -1549,11 +1593,12 @@ To allow a line break where there is no visible bar line, use
 
 @noindent
 This will insert an invisible bar line and allow line breaks at this
-point.
+point (without increasing the bar number counter).
 
 In scores with many staves, a @code{\bar} command in one staff is
 automatically applied to all staves.  The resulting bar lines are
-connected between different staves of a StaffGroup
+connected between different staves of a @code{StaffGroup},
+@code{PianoStaff}, or @code{ChoirStaff}.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 <<
@@ -1597,8 +1642,6 @@ In this manual: @ref{Repeats}, @ref{System start delimiters}.
 Program reference: @internalsref{BarLine} (created at
 @internalsref{Staff} level), @internalsref{SpanBar} (across staves).
 
-Examples: @inputfileref{input/@/test,bar@/-lines@/.ly},
-
 
 @node Unmetered music
 @subsection Unmetered music
@@ -1704,7 +1747,25 @@ The bar lines at the start of each system are
 @internalsref{SystemStartBar}, @internalsref{SystemStartBrace}, and
 @internalsref{SystemStartBracket}.  Only one of these types is created
 in every context, and that type is determined by the property
-@code{systemStartDelimiter}.
+@internalsref{systemStartDelimiter}.
+
+
+@commonprop
+
+System start delimiters may be deeply nested,
+
+@lilypond[quote,ragged-right,verbatim]
+\new StaffGroup 
+\relative <<
+  \set StaffGroup.systemStartDelimiterHierarchy
+    = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+>>
+@end lilypond
 
 
 @node Staff symbol
@@ -1715,7 +1776,7 @@ in every context, and that type is determined by the property
 Notes, dynamic signs, etc., are grouped
 with a set of horizontal lines, called a staff (plural `staves').  In
 LilyPond, these lines are drawn using a separate layout object called
-staff symbol.
+@code{staff symbol}.
 
 The staff symbol may be tuned in the number, thickness and distance
 of lines, using properties.  This is demonstrated in the example files
@@ -1736,8 +1797,7 @@ b b
 @end lilypond
 
 In combination with Frenched staves, this may be used to typeset ossia
-sections. An example is in @inputfileref{input/@/test@/,ossia.ly},
-shown here
+sections. An example is shown here
 
 @cindex ossia
 
@@ -1779,6 +1839,47 @@ Music for multiple parts can be interleaved
 >>
 @end lilypond
 
+This works quite well for piano music
+
+@lilypond[quote,verbatim]
+music = {
+  \key c \major
+  \time 4/4
+  \parallelMusic #'(voiceA voiceB voiceC voiceD) {
+    % Bar 1
+    r8  g'16[ c''] e''[ g' c'' e''] r8  g'16[ c''] e''[ g' c''
+e''] |
+    c'2                                 c'2 |
+    r8  a16[ d'] f'[ a d' f']       r8  a16[ d'] f'[ a d' f'] |
+    c2                                  c2 |
+
+    % Bar 2
+    a'8 b'      c'' d''    e'' f''    g'' a'' |
+    d'4         d'         d'         d' |
+    c16 d e f   d e f g    e f g a    f g a b |
+    a,4         a,4        a,4        a,4 |
+
+    % Bar 3 ...
+  }
+}
+
+\score {
+  \new PianoStaff <<
+    \music
+    \new Staff <<
+      \voiceA \\
+      \voiceB
+    >>
+    \new Staff {
+      \clef bass
+      <<
+        \voiceC \\
+        \voiceD
+      >>
+    }
+  >>
+}
+@end lilypond
 
 
 @node Connecting notes
@@ -1813,7 +1914,12 @@ e' ~ e' <c' e' g'> ~ <c' e' g'>
 @end lilypond
 
 When a tie is applied to a chord, all note heads whose pitches match
-are connected.  When no note heads match, no ties will be created.
+are connected.  When no note heads match, no ties will be created.  Chords
+may be partially tied by placing the tie inside the chord,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+<c~ e g~ b> <c e g b>
+@end lilypond
 
 A tie is just a way of extending a note duration, similar to the
 augmentation dot.  The following example shows two ways of notating
@@ -1839,6 +1945,8 @@ automatic note splitting (see @ref{Automatic note splitting}).  This
 mechanism automatically splits long notes, and ties them across bar
 lines.
 
+@funindex \repeatTie
+
 When a second alternative of a repeat starts with a tied note, you
 have to repeat the tie. This can be achieved with @code{\repeatTie},
 
@@ -1856,10 +1964,23 @@ notes need not be consecutive.  This can be achieved by setting the
 @code{tieWaitForNote} property to true. The same feature is also useful,
 for example, to tie a tremolo to a chord. For example,
 
-@lilypond[fragment,verbatim,relative=1,ragged-right]
+@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
 \set tieWaitForNote = ##t
 \grace { c16[~ e~ g]~ } <c, e g>2
 \repeat "tremolo" 8 { c32~ c'~ } <c c,>1
+e8~ c~ a~ f~ <e' c a f>2
+@end lilypond
+
+Ties may be engraved manually by changing the @code{tie-configuration}
+property.  The first number indicates the distance from the center
+of the staff in staff-spaces, and the second number indicates the
+direction (1=up, -1=down).
+
+@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
+<c e g>2~ <c e g> |
+\override TieColumn #'tie-configuration =
+  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
+<c e g>~ <c e g> |
 @end lilypond
 
 
@@ -1897,6 +2018,9 @@ Examples:
 
 Switching staves when a tie is active will not produce a slanted tie.
 
+Changing clefs or octavations during a tie is not really
+well-defined.  In these cases, a slur may be preferable.
+
 
 @node Slurs
 @subsection Slurs
@@ -2236,6 +2360,7 @@ A @code{\grace} section will introduce special typesetting settings,
 for example, to produce smaller type, and set directions.  Hence, when
 introducing layout tweaks, they should be inside the grace section,
 for example,
+
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Voice {
   \acciaccatura {
@@ -2252,8 +2377,8 @@ The overrides should also be reverted inside the grace section.
 
 The layout of grace sections can be changed throughout the music using
 the function @code{add-grace-property}.  The following example
-undefines the Stem direction for this grace, so stems do not always
-point up.
+undefines the @code{Stem} direction for this grace, so
+that stems do not always point up.
 
 @example
 \new Staff @{
@@ -2273,6 +2398,30 @@ Another option is to change the variables @code{startGraceMusic},
 The slash through the stem in acciaccaturas can be obtained
 in other situations by @code{\override Stem  #'stroke-style = #"grace"}.
 
+
+@commonprop
+
+Grace notes may be forced to use floating spacing,
+
+@lilypond[relative=2,ragged-right]
+<<
+  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+  \new Staff {
+     c'4
+     \afterGrace
+     c'4
+     { c'16[ c'8 c'16] }
+     c'4
+  }  
+  \new Staff {
+     c'16[ c'16 c'16 c'16]
+     c'16[ c'16 c'16 c'16]
+     c'4
+  }
+>>
+@end lilypond
+
+
 @seealso
 
 Program reference: @internalsref{GraceMusic}.
@@ -2321,6 +2470,7 @@ notes and rhythms.
 * Trills::                      
 * Glissando::                   
 * Arpeggio::                    
+* Falls and doits::             
 @end menu
 
 
@@ -2533,8 +2683,16 @@ c\< c\! d\> e\!
 @end lilypond
 
 @noindent
-A hairpin starts at the left edge of the beginning note and ends on the
-right edge of the ending note.
+A hairpin normally starts at the left edge of the beginning note
+and ends on the right edge of the ending note.  If the ending
+note falls on the downbeat, the hairpin ends on the immediately
+preceding barline. This may be modified by setting the
+@code{hairpinToBarline} property,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\set hairpinToBarline = ##f
+c4\< c2. c4\!
+@end lilypond
 
 In some situations the @code{\espressivo} articulation mark may
 be suitable to indicate a crescendo and decrescendo on the one note,
@@ -2548,14 +2706,27 @@ in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
 example
 
 @example
-\override Staff.Hairpin #'minimum-length = #5
+\override Voice.Hairpin #'minimum-length = #5
 @end example
 
+@cindex al niente
+@cindex niente, al
+
+Hairpins may be printed with a circled tip (al niente notation) by
+setting the @code{circled-tip} property,
+
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+\override Hairpin #'circled-tip = ##t
+c2\< c\!
+c4\> c\< c2\!
+@end lilypond
+
+
 @cindex crescendo
 @cindex decrescendo
 @cindex diminuendo
 
-You can also use text saying @emph{cresc.} instead of hairpins
+You can also use text saying @emph{cresc.} instead of hairpins
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \setTextCresc
@@ -2600,7 +2771,8 @@ new line are not printed.  To change this behavior, use
 \override Score.Hairpin #'after-line-breaking = ##t
 @end example
 
-Text style dynamic changes (such as cresc. and dim.) are printed with a
+Text style dynamic changes (such as @emph{cresc.} and @emph{dim.})
+are printed with a
 dashed line showing their extent.  To surpress printing this line, use
 
 @example
@@ -2675,7 +2847,7 @@ Long running trills are made with @code{\startTrillSpan} and
 Trills that should be executed on an explicitly specified pitch can be
 typeset with the command @code{pitchedTrill},
 
-@lilypond[ragged-right,verbatim,fragment,relative=1]
+@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
 \pitchedTrill c4\startTrillSpan fis
 f\stopTrillSpan
 @end lilypond
@@ -2802,7 +2974,17 @@ It is not possible to mix connected arpeggios and unconnected
 arpeggios in one @internalsref{PianoStaff} at the same point in time.
 
 
+@node Falls and doits
+@subsection Falls and doits
+
+Falls and doits can be added to notes using the @code{\bendAfter}
+command,
 
+@lilypond[fragment,ragged-right,relative=2]
+\override Score.SpacingSpanner #'shortest-duration-space = #3.0
+c4-\bendAfter #+5
+c4-\bendAfter #-3
+@end lilypond
 
 
 @node Repeats
@@ -2842,12 +3024,6 @@ printed, left to right with brackets.  This is the standard notation
 for repeats with alternatives.  These are not played in MIDI output by
 default.
 
-@ignore
-@item fold
-Alternative endings are written stacked.  This has limited use but may be
-used to typeset two lines of lyrics in songs with repeats, see
-@inputfileref{input,star-spangled-banner@/.ly}.
-@end ignore
 
 @item tremolo
 Make tremolo beams.  These are not played in MIDI output by default.
@@ -2855,7 +3031,7 @@ Make tremolo beams.  These are not played in MIDI output by default.
 @item percent
 Make beat or measure repeats.  These look like percent signs.  These
 are not played in MIDI output by default.  Percent repeats must be
-declared within a Voice context.
+declared within a @code{Voice} context.
 
 @end table
 
@@ -2887,6 +3063,7 @@ give enough alternatives for all of the repeats, the first alternative
 is assumed to be played more than once.
 
 Standard repeats are used like this
+
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
 \repeat volta 2 { c4 d e f }
@@ -2894,14 +3071,15 @@ c1
 @end lilypond
 
 With alternative endings
+
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
 \repeat volta 2 {c4 d e f}
 \alternative { {d2 d} {f f,} }
 @end lilypond
 
-In this example, the first ending is not a complete bar (it
-only had 3 beats).  The beginning of the second ending
+In the following example, the first ending is not a complete
+bar (it only had 3 beats).  The beginning of the second ending
 contains the 4th beat from the first ending.  This ``extra''
 beat in the second ending is due to the first time ending,
 and has nothing to do with the @code{\partial} at the
@@ -2915,6 +3093,16 @@ beginning of the example.
 }
 @end lilypond
 
+@funindex \repeatTie
+
+Ties may be added to a second ending,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+c1
+\repeat volta 2 {c4 d e f ~ }
+\alternative { {f2 d} {f\repeatTie f,} }
+@end lilypond
+
 It is possible to shorten volta brackets
 by setting @code{voltaSpannerDuration}.  In the next example, the
 bracket only lasts one measure, which is a duration of 3/4.
@@ -2959,10 +3147,12 @@ having the @code{\alternative} belong to the inner @code{\repeat}.
 For clarity, it is advisable to use braces in such situations.
 
 Timing information is not remembered at the start of an alternative,
-so after a repeat timing information must be reset by hand, for
-example by setting @code{Score.measurePosition} or entering
+so after a repeat timing information must be reset by hand; for
+example, by setting @code{Score.measurePosition} or entering
 @code{\partial}.  Similarly, slurs or ties are also not repeated.
 
+Volta brackets are not vertically aligned.
+
 
 @node Repeats and MIDI
 @subsection Repeats and MIDI
@@ -2972,7 +3162,7 @@ example by setting @code{Score.measurePosition} or entering
 
 With a little bit of tweaking, all types of repeats can be present
 in the MIDI output.  This is achieved by applying the
-@code{\unfoldRepeats} music function.  This functions changes all
+@code{\unfoldRepeats} music function.  This function changes all
 repeats to unfold repeats.
 
 @lilypond[quote,verbatim,fragment,line-width=8.0\cm]
@@ -2988,8 +3178,8 @@ repeats to unfold repeats.
 \bar "|."
 @end lilypond
 
-When creating a score file using @code{\unfoldRepeats} for midi, then
-it is necessary to make two @code{\score} blocks.  One for MIDI (with
+When creating a score file using @code{\unfoldRepeats} for MIDI,
+it is necessary to make two @code{\score} blocks: one for MIDI (with
 unfolded repeats) and one for notation (with volta, tremolo, and
 percent repeats).  For example,
 
@@ -3144,10 +3334,10 @@ on the @code{countPercentRepeats} property,
 
 
 
-Isolated percents can also be printed. This is done by putting a multi
-measure rest with a different print function,
+Isolated percents can also be printed. This is done by putting a
+multi-measure rest with a different print function,
 
-@lilypond[fragment,verbatim]
+@lilypond[fragment,verbatim,quote]
 \override MultiMeasureRest #'stencil
   = #ly:multi-measure-rest::percent
 R1