]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/rhythms.itely
Merge branch 'lilypond/translation'
[lilypond.git] / Documentation / notation / rhythms.itely
index 25c0166e4f2497ecfd784a90bc342a450319c5fc..ed8dd90e381e9c7afd582d68edc6360193150ee4 100644 (file)
@@ -197,7 +197,7 @@ durations with a fraction:
 @end example
 
 @noindent
-The duration of @var{music} will be multiplied by the
+The duration of @code{@var{music}} will be multiplied by the
 fraction.  The fraction's denominator 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
@@ -703,7 +703,9 @@ s2 c
 Spacer rests are available only in note mode and chord mode.  In
 other situations, for example, when entering lyrics, the
 command @code{\skip} is used to skip a musical moment.
-@code{\skip} requires an explicit duration.
+@code{\skip} requires an explicit duration, but this is ignored if
+the lyrics derive their durations from the notes in an associated
+melody through @code{\addlyrics} or @code{\lyricsto}.
 
 @lilypond[quote,verbatim,relative=2]
 <<
@@ -1267,8 +1269,9 @@ entered using the @code{\partial} command, with the syntax
 @end example
 
 @noindent
-where @code{duration} is the rhythmic length of the remaining
-interval of the current measure before the start of the next.
+where @code{@var{duration}} is the rhythmic length of the
+remaining interval of the current measure before the start of the
+next.
 
 @lilypond[quote,verbatim,relative=2]
 \partial 4 e4 |
@@ -1342,7 +1345,7 @@ to turn them on again.
 @lilypond[verbatim,relative=2,quote]
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
@@ -1356,12 +1359,30 @@ cadenza were not there:
 \override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
 @end lilypond
 
+@cindex beaming in cadenzas
+@cindex beaming in unmetered music
+@cindex cadenza, beaming in
+@cindex unmetered music, beaming in
+
+Automatic beaming is disabled by @code{\cadenzaOn} and enabled
+by @code{\cadenzaOff}.  Therefore, all beaming in cadenzas
+must be entered manually (@ref{Manual beams}).
+
+@lilypond[verbatim,relative=2,quote]
+\repeat unfold 8 {c8}
+\cadenzaOn
+\repeat unfold 5 {c8}
+\bar"|"
+\cadenzaOff
+\repeat unfold 8 {c8}
+@end lilypond
+
 Note that these predefined commands affect all staves in the
 score, even when they are placed in just one @code{Voice}
 context.  To change this, move the @code{Timing_translator}
@@ -1380,7 +1401,8 @@ Music Glossary:
 
 Notation Reference:
 @ref{Visibility of objects},
-@ref{Polymetric notation}.
+@ref{Polymetric notation},
+@ref{Manual beams}.
 
 Snippets:
 @rlsr{Rhythms}.
@@ -1409,16 +1431,19 @@ staff line, you will need to insert invisible bar lines with
 @noindent
 to indicate where breaks can occur.
 
-You must explicitly create a @code{Voice} context when starting a
+You should explicitly create a @code{Voice} context when starting a
 piece with @code{\cadenzaOn}, otherwise strange errors may occur.
 
-@lilypond[verbatim,relative=2,quote]
-\new Voice \relative c'{
-  \cadenzaOn
-  c16^"Solo Free Time" d e f g2. \bar "||"
-  \cadenzaOff
-}
-@end lilypond
+@example
+\new Voice @{
+  \relative c' @{
+    \cadenzaOn
+    c16[^"Solo Free Time" d e f] g2.
+    \bar "||"
+    \cadenzaOff
+  @}
+@}
+@end example
 
 
 @node Polymetric notation
@@ -1844,104 +1869,21 @@ Beams can collide with note heads and accidentals in other voices.
 @funindex \set
 @funindex set
 
-The placement of automatic beams is determined by the context properties
-@code{baseMoment}, @code{beatStructure}, @code{beamExceptions},
-and @code{autoBeaming}.
-
-The following rules, in order of priority, apply when determining
-the appearance of beams:
-
-@itemize
-@item
-If a manual beam is specified with @code{[..]} set the beam
-as specified, otherwise
-
-@item
-if @code{\autoBeamOff} is in force do not beam, otherwise
-
-@item
-if a beam-ending rule is defined in @code{beamExceptions}
-for the beam-type, use it to determine the valid places where
-beams may end, otherwise
-
-@item
-if a beam-ending rule is defined in @code{beamExceptions}
-for a longer beam-type, use it to determined the valid places
-where beams may end, otherwise
-
-@item
-use the values of @code{baseMoment} and @code{beatStructure} to
-determine the ends of the beats in the measure, and
-end beams at the end of beats.
-
-@end itemize
-
-The beam-type is the duration of the shortest note in the beamed group.
-
-@i{@strong{Modifying the grouping of beats}}
-
-By default @code{baseMoment} is set by the @code{\time} command,
-normally to one over the denominator of the time signature.
-Any exceptions to this default
-can be found in @file{scm/@/time@/-signature@/-settings@/.scm}.
-Changing the default value of @code{baseMoment} for a given
-time signature is described in @ref{Time signature}.
-
-@code{baseMoment} is a @i{moment},
-a unit of musical duration.  A quantity of type @i{moment} is
-created by the scheme function @code{ly:make-moment}.  For more
-information about this function, see @ref{Time administration}.
-
-Special (i.e., other than at the end of the beat) autobeam settings
-are stored in the
-@code{beamExceptions} property.  Default values of @code{beamExceptions}
-are established by the @code{\time} command.  Default values of
-@code{beamExceptions} for a time signature
-are determined in @file{scm/@/time@/-signature@/-settings@/.scm}.
-Entries in @code{beamExceptions} are indexed by rule type and beam type.
-
-Rule type should be @code{#'end} for beam ending.
-
-The ending rules consist of 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.
-
-For reference, the default beaming rules are found in
-@file{scm/time-signature-settings.scm}.
-
-Alternate values for @code{beamExceptions}
-can be defined using the @code{\set} command.
-
-@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,
-it means that the current beaming settings need not be known
-in order to specify a new beaming pattern.}
+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
+the one over numerator of the time signature.  By default,
+each unit of length @code{baseMoment} is a single beat.
 
 @lilypond[quote,relative=2,verbatim]
 \time 5/16
