Next: Manual beams, Previous: Automatic beams, Up: Beams
In normal time signatures, automatic beams can start on any note
but can end in only a few positions within the measure: beams can
end on a beat, or at durations specified by the properties in
autoBeamSettings
. The properties in
autoBeamSettings
consist of a list of rules for where beams
can begin and end. The default autoBeamSettings
rules are
defined in scm/auto-beam.scm.
In order to add a rule to the list, use
#(override-auto-beam-setting '(beam-limit beam-numerator beam-denominator time-signature-numerator time-signature-denominator) moment-numerator moment-denominator [context])
beam-limit
is the type of automatic beam limit
defined, either begin
or end
.
beam-numerator/beam-denominator
is the beam duration
for which you want to add a rule. A beam is considered to have
the duration of its shortest note. Set beam-numerator
and
beam-denominator
to '*'
to
have this rule apply beams of any duration.
time-signature-numerator/time-signature-denominator
is the time signature to which
this rule should apply. Set time-signature-numerator
and
time-signature-denominator
to '*'
to have this rule apply in any time signature.
monent-numerator/moment-denominator
is the position
in the bar at which the beam should
begin or end.
context
is optional, and it specifies the context at which
the change should be made. The default is 'Voice
.
#(score-override-auto-beam-setting '(A B C D) E F)
is equivalent to
#(override-auto-beam-setting '(A B C D) E F 'Score)
.
TODO – convert to music example For example, if automatic beams should always end on the first quarter note, use
#(override-auto-beam-setting '(end * * * *) 1 4)
You can force the beam settings to only take effect on beams whose shortest note is a certain duration
\time 2/4 % end 1/16 beams for all time signatures at the 1/16 moment #(override-auto-beam-setting '(end 1 16 * *) 1 16) a16 a a a a a a a | a32 a a a a16 a a a a a | % end 1/32 beams for all time signatures at the 1/16 moment #(override-auto-beam-setting '(end 1 32 * *) 1 16) a32 a a a a16 a a a a a |
You can force the beam settings to only take effect in certain time signatures
\time 5/8 % end beams of all durations in 5/8 time signature at the 2/8 moment #(override-auto-beam-setting '(end * * 5 8) 2 8) c8 c d d d \time 4/4 e8 e f f e e d d \time 5/8 c8 c d d d
Existing auto-beam rules are removed by using
#(revert-auto-beam-setting '(beam-limit beam-numerator beam-denominator time-signature-numerator time-signature-denominator) moment-numerator moment-denominator [context])
beam-limit
, beam-numerator
, beam-denominator
,
time-signature-numerator
, time-signature-denominator
,
moment-numerator
, moment-denominator
and context
are the same as above. Note that the default auto-beaming rules are
specified in scm/auto-beam.scm,
so you can revert rules that you did not explicitly create.
\time 4/4 a16 a a a a a a a a a a a a a a a % undo a rule ending 1/16 beams in 4/4 time at 1/4 moment #(revert-auto-beam-setting '(end 1 16 4 4) 1 4) a16 a a a a a a a a a a a a a a a
The rule in a revert-auto-beam-setting
statement must exactly
match the original rule. That is, no wildcard expansion is taken into
account.
\time 1/4 #(override-auto-beam-setting '(end 1 16 1 4) 1 8) a16 a a a #(revert-auto-beam-setting '(end 1 16 * *) 1 8) % this won't revert it! a a a a #(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % this will a a a a
If automatic beams should end on every quarter in 5/4 time, specify all endings
#(override-auto-beam-setting '(end * * * *) 1 4 'Staff) #(override-auto-beam-setting '(end * * * *) 1 2 'Staff) #(override-auto-beam-setting '(end * * * *) 3 4 'Staff) #(override-auto-beam-setting '(end * * * *) 5 4 'Staff) ...
The same syntax can be used to specify beam starting points. In this example, automatic beams can only end on a dotted quarter note
#(override-auto-beam-setting '(end * * * *) 3 8) #(override-auto-beam-setting '(end * * * *) 1 2) #(override-auto-beam-setting '(end * * * *) 7 8)
In 4/4 time signature, this means that automatic beams could end only on 3/8 and on the fourth beat of the measure (after 3/4, that is 2 times 3/8, has passed within the measure).
If any unexpected beam behavior occurs, check the default automatic beam settings in scm/auto-beam.scm for possible interference, because the beam endings defined there will still apply on top of your own overrides. Any unwanted endings in the default vales must be reverted for your time signature(s).
For example, to typeset (3 4 3 2)
-beam endings in 12/8, begin
with
%%% revert default values in scm/auto-beam.scm regarding 12/8 time #(revert-auto-beam-setting '(end * * 12 8) 3 8) #(revert-auto-beam-setting '(end * * 12 8) 3 4) #(revert-auto-beam-setting '(end * * 12 8) 9 8) %%% your new values #(override-auto-beam-setting '(end 1 8 12 8) 3 8) #(override-auto-beam-setting '(end 1 8 12 8) 7 8) #(override-auto-beam-setting '(end 1 8 12 8) 10 8)
If beams are used to indicate melismata in songs, then automatic
beaming should be switched off with \autoBeamOff
.
If a score ends while an automatic beam has not been ended and is
still accepting notes, this last beam will not be typeset at all.
The same holds for polyphonic voices, entered with <<
... \\ ... >>
. If a polyphonic voice ends while an
automatic beam is still accepting notes, it is not typeset.
Snippets: Rhythms.
This page is for LilyPond-2.11.58 (development-branch).
Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.