Guide, node Updating translation committishes..
@end ignore
-@c \version "2.19.0"
+@c \version "2.19.2"
@node Rhythms
@section Rhythms
@funindex tuplet
Tuplets are made from a music expression with the @code{\tuplet}
-command, multiplying the speed of the music expression by a
-fraction:
+command, multiplying the speed of the music expression by a fraction:
@example
\tuplet @var{fraction} @{ @var{music} @}
@end example
@noindent
-The fraction's numerator will be printed over or
-under the notes, optionally with a bracket. The most common
-tuplets are triplets: 3@tie{}notes sound within the duration
-normally allowed for@tie{}2:
+The fraction's numerator will be printed over or under the notes,
+optionally with a bracket. The most common tuplets are triplets
+(3@tie{}notes sound within the duration normally allowed for@tie{}2).
@lilypond[quote,verbatim,relative=2]
a2 \tuplet 3/2 { b4 4 4 }
@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:
+@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 }
@funindex \tupletNeutral
@funindex tupletNeutral
-Tuplet brackets may be manually placed above or below the staff;
-see @ref{Direction and placement}.
+Tuplet brackets may be manually placed above or below the staff:
+
+@lilypond[quote,verbatim,relative=2]
+\tupletUp \tuplet 3/2 { c8 d e }
+\tupletNeutral \tuplet 3/2 { c8 d e }
+\tupletDown \tuplet 3/2 { f,8 g a }
+\tupletNeutral \tuplet 3/2 { f8 g a }
+@end lilypond
Tuplets may be nested:
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
-must be done with @code{\tweak}.
-
-To modify the duration of notes without printing a tuplet bracket,
-see @ref{Scaling durations}.
+Modifying nested tuplets which begin at the same musical moment must be
+done with @code{\tweak}.
+To modify the duration of notes without printing a tuplet bracket, see
+@ref{Scaling durations}.
@predefined
@code{\tupletUp},
@rlearning{Tweaking methods}.
Notation Reference:
+@ref{Direction and placement},
@ref{Time administration},
@ref{Scaling durations},
@ref{The tweak command},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.
-@cindex grace notes within tuplet brackets
-
-@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{\tuplet}
-command to avoid errors.
-
-@cindex tempo marks within tuplet brackets
-
-When using a tuplet at the beginning of a piece with a @code{\tempo}
-mark, the music must be explicitly entered in a @code{\new Voice}
-block, as discussed in @rlearning{Voices contain music}.
-
@node Scaling durations
@unnumberedsubsubsec Scaling durations
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
+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
@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
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
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
+beginning of a score, @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.
+@emph{preceded} by additional material. When used elsewhere, it
+moves the requested distance before the @emph{end} of the bar.
@lilypond[quote,verbatim,relative=1]
\set Score.barNumberVisibility = #all-bar-numbers-visible
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,
\time 3/4
\set Timing.baseMoment = #(ly:make-moment 1/8)
\set Timing.beatStructure = #'(1 5)
+ \set Timing.beamExceptions = #'()
\repeat unfold 6 { a8 }
}
\new Staff {
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
>>
@end lilypond
+Please make sure that you use the @code{\grace} command for the
+spacer part, even if the visual part uses @code{\acciaccatura} or
+@code{\appoggiatura} because otherwise an ugly slur fragment will
+be printed, connecting the invisible grace note with the following
+note.
+
The use of grace notes within voice contexts confuses the way the voice
is typeset. This can be overcome by inserting a rest or note between the
voice command and the grace note.