-c8^"beats" c16 c8 |
-\set beatStructure = #'(2 3)
-c8^"(2+3)" c16 c8
-\set beatStructure = #'(3 2)
-c8^"(3+2)" c16 c8
+c16^"default" c c c c |
+\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
 
 Beam setting changes can be limited to specific contexts.  If no
@@ -1976,7 +1918,7 @@ staff:
 @lilypond[quote,verbatim,relative=2]
 \time 7/8
 % rhythm 3-1-1-2
-% Context Voice specified --  does not work correctly
+% Change applied to Voice by default --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
 \set beatStructure = #'(3 1 1 2)
@@ -1987,20 +1929,134 @@ staff:
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
-Beam settings can be set back to default behavior.  This
-is accomplished by setting the time signature.
+The value of @code{baseMoment} can be adjusted to change
+the beaming behavior, if desired. When this is done,
+the value of @code{beatStructure} must be set to be
+compatible with the new value of @code{baseMoment}.
 
 @lilypond[quote,verbatim,relative=2]
-\time 4/4
-\repeat unfold 8 {a8}
-% eliminate beam exception that groups beats 1, 2 and 3, 4
-\set Timing.beamExceptions = #'()
-\repeat unfold 8 {a8}
+\time 5/8
+\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.beatStructure = #'(7 3)
+\repeat unfold 10 {a16}
+@end lilypond
+
+@code{baseMoment} is a @i{moment},
+a unit of musical duration.  A quantity of type @i{moment} is
+created by the scheme function @code{ly:make-moment}.  For more
+information about this function, see @ref{Time administration}.
+
+By default @code{baseMoment} is set
+to one over the denominator of the time signature.
+Any exceptions to this default
+can be found in @file{scm/@/time@/-signature@/-settings@/.scm}.
+
+Special autobeaming rules (other than ending a beam on a beat)
+are defined in the @code{beamExceptions} property.
+
+@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
+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} 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,
+it means that the current beaming settings need not be known
+in order to specify a new beaming pattern.}
+
+When the time signature is changed, default values of
+@code{Timing.baseMoment}, @code{Timing.beatStructure},
+and @code{Timing.beamExceptions} are set.  Setting the time signature
+will reset the automatic beaming settings for the @code{Timing}
+context to the default behavior.
+
+@lilypond[quote,verbatim,relative=2]
+\time 6/8
+\repeat unfold 6 {a8}
+% group (4 + 2)
+\set Timing.beatStructure = #'(4 2)
+\repeat unfold 6 {a8}
 % go back to default behavior
-\time 4/4
-\repeat unfold 8 {a8}
+\time 6/8
+\repeat unfold 6 {a8}
 @end lilypond
 
+These default automatic beaming settings for a time signature
+are determined in @file{scm/@/time@/-signature@/-settings@/.scm}.
+The automatic beaming settings for a time signature can be changed
+as described in @ref{Time signature}.
+
+@i{@strong{How automatic beaming works}}
+
+When automatic beaming is enabled, the placement of automatic beams
+is determined by the context properties
+@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.
+
+The following rules, in order of priority, apply when determining
+the appearance of beams:
+
+@itemize
+@item
+If a manual beam is specified with @code{[..]} set the beam
+as specified, otherwise
+
+@item
+if a beam-ending rule is defined in @code{beamExceptions}
+for the beam-type, use it to determine the valid places where
+beams may end, otherwise
+
+@item
+if a beam-ending rule is defined in @code{beamExceptions}
+for a longer beam-type, use it to determined the valid places
+where beams may end, otherwise
+
+@item
+use the values of @code{baseMoment} and @code{beatStructure} to
+determine the ends of the beats in the measure, and
+end beams at the end of beats.
+
+@end itemize
+
+In the rules above, the beam-type is the duration of the
+shortest note in the beamed group.
+
+For reference, the default beaming rules are found in
+@file{scm/time-signature-settings.scm}.
 
 @snippets
 
@@ -2451,13 +2507,13 @@ connected between different staves of a @code{StaffGroup},
 @funindex bar
 @funindex bartype
 
-The command @code{\bar }@var{bartype} is a shortcut for
-@code{\set Timing.whichBar = }@var{bartype}.  A bar line is
+The command @samp{\bar @var{bartype}} is a shortcut for
+@samp{\set Timing.whichBar = @var{bartype}}.  A bar line is
 created whenever the @code{whichBar} property is set.
 
 The default bar type used for automatically inserted bar lines is
-@code{"|"}.  This may be changed at any time
-with @code{\set Timing.defaultBarType = }@var{bartype}.
+@code{"|"}.  This may be changed at any time with
+@samp{\set Timing.defaultBarType = @var{bartype}}.
 
 
 @seealso