Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.11"
+@c \version "2.19.2"
@node Rhythms
@section Rhythms
a a a2 a a4 a a1 a
@end lilypond
+Durations occuring on their own within a music sequence will take
+their pitches from the preceding note or chord.
+
+@lilypond[quote,verbatim,relative=2]
+\time 8/1
+c \longa \breve 1 2
+4 8 16 32 64 128 128
+@end lilypond
+
@cindex notes, dotted
@cindex dotted notes
@cindex notes, double-dotted
normally allowed for@tie{}2:
@lilypond[quote,verbatim,relative=2]
-a2 \tuplet 3/2 { b4 b b }
+a2 \tuplet 3/2 { b4 4 4 }
c4 c \tuplet 3/2 { b4 a g }
@end lilypond
should be tied to the following note, which must be at the same pitch.
@lilypond[quote,verbatim,relative=2]
-a2~ a4~ a16 r r8
+a2~ 4~ 16 r r8
+@end lilypond
+
+Ties can make use of the @q{last explicit pitch} interpretation of
+isolated durations:
+
+@lilypond[quote,verbatim,relative=2]
+a2~ 4~ 16 r r8
@end lilypond
Ties are used either when the note crosses a bar line, or when
@lilypond[verbatim,quote]
\relative c' {
- r8 c~ c2 r4 |
- r8^"not" c2~ c8 r4
+ r8 c~ 2 r4 |
+ r8^"not" c2~ 8 r4
}
@end lilypond
the chord.
@lilypond[quote,verbatim,relative=1]
-<c e g>~ <c e g c>
+<c e g>2 ~ 2
+<c e g>4~ <c e g c>
<c~ e g~ b> <c e g b>
@end lilypond
@lilypond[quote, verbatim, relative=1]
\tieDotted
-c2~ c
+c2~ 2
\tieDashed
-c2~ c
+c2~ 2
\tieHalfDashed
-c2~ c
+c2~ 2
\tieHalfSolid
-c2~ c
+c2~ 2
\tieSolid
-c2~ c
+c2~ 2
@end lilypond
Custom dash patterns can be specified:
@lilypond[quote, verbatim, relative=1]
\tieDashPattern #0.3 #0.75
-c2~ c
+c2~ 2
\tieDashPattern #0.7 #1.5
-c2~ c
+c2~ 2
\tieSolid
-c2~ c
+c2~ 2
@end lilypond
Dash pattern definitions for ties have the same structure as dash
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature.stencil = ##f
+ \omit Staff.TimeSignature
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
described in @ref{Setting automatic beam behavior}.
@end enumerate
-The context containing @code{\overrideTimeSignatureSettings} must
-be instantiated before the @code{\overrideTimeSignatureSettings}
-call is executed. That means it must either be explicitly
-instantiated or there must be music in the context before the
-@code{\overrideTimeSignatureSettings} call:
-
-@lilypond[quote,verbatim]
-\score {
- \relative c' {
- % This call will fail because the context isn't yet instantiated
- \overrideTimeSignatureSettings
- 4/4 % timeSignatureFraction
- 1/4 % baseMomentFraction
- #'(3 1) % beatStructure
- #'() % beamExceptions
- \time 4/4
- c8^\markup {"Beamed (2 2)"}
- \repeat unfold 7 { c8 } |
- % This call will succeed
- \overrideTimeSignatureSettings
- 4/4 % timeSignatureFraction
- 1/4 % baseMomentFraction
- #'(3 1) % beatStructure
- #'() % beamExceptions
- \time 4/4
- c8^\markup {"Beamed (3 1)"}
- \repeat unfold 7 { c8 } |
- }
-}
-@end lilypond
-
@cindex time signature properties, restoring default values
@cindex restoring default properties for time signatures
Metronome marks may also be printed as a range of two numbers:
@lilypond[verbatim,quote,relative=1]
-\tempo 4 = 40 ~ 46
+\tempo 4 = 40 - 46
c4. e8 a4 g
b,2 d4 r
@end lilypond
restores the default behavior of ignoring tempo marks
for horizontal spacing.
-@lilypond[quote,relative=0]
+@lilypond[verbatim,quote,relative=0]
\compressFullBarRests
\markLengthOn
\tempo "Molto vivace"
R1*12
\tempo "Meno mosso"
R1*16
+\markLengthOff
+\tempo "Tranquillo"
+R1*20
@end lilypond
@snippets
e8 | a4 c8 b c4 |
@end lilypond
-The property @code{measurePosition} contains a rational number, which
-is usually positive and indicates how much of the measure has passed
-at this point. The @code{\partial @var{duration}} command sets it to
-a negative number, when it has a different meaning: it then says that
-the current (first) bar will be @emph{preceded} by a bar 0 (the partial
-bar) with a duration given by @var{duration}.
+The property @code{measurePosition} contains a rational number,
+which is usually positive and indicates how much of the measure
+has passed at this point. @code{\partial @var{duration}} is
+defined such that no numbered bar gets created: when used at the
+beginning of a measure, @code{measurePosition} is set to a
+negative number, implying that the current bar will be
+@emph{preceded} by additional material. When used after a measure
+has already started, however, it moves the requested distance
+before the @emph{end} of the bar.
+
+@lilypond[quote,verbatim,relative=1]
+\set Score.barNumberVisibility = #all-bar-numbers-visible
+\override Score.BarNumber.break-visibility =
+ #end-of-line-invisible
+\time 6/8
+\partial 8
+e8 | a4 c8 b[ c b] |
+\partial 4
+r8 e,8 | a4 \bar "||"
+\partial 4
+r8 e8 | a4
+c8 b[ c b] |
+@end lilypond
+
@seealso
Music Glossary:
Internal Reference:
@rinternals{Timing_translator}.
-@knownissues
-The @code{\partial} command should be used only at the beginning of a
-piece. If you use it after the beginning, warnings or problems may
-occur, so use @code{\set Timing.measurePosition} instead.
-
-@lilypond[quote,verbatim,relative=1]
-\time 6/8
-\partial 8
-e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1/4)
-r8 e,8 | a4 c8 b[ c b] |
-@end lilypond
-
@node Unmetered music
@unnumberedsubsubsec Unmetered music
\bar ""
@end example
-Explicitly create a @code{Voice} context when starting a piece with
-@code{\cadenzaOn}, else unexpected errors may occur.
-
-@example
-\new Voice @{
- \relative c' @{
- \cadenzaOn
- c16[^"Solo Free Time" d e f] g2.
- \bar "||"
- \cadenzaOff
- @}
-@}
-@end example
-
@node Polymetric notation
@unnumberedsubsubsec Polymetric notation
the measures are not entirely filled, then the ties show exactly how
much each measure is off.
+The property @code{completionUnit} sets a preferred duration for
+the split notes.
+
+@lilypond[quote,verbatim,relative=2]
+\new Voice \with {
+ \remove "Note_heads_engraver"
+ \consists "Completion_heads_engraver"
+} {
+ \time 9/8 g\breve. d4. \bar "||"
+ \set completionUnit = #(ly:make-moment 3 8)
+ g\breve. d4.
+}
+@end lilypond
+
+These engravers split notes with scaled duration, such as those in tuplets,
+into notes with the same scale-factor as in the input note.
+
+@lilypond[quote,verbatim,relative=2]
+\new Voice \with {
+ \remove "Note_heads_engraver"
+ \consists "Completion_heads_engraver"
+} {
+ \time 2/4 r4
+ \tuplet 3/2 {g4 a b}
+ \scaleDurations 2/3 {g a b}
+ g4*2/3 a b
+ \tuplet 3/2 {g4 a b}
+ r4
+}
+@end lilypond
+
@seealso
Music Glossary:
@rglos{tie}
@rinternals{Forbid_line_break_engraver}.
@knownissues
-Not all durations (especially those containing tuplets) can be
-represented exactly with normal notes and dots, but the
-@code{Completion_heads_engraver} will not insert tuplets.
-
-The @code{Completion_heads_engraver} only affects notes; it does not
-split rests.
+For consistency with previous behavior, notes and rests with
+duration longer than a measure, such as @code{c1*2}, are split into
+notes without any scale factor, @code{@{ c1 c1 @}}. The property
+@code{completionFactor} controls this behavior, and setting it to
+@code{#f} cause split notes and rest to have the scale factor
+of the input durations.
@node Showing melody rhythms
@funindex autoBeaming
@funindex baseMoment
@funindex beamExceptions
+@funindex \beamExceptions
@funindex beatStructure
@funindex measureLength
@funindex \time
Special autobeaming rules (other than ending a beam on a beat)
are defined in the @code{beamExceptions} property.
+The value for @code{beamExceptions}, a somewhat complex Scheme
+data structure, is easiest generated with the
+@code{\beamExceptions} function. This function is given one or
+more manually beamed measure-length rhythmic patterns (measures
+have to be separated by a bar check@tie{}@code{|} since the
+function has no other way to discern the measure length). Here is
+a simple example:
+
@lilypond[quote,relative=2,verbatim]
\time 3/16
\set Timing.beatStructure = #'(2 1)
\set Timing.beamExceptions =
- #'( ;start of alist
- (end . ;entry for end of beams
- ( ;start of alist of end points
- ((1 . 32) . (2 2 2)) ;rule for 1/32 beams -- end each 1/16
- ))) %close all entries
+ \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
c16 c c |
\repeat unfold 6 { c32 } |
@end lilypond
-@code{beamExceptions} is an alist with a key of rule-type and a value
-of beaming-rules.
-
-At this time the only available value of rule-type is
-@code{'end} for beam ending.
-
-Beaming-rules is a scheme alist (or list of pairs) that indicates the
-beam type and the grouping to be applied to beams containing notes with
-a shortest duration of that beam type.
-
-@example
-#'((beam-type1 . grouping-1)
- (beam-type2 . grouping-2)
- (beam-type3 . grouping-3))
-@end example
-
-Beam type is a scheme pair indicating the duration of the beam,
-e.g., @code{(1 . 16)}.
-
-Grouping is a scheme list indicating the grouping to be applied to
-the beam. The grouping is in units of the beam type.
-
-@warning{ A @code{beamExceptions} value must be @emph{complete}
+@warning{A @code{beamExceptions} value must be @emph{complete}
exceptions list. That is, every exception that should be applied
must be included in the setting. It is not possible to add, remove,
or change only one of the exceptions. While this may seem cumbersome,
@lilypond[quote,verbatim,relative=2]
c4 d8[
-\grace { e32[ d c d] }
+\grace { e32 d c d }
e8] e[ e
\grace { f16 }
e8 e]
Additionally, a bar line can be printed as a simple tick:
@lilypond[quote,relative=1,verbatim]
-f1 \bar "'"
+f1 \bar "'" g1
@end lilypond
However, as such ticks are typically used in Gregorian chant, it is
preferable to use @code{\divisioMinima} there instead, described in
c1
@end lilypond
-Additionally there is an @code{\inStaffSegno} command which
-creates a segno bar, placed in cooperation
-with the @code{\repeat volta} command.
+Additionally there is an @code{\inStaffSegno} command which creates
+a segno bar line in conjunction with an appropriate repeat bar line
+when used with a @code{\repeat volta} command, see
+@ref{Normal repeats}.
@funindex \defineBarLine
@funindex defineBarLine
@funindex |
-@funindex pipeSymbol
+@funindex "|"
It is also possible to redefine the action taken when a bar check
or pipe symbol, @code{|}, is encountered in the input, so that
it does something other than a bar check. This is done by
-assigning a music expression to @code{pipeSymbol}.
+assigning a music expression to @code{"|"}.
In the following example @code{|} is set to insert a double bar
line wherever it appears in the input, rather than checking
for end of bar.
@lilypond[quote,verbatim]
-pipeSymbol = \bar "||"
+"|" = \bar "||"
{
c'2 c' |
c'2 c'
@lilypond[quote,relative=2,verbatim]
c4 \grace b16 a4(
-\grace { b16[ c16] } a2)
+\grace { b16 c16 } a2)
@end lilypond
There are three other types of grace notes possible; the
@lilypond[quote,relative=2,verbatim]
\acciaccatura d8 c4
\appoggiatura e8 d4
-\acciaccatura { g16[ f] } e2
+\acciaccatura { g16 f } e2
\slashedGrace a,8 g4
\slashedGrace b16 a4(
\slashedGrace b8 a2)
@lilypond[quote,relative=2,verbatim]
<<
- \new Staff { e2 \grace { c16[ d e f] } e2 }
- \new Staff { c2 \grace { g8[ b] } c2 }
+ \new Staff { e2 \grace { c16 d e f } e2 }
+ \new Staff { c2 \grace { g8 b } c2 }
>>
@end lilypond
\new Voice {
<<
{ d1^\trill_( }
- { s2 s4. \grace { c16[ d] } }
+ { s2 s4. \grace { c16 d } }
>>
c1)
}
Internals Reference:
@rinternals{GraceMusic},
@rinternals{Grace_beam_engraver},
+@rinternals{Grace_auto_beam_engraver},
@rinternals{Grace_engraver},
@rinternals{Grace_spacing_engraver}.