Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.5"
+@c \version "2.17.11"
@node Rhythms
@section Rhythms
@cindex tuplets
@cindex triplets
-@funindex \times
-@funindex times
+@funindex \tuplet
+@funindex tuplet
-Tuplets are made from a music expression by multiplying all the
-durations with a fraction:
+Tuplets are made from a music expression with the @code{\tuplet}
+command, multiplying the speed of the music expression by a
+fraction:
@example
-\times @var{fraction} @{ @var{music} @}
+\tuplet @var{fraction} @{ @var{music} @}
@end example
@noindent
-The duration of @code{@var{music}} will be multiplied by the
-fraction. The fraction's denominator will be printed over or
+The fraction's numerator will be printed over or
under the notes, optionally with a bracket. The most common
-tuplet is the triplet in which 3 notes have the duration of 2, so
-the notes are 2/3 of their written length.
+tuplets are triplets: 3@tie{}notes sound within the duration
+normally allowed for@tie{}2:
@lilypond[quote,verbatim,relative=2]
-a2 \times 2/3 { b4 b b }
-c4 c \times 2/3 { b4 a g }
+a2 \tuplet 3/2 { b4 b b }
+c4 c \tuplet 3/2 { b4 a g }
+@end lilypond
+
+@cindex tuplet grouping
+@noindent
+When entering long passages of tuplets, having to write a separate
+@code{\tuplet} command for each group is inconvenient. It is
+possible to specify the duration of one tuplet group directly
+before the music in order to have the tuplets grouped
+automatically:
+
+@lilypond[quote,verbatim,relative=2]
+g2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e }
@end lilypond
@cindex tuplet bracket placement
@lilypond[quote,verbatim,relative=2]
\autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
+c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
@end lilypond
Modifying nested tuplets which begin at the same musical moment
@knownissues
Grace notes may be placed within tuplet brackets, @emph{except}
when a staff begins with a grace note followed by a tuplet. In this
-particular case, the grace note must be placed before the @code{\times}
+particular case, the grace note must be placed before the @code{\tuplet}
command to avoid errors.
@cindex tempo marks within tuplet brackets
Snippets:
@rlsr{Rhythms}.
+@knownissues
+The calculation of the position within a measure must take into
+account all the scaling factors applied to the notes within that
+measure and any fractional carry-out from earlier measures. This
+calculation is carried out using rational numbers. If an intermediate
+numerator or denominator in that calculation exceeds 2^30 the
+execution and typesetting will stop at that point without indicating
+an error.
+
@node Ties
@unnumberedsubsubsec Ties
musical phrasing. A tie is just a way of extending a note
duration, similar to the augmentation dot.}
-A tie is entered using the tilde symbol (@code{~}).
+A tie is entered by appending a tilde symbol (@code{~}) to the first
+of each pair of notes being tied. This indicates that the note
+should be tied to the following note, which must be at the same pitch.
@lilypond[quote,verbatim,relative=2]
-a2 ~ a
+a2~ a4~ a16 r r8
@end lilypond
Ties are used either when the note crosses a bar line, or when
@lilypond[verbatim,quote]
\relative c' {
- r8 c8 ~ c2 r4 |
- r8^"not" c2 ~ c8 r4
+ r8 c~ c2 r4 |
+ r8^"not" c2~ c8 r4
}
@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. Chords may be partially tied by placing the tie inside
+created. Chords may be partially tied by placing the ties inside
the chord.
@lilypond[quote,verbatim,relative=1]
-<c e g> ~ <c e g>
+<c e g>~ <c e g c>
<c~ e g~ b> <c e g b>
@end lilypond
have to specify the repeated tie as follows:
@lilypond[quote,relative=2,verbatim]
-\repeat volta 2 { c g <c e>2 ~ }
+\repeat volta 2 { c g <c e>2~ }
\alternative {
% First alternative: following note is tied normally
{ <c e>2. r4 }
@funindex \tieNeutral
@funindex tieNeutral
-Ties may be manually placed above or below the staff; see
+Ties may be made to curve up or down manually; see
@ref{Direction and placement}.
@cindex ties, appearance
@lilypond[quote, verbatim, relative=1]
\tieDotted
-c2 ~ c
+c2~ c
\tieDashed
-c2 ~ c
+c2~ c
\tieHalfDashed
-c2 ~ c
+c2~ c
\tieHalfSolid
-c2 ~ c
+c2~ c
\tieSolid
-c2 ~ c
+c2~ c
@end lilypond
Custom dash patterns can be specified:
@lilypond[quote, verbatim, relative=1]
\tieDashPattern #0.3 #0.75
-c2 ~ c
+c2~ c
\tieDashPattern #0.7 #1.5
-c2 ~ c
+c2~ c
\tieSolid
-c2 ~ c
+c2~ c
@end lilypond
Dash pattern definitions for ties have the same structure as dash
collide with other objects in a staff.
@lilypond[verbatim,quote,ragged-right,relative=2]
-\override Tie #'layer = #-2
-\override Staff.TimeSignature #'layer = #-1
-\override Staff.KeySignature #'layer = #-1
-\override Staff.TimeSignature #'whiteout = ##t
-\override Staff.KeySignature #'whiteout = ##t
+\override Tie.layer = #-2
+\override Staff.TimeSignature.layer = #-1
+\override Staff.KeySignature.layer = #-1
+\override Staff.TimeSignature.whiteout = ##t
+\override Staff.KeySignature.whiteout = ##t
b2 b~
\time 3/4
\key a \major
\new Staff {
% These two lines are just to prettify this example
\time 16/1
- \override Staff.TimeSignature #'stencil = ##f
+ \override Staff.TimeSignature.stencil = ##f
% Print a maxima rest, equal to four breves
r\maxima
% Print a longa rest, equal to two breves
@lilypond[quote,verbatim,relative=2]
% This fails, as the wrong object name is specified
-\override TextScript #'padding = #5
+\override TextScript.padding = #5
R1^"wrong"
% This is the correct object name to be specified
-\override MultiMeasureRestText #'padding = #5
+\override MultiMeasureRestText.padding = #5
R1^"right"
@end lilypond
r4 e8 | a4 c8 b c4 |
@end lilypond
-The @code{\partial @var{duration}} can also be written as;
+@code{\partial @var{duration}} can also be written as:
@example
\set Timing.measurePosition -@var{duration}
@end example
-So @code{\partial 8} becomes:
+So the first example above could be written:
@lilypond[quote,verbatim,relative=1]
\time 3/4
-\set Timing.measurePosition = #(ly:make-moment -1 8)
+\set Timing.measurePosition = #(ly:make-moment -1/8)
e8 | a4 c8 b c4 |
@end lilypond
-The property @code{measurePosition} contains a rational number
-indicating how much of the measure has passed at this point. Note
-that this is set to a negative number by the @code{\partial} command:
-i.e., @code{\partial 4} is internally translated to @w{@code{-4}},
-meaning @qq{there is a quarter note left in the measure.}
+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}.
@seealso
Music Glossary:
\time 6/8
\partial 8
e8 | a4 c8 b[ c b] |
-\set Timing.measurePosition = #(ly:make-moment -1 4)
+\set Timing.measurePosition = #(ly:make-moment -1/4)
r8 e,8 | a4 c8 b[ c b] |
@end lilypond
@lilypond[verbatim,relative=2,quote]
% Show all bar numbers
-\override Score.BarNumber #'break-visibility = #all-visible
+\override Score.BarNumber.break-visibility = #all-visible
c4 d e d
\cadenzaOn
c4 c d8[ d d] f4 g4.
@funindex timeSignatureFraction
@funindex \scaleDurations
@funindex scaleDurations
-@funindex \times
-@funindex times
+@funindex \tuplet
+@funindex tuplet
Polymetric notation is supported explicitly or by manually modifying the
visible time signature symbol and/or scaling note durations.
\scaleDurations 3/5 {
\repeat unfold 2 { c8[ c c] }
\repeat unfold 2 { c8[ c] } |
- c4. c \times 2/3 { c8[ c c] } c4
+ c4. c \tuplet 3/2 { c8[ c c] } c4
}
}
>>
@cindex beams, with melismata
@warning{If beams are used to indicate melismata in songs, then
-automatic beaming should be switched off with @code{\autoBeamOff}
+automatic beaming should be switched off with @code{@bs{}autoBeamOff}
and the beams indicated manually. Using @code{@bs{}partcombine} with
@code{@bs{}autoBeamOff} can produce unintended results. See the
snippets for more information.}
as explained in @ref{Time signature}.
If a @code{beamExceptions} rule is defined for the time signature in
-force, that rule is used to determine the beam placement. If no
-@code{beamExceptions} rule is defined for the time signature in force,
-the beam placement is determined by the settings of @code{baseMoment}
-and @code{beatStructure}.
+force, that rule alone is used to determine the beam placement; the
+values of @code{baseMoment} and @code{beatStructure} are ignored.
+
+If no @code{beamExceptions} rule is defined for the time signature
+in force, the beam placement is determined by the values of
+@code{baseMoment} and @code{beatStructure}.
+
+
+@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure}
By default, @code{beamExceptions} rules are defined for most common
-time signatures, so the @code{beamException} rules must be disabled
+time signatures, so the @code{beamExceptions} rules must be disabled
if automatic beaming is to be based on @code{baseMoment} and
@code{beatStructure}. The @code{beamExceptions} rules are disabled
by
\set Timing.beamExceptions = #'()
@end example
-
-@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure}
-
-In most instances, automatic beams will end at the end of a beat.
-The ending points for beats are determined by the context properties
-@code{baseMoment} and @code{beatStructure}. @code{beatStructure}
-is a scheme list that defines the length of each beat in the measure
-in units of @code{baseMoment}. By default, @code{baseMoment} is
-one over the denominator of the time signature. By default,
-each unit of length @code{baseMoment} is a single beat.
+When @code{beamExceptions} is set to @code{#'()}, either due to an
+explicit setting or because no @code{beamExceptions} rules are defined
+internally for the time signature in force, the ending points for
+beams are on beats as specified by the context properties
+@code{baseMoment} and @code{beatStructure}. @code{beatStructure} is
+a scheme list that defines the length of each beat in the measure in
+units of @code{baseMoment}. By default, @code{baseMoment} is one
+over the denominator of the time signature. By default, each unit of
+length @code{baseMoment} is a single beat.
@lilypond[quote,relative=2,verbatim]
\time 5/16
c16^"default" c c c c |
+% beamExceptions are unlikely to be defined for 5/16 time,
+% but let's disable them anyway to be sure
+\set Timing.beamExceptions = #'()
\set Timing.beatStructure = #'(2 3)
c16^"(2+3)" c c c c |
\set Timing.beatStructure = #'(3 2)
c16^"(3+2)" c c c c |
@end lilypond
-If a common time signature is being used, @code{beamExceptions}
-@emph{must} be disabled to enable @code{beatStructure} to work.
-The @code{\set Timing.beamExceptions = #'()} command can always
-be included if beaming is being determined by @code{beatStructure}.
-
@lilypond[quote,relative=2,verbatim]
\time 4/4
a8^"default" a a a a a a a
-
-\set Timing.baseMoment = #(ly:make-moment 1 4)
-\set Timing.beatStructure = #'(1 1 1 1)
-a8^"no change" a a a a a a a
-
+% Disable beamExceptions because they are definitely
+% defined for 4/4 time
\set Timing.beamExceptions = #'()
-\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.baseMoment = #(ly:make-moment 1/4)
\set Timing.beatStructure = #'(1 1 1 1)
a8^"changed" a a a a a a a
@end lilypond
@lilypond[quote, verbatim,relative=1]
\new Staff {
\time 7/8
+ % No need to disable beamExceptions as they are not defined for 7/8 time
\set Staff.beatStructure = #'(2 3 2)
<<
\new Voice = one {
@lilypond[quote,verbatim,relative=2]
\time 5/8
-\set Timing.baseMoment = #(ly:make-moment 1 16)
+% No need to disable beamExceptions as they are not defined for 5/8 time
+\set Timing.baseMoment = #(ly:make-moment 1/16)
\set Timing.beatStructure = #'(7 3)
\repeat unfold 10 { a16 }
@end lilypond
@lilypond[quote,verbatim,relative=2]
\time 4/4
-\set Timing.baseMoment = #(ly:make-moment 1 8)
+\set Timing.baseMoment = #(ly:make-moment 1/8)
\set Timing.beatStructure = #'(3 3 2)
% This won't beam (3 3 2) because of beamExceptions
\repeat unfold 8 {c8} |
\time 3/4
% by default we beam in (6) due to beamExceptions
\repeat unfold 6 {a8} |
-% This will beam (1 1 1) due to beatLength
+% This will beam (1 1 1) due to default baseMoment and beatStructure
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a8}
@end lilypond
@item
if a beam-ending rule is defined in @code{beamExceptions}
-for a longer beam-type, use it to determined the valid places
+for a longer beam-type, use it to determine the valid places
where beams may end, otherwise
@item
<<
\new Staff {
\time 3/4
- \set Timing.baseMoment = #(ly:make-moment 1 8)
+ \set Timing.baseMoment = #(ly:make-moment 1/8)
\set Timing.beatStructure = #'(1 5)
\repeat unfold 6 { a8 }
}
the last four 32nd notes are at a constant tempo.
@lilypond[relative=1,verbatim,quote]
-\override Beam #'grow-direction = #LEFT
-\featherDurations #(ly:make-moment 2 1)
+\override Beam.grow-direction = #LEFT
+\featherDurations #(ly:make-moment 2/1)
{ c16[ c c c c c c c] }
-\override Beam #'grow-direction = #RIGHT
-\featherDurations #(ly:make-moment 2 3)
+\override Beam.grow-direction = #RIGHT
+\featherDurations #(ly:make-moment 2/3)
{ c32[ d e f] }
% revert to non-feathered beams
-\override Beam #'grow-direction = #'()
+\override Beam.grow-direction = #'()
{ g32[ a b c] }
@end lilypond
@cindex default bar lines, changing
@cindex bar lines, default, changing
-@snippets
-
@funindex whichBar
@funindex defaultBarType
@funindex \bar
example bar numbers are printed at all possible places:
@lilypond[verbatim,quote,relative=1]
-\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
+\override Score.BarNumber.break-visibility = ##(#t #t #t)
\set Score.currentBarNumber = #11
% Permit first bar number to be printed
\bar ""
duration, for example:
@example
-\acciaccatura @{ c'8[ d' e' f' g'] @}
+c'8 \acciaccatura @{ c'8[ d' e' f' g'] @}
@end example
becomes:
@example
-\acciaccatura @{ c'16[ d' e' f' g'] @}
+c'8 \acciaccatura @{ c'16[ d' e' f' g'] @}
@end example
Or explicitly change the musical duration:
@example
-\acciaccatura @{ \scaleDurations 1/2 @{ c'8[ d' e' f' g'] @} @}
+c'8 \acciaccatura @{ \scaleDurations 1/2 @{ c'8[ d' e' f' g'] @} @}
@end example
See @ref{Scaling durations}.
@lilypond[quote,verbatim]
\new Voice \relative c' {
- \set Timing.measureLength = #(ly:make-moment 5 4)
+ \set Timing.measureLength = #(ly:make-moment 5/4)
c1 c4 |
c1 c4 |
c4 c
- \set Timing.measurePosition = #(ly:make-moment 5 8)
+ \set Timing.measurePosition = #(ly:make-moment 5/8)
b4 b b8 |
c4 c1 |
}