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
@snippets
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
-{alternative-breve-note.ly}
+{alternative-breve-notes.ly}
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{changing-the-number-of-augmentation-dots-per-note.ly}
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
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~ 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 c8 ~ c2 r4 |
- r8^"not" c2 ~ c8 r4
+ r8 c~ 2 r4 |
+ r8^"not" c2~ 8 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>2 ~ 2
+<c e g>4~ <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~ 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
d4 g e c
@end lilypond
+@funindex \markLengthOn
+@funindex markLengthOn
+@funindex \markLengthOff
+@funindex markLengthOff
+
+In a part for an instrument with long periods of rests,
+tempo indications sometimes follow each other closely.
+The command @code{\markLengthOn} provides extra horizontal space
+to prevent tempo indications from overlapping, and @code{\markLengthOff}
+restores the default behavior of ignoring tempo marks
+for horizontal spacing.
+
+@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
d4 e d c
@end lilypond
-A new bar is never started within a cadenza, even if one or more
-@code{\bar} commands are inserted within it. Therefore, reminder
-accidentals will need to be added manually. See @ref{Accidentals}.
+Inserting a @code{\bar} command within a cadenza does not start a new
+measure, even if a bar line is printed. So any accidentals -- which
+are usually assumed to remain in force until the end of the measure --
+will still be valid after the bar line printed by @code{\bar}. If
+subsequent accidentals should be printed, forced accidentals or
+reminder accidentals need to be inserted manually, see
+@ref{Accidentals}.
@lilypond[verbatim,relative=2,quote]
c4 d e d
\cadenzaOn
cis4 d cis d
\bar "|"
+% First cis is printed without alteration even if it's after a \bar
cis4 d cis! d
\cadenzaOff
\bar "|"
\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
@lilypond[quote, verbatim,relative=1]
\new Staff {
\time 7/8
- % No need to disable beamExceptions as they are not defined for 7/8 time
+ % 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
-% No need to disable beamExceptions as they are not defined for 5/8 time
+% 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 }
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,
@itemize
@item
-If a manual beam is specified with @code{[..]} set the beam
+If a manual beam is specified with @code{[@dots{}]} set the beam
as specified, otherwise
@item
@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}.