| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section discusses rhythms, rests, durations, beaming and bars.
| 1.2.1 Writing rhythms | ||
| 1.2.2 Writing rests | ||
| 1.2.3 Displaying rhythms | ||
| 1.2.4 Beams | ||
| 1.2.5 Bars | ||
| 1.2.6 Special rhythmic concerns |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Durations | ||
| Tuplets | ||
| Scaling durations | ||
| Ties |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The durations of notes are entered using numbers and dots. The number
entered is based on the reciprocal value of the length of the note. For
example, a quarter note is designated using the numerical value of
4 as it is a 1/4 note, a half note using 2, an eighth
using 8 and so on. Durations as short as 1024 notes can be
entered but shorter values, while possible, can only be entered as
beamed notes. Also see Beams.
For notes longer than a whole use the \longa – double breve –
and \breve commands. A note with the duration of a quadruple
breve is possible using the \maxima command but is only supported
within ancient music notation. See Ancient notation.
\relative { \time 8/1 c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 }
Here are the same durations with automatic beaming turned off.
\relative { \time 8/1 \autoBeamOff c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 }
Isolated durations – durations without a pitch – that occur within a music sequence will take their pitch from the preceding note or chord.
\relative { \time 8/1 c'' \longa \breve 1 2 4 8 16 32 64 128 128 }
Isolated pitches – pitches without a duration – that occur within a
music sequence will take their duration from the preceding note or
chord. If there is no preceding duration, then default for the note is
always 4, a quarter note.
\relative { a' a a2 a a4 a a1 a }
Place a dot (.) after the duration to obtain ‘dotted’ note
lengths. Double-dotted notes are specified by appending two dots,
and so on.
\relative { a'4 b c4. b8 a4. b4.. c8. }
To avoid clashing with staff lines, dots on notes are normally moved up. In polyphonic situations however, they can be placed, manually, above or below the staff as required. See Direction and placement.
Some note durations cannot be represented using just numbers and dots but only by tying two or more notes together. See Ties.
To specify durations that align the syllables of lyrics and notes together see Vocal music.
Notes can also be spaced proportionately to their duration, see Proportional notation.
\autoBeamOn,
\autoBeamOff,
\dotsUp,
\dotsDown,
\dotsNeutral.
Alternative breve notes
Breve notes are also available with two vertical lines on each side of the notehead instead of one line and in baroque style.
\relative c'' { \time 4/2 c\breve | \override Staff.NoteHead.style = #'altdefault b\breve \override Staff.NoteHead.style = #'baroque b\breve \revert Staff.NoteHead.style a\breve }
Changing the number of augmentation dots per note
The number of augmentation dots on a single note can be changed indepently of the dots placed after the note.
\relative c' { c4.. a16 r2 | \override Dots.dot-count = #4 c4.. a16 r2 | \override Dots.dot-count = #0 c4.. a16 r2 | \revert Dots.dot-count c4.. a16 r2 | }
Music Glossary: (music-glossary)breve section ‘breve’ in Music Glossary, (music-glossary)longa section ‘longa’ in Music Glossary, (music-glossary)maxima section ‘maxima’ in Music Glossary, (music-glossary)note value section ‘note value’ in Music Glossary, (music-glossary)Duration names notes and rests section ‘Duration names notes and rests’ in Music Glossary.
Notation Reference: Beams, Ties, Stems, Writing rhythms, Writing rests, Vocal music, Ancient notation, Proportional notation.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Dots section ‘Dots’ in Internals Reference, (internals)DotColumn section ‘DotColumn’ in Internals Reference.
While there is no fundamental limit to rest durations (longest or
shortest), there is a limit to the number of glyphs possible so only
rests between 1024 and \maxima may be printed.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tuplets are made from a music expression with the \tuplet
command, multiplying the speed of the music expression by a fraction:
\tuplet fraction { music }
|
The fraction’s numerator will be printed over or under the notes, optionally with a bracket. The most common tuplets are triplets (3 notes played within the duration normally allowed for 2).
\relative { a'2 \tuplet 3/2 { b4 4 4 } c4 c \tuplet 3/2 { b4 a g } }
When entering long passages of tuplets, having to write a separate
\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:
\relative { g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e } }
Tuplet brackets may be manually placed above or below the staff:
\relative { \tupletUp \tuplet 3/2 { c''8 d e } \tupletNeutral \tuplet 3/2 { c8 d e } \tupletDown \tuplet 3/2 { f,8 g a } \tupletNeutral \tuplet 3/2 { f8 g a } }
Tuplets may be nested:
\relative { \autoBeamOff c''4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 }
Modifying nested tuplets which begin at the same musical moment must be
done with \tweak; see The \tweak command.
Tuplet brackets may be replaced with slurs, as is preferred in many older editions:
\relative { \tuplet 3/2 4 { \override TupletBracket.tuplet-slur = ##t c'4 e8 d4 f8 \override TupletBracket.bracket-visibility = ##t e f g f e d } c1 }
By default, a bracket is only printed if all of the notes it spans
are not beamed together; in some cases (for example with slurs, as
in the example above) it may be preferrable to change that behavior,
through the bracket-visibility property as detailed in
one of the following snippets.
More generally, either or both the TupletBracket and
TupletNumber objects may be hidden or shown as explained in
Visibility of objects; however, a more flexible way of
modifying the duration of notes without printing a tuplet
bracket is also introduced in Scaling durations.
\tupletUp,
\tupletDown,
\tupletNeutral.
Entering several tuplets using only one \tuplet command
The property tupletSpannerDuration sets how long each of the
tuplets contained within the brackets after \tuplet should
last. Many consecutive tuplets can then be placed within a single
\tuplet expression, thus saving typing.
There are several ways to set tupletSpannerDuration. The
command \tupletSpan sets it to a given duration, and clears it
when instead of a duration \default is specified. Another way
is to use an optional argument with \tuplet.
\relative c' { \time 2/4 \tupletSpan 4 \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c } \tupletSpan \default \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c } \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c } }
Changing the tuplet number
By default, only the numerator of the tuplet number is printed over the
tuplet bracket, i.e., the numerator of the argument to the
\tuplet command.
Alternatively, num:den of the tuplet number may be printed, or the tuplet number may be suppressed altogether.
\relative c'' { \tuplet 3/2 { c8 c c } \tuplet 3/2 { c8 c c } \override TupletNumber.text = #tuplet-number::calc-fraction-text \tuplet 3/2 { c8 c c } \omit TupletNumber \tuplet 3/2 { c8 c c } }
Non-default tuplet numbers
LilyPond also provides formatting functions to print tuplet numbers different than the actual fraction, as well as to append a note value to the tuplet number or tuplet fraction.
\relative c'' { \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-denominator-text 7) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) (ly:make-duration 3 0)) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text (ly:make-duration 2 0)) \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text (ly:make-duration 2 0)) \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::fraction-with-notes (ly:make-duration 2 1) (ly:make-duration 3 0)) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-fraction-with-notes 12 (ly:make-duration 3 0) 4 (ly:make-duration 2 0)) \tuplet 3/2 { c4. c4. c4. c4. } }
Controlling tuplet bracket visibility
The default behavior of tuplet-bracket visibility is to print a bracket
unless there is a beam of the same length as the tuplet. To control the
visibility of tuplet brackets, set the property
'bracket-visibility to either #t (always print a
bracket), 'if-no-beam (only print a bracket if there is no beam,
which is the default behavior), or #f (never print a bracket).
The latter is in fact equivalent to omitting the TupletBracket
object altogether from the printed output.
music = \relative c'' { \tuplet 3/2 { c16[ d e } f8] \tuplet 3/2 { c8 d e } \tuplet 3/2 { c4 d e } } \new Voice { \relative c' { << \music s4^"default" >> \override TupletBracket.bracket-visibility = #'if-no-beam << \music s4^"'if-no-beam" >> \override TupletBracket.bracket-visibility = ##t << \music s4^"#t" >> \override TupletBracket.bracket-visibility = ##f << \music s4^"#f" >> \omit TupletBracket << \music s4^"omit" >> } }
Permitting line breaks within beamed tuplets
This artificial example shows how both manual and automatic line breaks may be permitted to within a beamed tuplet. Note that such off-beat tuplets have to be beamed manually.
\layout { \context { \Voice % Permit line breaks within tuplets \remove "Forbid_line_break_engraver" % Allow beams to be broken at line breaks \override Beam.breakable = ##t } } \relative c'' { a8 \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } % Insert a manual line break within a tuplet \tuplet 3/2 { c[ b \bar "" \break a] } \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } c8 }
Music Glossary: (music-glossary)triplet section ‘triplet’ in Music Glossary, (music-glossary)tuplet section ‘tuplet’ in Music Glossary, (music-glossary)polymetric section ‘polymetric’ in Music Glossary.
Learning Manual: (learning)Tweaking methods section ‘Tweaking methods’ in Learning Manual.
Notation Reference:
Direction and placement,
Visibility of objects,
Time administration,
Scaling durations,
The \tweak command,
Polymetric notation.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)TupletBracket section ‘TupletBracket’ in Internals Reference, (internals)TupletNumber section ‘TupletNumber’ in Internals Reference, (internals)TimeScaledMusic section ‘TimeScaledMusic’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The duration of single notes, rests or chords may be multiplied by
a fraction N/M by appending *N/M (or *N if
M is 1) to the duration. Factors may also be added by
using Scheme expressions evaluating to a number or musical length
like *#(ly:music-length music). This is convenient
for scaling a duration of ‘1’ to let a note or multi-measure
rest stretch to a length derived from a music variable.
Adding a factor will not affect the appearance of the
notes or rests produced, but the altered duration will be used in
calculating the position within the measure and setting the duration
in the MIDI output. Multiplying factors may be combined like
*L*M/N. Factors are part of the duration: if a duration is
not specified for subsequent notes, the default duration taken from
the preceding note will include any scaling factor.
In the following example, the first three notes take up exactly two beats, but no triplet bracket is printed.
\relative { \time 2/4 % Alter durations to triplets a'4*2/3 gis a % Normal durations a4 a % Double the duration of chord <a d>4*2 % Duration of quarter, appears like sixteenth b16*4 c4 }
The duration of spacer rests may also be modified by
a multiplier. This is useful for skipping many measures, e.g.,
s1*23.
Longer stretches of music may be compressed by a fraction in the same way, as if every note, chord or rest had the fraction as a multiplier. This leaves the appearance of the music unchanged but the internal duration of the notes will be multiplied by the given scale factor, usually num/den. Here is an example showing how music can be compressed and expanded:
\relative { \time 2/4 % Normal durations <c'' a>4 c8 a % Scale music by *2/3 \scaleDurations 2/3 { <c a f>4. c8 a f } % Scale music by *2 \scaleDurations 2 { <c' a>4 c8 b } }
One application of this command is in polymetric notation, see Polymetric notation.
Notation Reference: Tuplets, Invisible rests, Polymetric notation.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
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.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A tie connects two adjacent note heads of the same pitch. The tie in effect extends the duration of a note.
Note: Ties should not be confused with slurs, which indicate articulation, or phrasing slurs, which indicate musical phrasing. A tie is just a way of extending a note duration, similar to the augmentation dot.
A tie is entered by appending a tilde symbol (~) 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.
{ a'2~ 4~ 16 r r8 }
Ties can make use of the ‘last explicit pitch’ interpretation of isolated durations:
{ a'2~ 4~ 16 r r8 }
Ties are used either when the note crosses a bar line, or when dots cannot be used to denote the rhythm. Ties should also be used when note values cross larger subdivisions of the measure:
\relative { r8 c'4.~ 4 r4 | r8^"not" c2~ 8 r4 }
If you need to tie many notes across bar lines, it may be easier to use automatic note splitting, see Automatic note splitting. This mechanism automatically splits long notes, and ties them across bar lines.
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 ties inside the chord.
\relative c' { <c e g>2~ 2 | <c e g>4~ <c e g c> <c~ e g~ b> <c e g b> | }
When a second alternative of a repeat starts with a tied note, you have to specify the repeated tie as follows:
\relative { \repeat volta 2 { c'' g <c e>2~ } \alternative { % First alternative: following note is tied normally { <c e>2. r4 } % Second alternative: following note has a repeated tie { <c e>2\repeatTie d4 c } } }
L.v. ties (laissez vibrer) indicate that notes must not be damped at the end. It is used in notation for piano, harp and other string and percussion instruments. They can be entered as follows:
<c' f' g'>1\laissezVibrer
Ties may be made to curve up or down manually; see Direction and placement.
Ties may be made dashed, dotted, or a combination of solid and dashed.
\relative c' { \tieDotted c2~ 2 \tieDashed c2~ 2 \tieHalfDashed c2~ 2 \tieHalfSolid c2~ 2 \tieSolid c2~ 2 }
Custom dash patterns can be specified:
\relative c' { \tieDashPattern #0.3 #0.75 c2~ 2 \tieDashPattern #0.7 #1.5 c2~ 2 \tieSolid c2~ 2 }
Dash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.
Override whiteout and layer layout properties of objects that should cause a gap in ties.
\relative { \override Tie.layer = #-2 \override Staff.TimeSignature.layer = #-1 \override Staff.KeySignature.layer = #-1 \override Staff.TimeSignature.whiteout = ##t \override Staff.KeySignature.whiteout = ##t b'2 b~ \time 3/4 \key a \major b r4 }
\tieUp,
\tieDown,
\tieNeutral,
\tieDotted,
\tieDashed,
\tieDashPattern,
\tieHalfDashed,
\tieHalfSolid,
\tieSolid.
Using ties with arpeggios
Ties are sometimes used to write out arpeggios. In this case, two tied
notes need not be consecutive. This can be achieved by setting the
tieWaitForNote property to #t. The same feature is also
useful, for example, to tie a tremolo to a chord, but in principle, it
can also be used for ordinary consecutive notes.
\relative c' { \set tieWaitForNote = ##t \grace { c16[ ~ e ~ g] ~ } <c, e g>2 \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1 e8 ~ c ~ a ~ f ~ <e' c a f>2 \tieUp c8 ~ a \tieDown \tieDotted g8 ~ c g2 }
Engraving ties manually
Ties may be engraved manually by changing the tie-configuration
property of the TieColumn object. The first number indicates the
distance from the center of the staff in half staff-spaces, and the
second number indicates the direction (1 = up, -1 = down).
Note that LilyPond makes a distinction between exact and inexact values
for the first number. If using an exact value (i.e., either an integer
or a fraction like (/ 4 5)), the value serves as a rough
vertical position that gets further tuned by LilyPond to make the tie
avoid staff lines. If using an inexact value like a floating point
number, it is taken as the vertical position without further
adjustments.
\relative c' { <c e g>2~ <c e g> \override TieColumn.tie-configuration = #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1)) <c e g>2~ <c e g> \override TieColumn.tie-configuration = #'((0 . 1) (-2 . 1) (-4 . 1)) <c e g>2~ <c e g> }
Music Glossary: (music-glossary)tie section ‘tie’ in Music Glossary, (music-glossary)laissez vibrer section ‘laissez vibrer’ in Music Glossary.
Notation Reference: Slurs, Automatic note splitting.
Snippets: (snippets)Expressive marks section ‘Expressive marks’ in Snippets, (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)LaissezVibrerTie section ‘LaissezVibrerTie’ in Internals Reference, (internals)LaissezVibrerTieColumn section ‘LaissezVibrerTieColumn’ in Internals Reference, (internals)TieColumn section ‘TieColumn’ in Internals Reference, (internals)Tie section ‘Tie’ in Internals Reference.
Switching staves when a tie is active will not produce a slanted tie.
Changing clefs or ottavations during a tie is not really well-defined. In these cases, a slur may be preferable.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Rests are entered as part of the music in music expressions.
| Rests | ||
| Invisible rests | ||
| Full measure rests |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Rests are entered like notes with the note name r.
Durations longer than a whole rest use the following predefined
commands:
\new Staff { % These two lines are just to prettify this example \time 16/1 \omit Staff.TimeSignature % Print a maxima rest, equal to four breves r\maxima % Print a longa rest, equal to two breves r\longa % Print a breve rest r\breve r1 r2 r4 r8 r16 r32 r64 r128 }
Whole measure rests, centered in the middle of the measure, must be entered as multi-measure rests. They can be used for a single measure as well as many measures and are discussed in Full measure rests.
To explicitly specify a rest’s vertical position, write a note
followed by \rest. A rest of the duration of the note will
be placed at the staff position where the note would appear. This
allows for precise manual formatting of polyphonic music, since the
automatic rest collision formatter will not move these rests.
\relative { a'4\rest d4\rest }
Rest styles
Rests may be used in various styles.
\new Staff \relative c { \omit Score.TimeSignature \cadenzaOn \override Staff.Rest.style = #'mensural r\maxima^\markup \typewriter { mensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \break \override Staff.Rest.style = #'neomensural r\maxima^\markup \typewriter { neomensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \break \override Staff.Rest.style = #'classical r\maxima^\markup \typewriter { classical } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 \bar "" \break \override Staff.Rest.style = #'z r\maxima^\markup \typewriter { z-style } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 \bar "" \break \override Staff.Rest.style = #'default r\maxima^\markup \typewriter { default } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 }
Music Glossary: (music-glossary)breve section ‘breve’ in Music Glossary, (music-glossary)longa section ‘longa’ in Music Glossary, (music-glossary)maxima section ‘maxima’ in Music Glossary.
Notation Reference: Full measure rests.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Rest section ‘Rest’ in Internals Reference.
There is no fundamental limit to rest durations (both in terms of longest and shortest), but the number of glyphs is limited: there are rests from 1024th to maxima (8× whole).
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
An invisible rest (also called a ‘spacer rest’) can be entered
like a note with the note name s:
\relative c'' { c4 c s c | s2 c | }
Spacer rests are available only in note mode and chord mode. In
other situations, for example, when entering lyrics, the
command \skip is used to skip a musical moment.
\skip requires an explicit duration, but this is ignored if
the lyrics derive their durations from the notes in an associated
melody through \addlyrics or \lyricsto.
<< { a'2 \skip2 a'2 a'2 } \new Lyrics { \lyricmode { foo2 \skip 1 bla2 } } >>
Because \skip is a command, it does not affect the default
durations of following notes, unlike s.
<< { \repeat unfold 8 { a'4 } } { a'4 \skip 2 a' | s2 a' } >>
A spacer rest implicitly causes Staff and Voice
contexts to be created if none exist, just like notes and rests
do:
{ s1 s s }
\skip simply skips musical time; it creates no output of
any kind.
% This is valid input, but does nothing { \skip 1 \skip1 \skip 1 }
Learning Manual: (learning)Visibility and color of objects section ‘Visibility and color of objects’ in Learning Manual.
Notation Reference: Hidden notes, Visibility of objects.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)SkipMusic section ‘SkipMusic’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Rests for one or more full measures are entered like notes with the note name uppercase ‘R’. Their duration is entered identically to the duration notation used for notes, including the ability to use duration multipliers, as explained in Scaling durations:
% Rest measures contracted to single measure \compressMMRests { R1*4 R1*24 R1*4 b'2^"Tutti" b'4 a'4 }
The example above also demonstrates how to compress multiple empty measures, as explained in Compressing empty measures.
The duration of a multi-measure rest must always be equal to the length of one or several measures. Therefore, some time signatures require the use of augmentation dots or fractions:
\compressMMRests { \time 2/4 R1 | R2 | \time 3/4 R2. | R2.*2 | \time 13/8 R1*13/8 | R1*13/8*12 | \time 10/8 R4*5*4 | }
A full-measure rest is printed as either a whole or breve rest, centered in the measure, depending on the time signature.
\time 4/4 R1 | \time 6/4 R1*3/2 | \time 8/4 R1*2 |
Markups can be added to multi-measure rests.
\compressMMRests { \time 3/4 R2.*10^\markup { \italic "ad lib." } }
Note: Markups and articulations attached to a multi-measure rest
are objects of types MultiMeasureRestText and
MultiMeasureRestScript, not TextScript and
Script. Overrides must
be directed to the correct object, or they will be ignored. See the
following example:
% This fails, as the wrong object name is specified \override TextScript.padding = #5 \override Script.color = #blue R1^"wrong" R1\fermata % This is the correct object name to be specified \override MultiMeasureRestText.padding = #5 \override MultiMeasureRestScript.color = #blue R1^"right" R1\fermata
When a multi-measure rest immediately follows a \partial
setting, resulting bar-check warnings may not be displayed.
\textLengthOn,
\textLengthOff,
\compressMMRests.
Multi-measure rest length control
Multi-measure rests have length according to their total duration which
is under the control of MultiMeasureRest.space-increment. Note that
the default value is 2.0.
\relative c' { \compressEmptyMeasures R1*2 R1*4 R1*64 R1*16 \override Staff.MultiMeasureRest.space-increment = 2.5 R1*2 R1*4 R1*64 R1*16 }
Positioning multi-measure rests
Unlike ordinary rests, there is no predefined command to change the staff position of a multi-measure rest symbol of either form by attaching it to a note. However, in polyphonic music multi-measure rests in odd-numbered and even-numbered voices are vertically separated. The positioning of multi-measure rests can be controlled as follows:
\relative c'' { % Multi-measure rests by default are set under the fourth line R1 % They can be moved using an override \override MultiMeasureRest.staff-position = #-2 R1 \override MultiMeasureRest.staff-position = #0 R1 \override MultiMeasureRest.staff-position = #2 R1 \override MultiMeasureRest.staff-position = #3 R1 \override MultiMeasureRest.staff-position = #6 R1 \revert MultiMeasureRest.staff-position \break % In two Voices, odd-numbered voices are under the top line << { R1 } \\ { a1 } >> % Even-numbered voices are under the bottom line << { a1 } \\ { R1 } >> % Multi-measure rests in both voices remain separate << { R1 } \\ { R1 } >> % Separating multi-measure rests in more than two voices % requires an override << { R1 } \\ { R1 } \\ \once \override MultiMeasureRest.staff-position = #0 { R1 } >> % Using compressed bars in multiple voices requires another override % in all voices to avoid multiple instances being printed \compressMMRests << \revert MultiMeasureRest.direction { R1*3 } \\ \revert MultiMeasureRest.direction { R1*3 } >> }
Multi-measure rest markup
Markups attached to a multi-measure rest will be centered above or below it. Long markups attached to multi-measure rests do not cause the measure to expand. To expand a multi-measure rest to fit the markup, use an empty chord with an attached markup before the multi-measure rest.
Text attached to a spacer rest in this way is left-aligned to the position where the note would be placed in the measure, but if the measure length is determined by the length of the text, the text will appear to be centered.
\relative c' { \compressMMRests { \textLengthOn <>^\markup { [MAJOR GENERAL] } R1*19 <>_\markup { \italic { Cue: ... it is yours } } <>^\markup { A } R1*30^\markup { [MABEL] } \textLengthOff c4^\markup { CHORUS } d f c } }
Music Glossary: (music-glossary)multi-measure rest section ‘multi-measure rest’ in Music Glossary.
Notation Reference: Durations, Scaling durations, Compressing empty measures, Text, Formatting text, Text scripts.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)MultiMeasureRest section ‘MultiMeasureRest’ in Internals Reference, (internals)MultiMeasureRestNumber section ‘MultiMeasureRestNumber’ in Internals Reference, (internals)MultiMeasureRestScript section ‘MultiMeasureRestScript’ in Internals Reference, (internals)MultiMeasureRestText section ‘MultiMeasureRestText’ in Internals Reference.
Fingerings over multi-measure rests (e.g., R1*10-4) may result
in the fingering numeral colliding with the bar counter
numeral.
There is no way to automatically condense multiple ordinary rests into a single multi-measure rest.
Multi-measure rests do not take part in rest collisions.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Time signature | ||
| Metronome marks | ||
| Upbeats | ||
| Unmetered music | ||
| Polymetric notation | ||
| Automatic note splitting | ||
| Showing melody rhythms |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The time signature is set as follows:
\time 2/4 c''2 \time 3/4 c''2.
Mid-measure time signature changes are covered in Upbeats.
Time signatures are printed at the beginning of a piece and whenever the time signature changes. If a change takes place at the end of a line a warning time signature sign is printed there. This default behavior may be changed, see Visibility of objects.
\relative c'' { \time 2/4 c2 c \break c c \break \time 4/4 c c c c }
The time signature symbol that is used in 2/2 and 4/4 time can be changed to a numeric style:
\relative c'' { % Default style \time 4/4 c1 \time 2/2 c1 % Change to numeric style \numericTimeSignature \time 4/4 c1 \time 2/2 c1 % Revert to default style \defaultTimeSignature \time 4/4 c1 \time 2/2 c1 }
Mensural time signatures are covered in Mensural time signatures.
In addition to setting the printed time signature, the \time
command also sets the values of the time-signature-based properties
baseMoment, beatStructure, and beamExceptions.
The predefined default values for these properties can be found in
‘scm/time-signature-settings.scm’.
The default value of beatStructure can be overridden in the
\time command itself by supplying it as the optional first
argument:
\score { \new Staff { \relative { \time 2,2,3 7/8 \repeat unfold 7 { c'8 } | \time 3,2,2 7/8 \repeat unfold 7 { c8 } | } } }
Alternatively, the default values of all these time-signature-based
variables, including baseMoment and beamExceptions,
can be set together. The values can be set independently for several
different time signatures. The new values take effect when a
subsequent \time command with the same value of the time
signature is executed:
\score { \new Staff { \relative c' { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | } } }
\overrideTimeSignatureSettings takes four arguments:
timeSignatureFraction, a fraction describing the
time signature to which these values apply.
baseMomentFraction, a fraction containing the numerator
and denominator of the basic timing unit for the time signature.
beatStructure, a Scheme list indicating the structure
of the beats in the measure, in units of the base moment.
beamExceptions, an alist containing any beaming rules
for the time signature that go beyond ending at every beat, as
described in Setting automatic beam behavior.
Changed values of default time signature properties can be restored to the original values:
\score { \relative { \repeat unfold 8 { c'8 } | \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | \revertTimeSignatureSettings 4/4 \time 4/4 \repeat unfold 8 { c8 } | } }
Different values of default time signature properties can be established
for different staves by moving the Timing_translator and the
Default_bar_line_engraver from the Score context to the
Staff context.
\score { \new StaffGroup << \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 1,3 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } >> \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } }
A further method of changing these time-signature-related variables, which avoids reprinting the time signature at the time of the change, is shown in Setting automatic beam behavior.
\numericTimeSignature,
\defaultTimeSignature.
Time signature printing only the numerator as a number (instead of the fraction)
Sometimes, a time signature should not print the whole fraction (e.g.
7/4), but only the numerator (7 in this case). This can be easily done
by using \override Staff.TimeSignature.style = #'single-digit
to change the style permanently. By using \revert
Staff.TimeSignature.style, this setting can be reversed. To apply the
single-digit style to only one time signature, use the
\override command and prefix it with a \once.
\relative c'' { \time 3/4 c4 c c % Change the style permanently \override Staff.TimeSignature.style = #'single-digit \time 2/4 c4 c \time 3/4 c4 c c % Revert to default style: \revert Staff.TimeSignature.style \time 2/4 c4 c % single-digit style only for the next time signature \once \override Staff.TimeSignature.style = #'single-digit \time 5/4 c4 c c c c \time 2/4 c4 c }
Music Glossary: (music-glossary)time signature section ‘time signature’ in Music Glossary
Notation Reference: Mensural time signatures, Setting automatic beam behavior, Time administration.
Installed Files: ‘scm/time-signature-settings.scm’.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)TimeSignature section ‘TimeSignature’ in Internals Reference, (internals)Timing_translator section ‘Timing_translator’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A basic metronome mark is simple to write:
\relative { \tempo 4 = 120 c'2 d e4. d8 c2 }
Metronome marks may also be printed as a range of two numbers:
\relative { \tempo 4 = 40 - 46 c'4. e8 a4 g b,2 d4 r }
Tempo indications with text can be used instead:
\relative { \tempo "Allegretto" c''4 e d c b4. a16 b c4 r4 }
Combining a metronome mark and text will automatically place the metronome mark within parentheses:
\relative { \tempo "Allegro" 4 = 160 g'4 c d e d4 b g2 }
In general, the text can be any markup object:
\relative { \tempo \markup { \italic Faster } 4 = 132 a'8-. r8 b-. r gis-. r a-. r }
A parenthesized metronome mark with no textual indication may be written by including an empty string in the input:
\relative { \tempo "" 8 = 96 d''4 g e c }
In a part for an instrument with long periods of rests (see
Full measure rests),
tempo indications sometimes follow each other closely.
The command \markLengthOn provides extra horizontal space
to prevent tempo indications from overlapping, and \markLengthOff
restores the default behavior of ignoring tempo marks
for horizontal spacing.
\compressMMRests { \markLengthOn \tempo "Molto vivace" R1*12 \tempo "Meno mosso" R1*16 \markLengthOff \tempo "Tranquillo" R1*20 }
Printing metronome and rehearsal marks below the staff
By default, metronome and rehearsal marks are printed above the staff.
To place them below the staff simply set the direction property
of MetronomeMark or RehearsalMark appropriately.
\layout { indent = 0 ragged-right = ##f } { % Metronome marks below the staff \override Score.MetronomeMark.direction = #DOWN \tempo 8. = 120 c''1 % Rehearsal marks below the staff \override Score.RehearsalMark.direction = #DOWN \mark \default c''1 }
Changing the tempo without a metronome mark
To change the tempo in MIDI output without printing anything, make the metronome mark invisible.
\score { \new Staff \relative c' { \tempo 4 = 160 c4 e g b c4 b d c \set Score.tempoHideNote = ##t \tempo 4 = 96 d,4 fis a cis d4 cis e d } \layout { } \midi { } }
Creating metronome marks in markup mode
New metronome marks can be created in markup mode, but they will not change the tempo in MIDI output.
\relative c' { \tempo \markup { \concat { ( \smaller \general-align #Y #DOWN \note {16.} #1 " = " \smaller \general-align #Y #DOWN \note {8} #1 ) } } c1 c4 c' c,2 }
For more details, see Formatting text.
Music Glossary: (music-glossary)metronome section ‘metronome’ in Music Glossary, (music-glossary)metronomic indication section ‘metronomic indication’ in Music Glossary, (music-glossary)tempo indication section ‘tempo indication’ in Music Glossary, (music-glossary)metronome mark section ‘metronome mark’ in Music Glossary.
Notation Reference: Formatting text, Creating MIDI output, Full measure rests.
Snippets: (snippets)Staff notation section ‘Staff notation’ in Snippets.
Internals Reference: (internals)MetronomeMark section ‘MetronomeMark’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Partial or pick-up measures, such as an anacrusis or an
upbeat, are entered using the \partial command:
\partial duration |
When \partial is used at the beginning of a score,
duration is the length of the music preceding the
first bar.
\relative { \time 3/4 \partial 4. r4 e'8 | a4 c8 b c4 | }
When \partial is used after the beginning of a score,
duration is the remaining length of the
current measure. It does not create a new numbered bar.
\relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 9/8 d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||" \time 12/8 \partial 4. c8( d) e | f2.~ 4 f8 a,( c) f | }
The \partial command is required when the time
signature changes in mid measure, but it may also be used alone.
\relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 6/8 \partial 8 e'8 | a4 c8 b[ c b] | \partial 4 r8 e,8 | a4 \bar "||" \partial 4 r8 e8 | a4 c8 b[ c b] | }
The \partial command sets the Timing.measurePosition
property, which is a rational number that indicates how much of
the measure has passed.
Music Glossary: (music-glossary)anacrusis section ‘anacrusis’ in Music Glossary.
Notation Reference: Grace notes.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internal Reference: (internals)Timing_translator section ‘Timing_translator’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In metered music bar lines are inserted and bar numbers are calculated
automatically. In unmetered music (i.e., cadenzas), this is not
desirable and can be ‘switched off’ using the command
\cadenzaOn, then ‘switched back on’ at the appropriate place
using \cadenzaOff.
\relative c'' { c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c }
Bar numbering is resumed at the end of the cadenza.
\relative c'' { % Show all bar numbers \override Score.BarNumber.break-visibility = #all-visible c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c }
Inserting a \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 \bar. If
subsequent accidentals should be printed, forced accidentals or
reminder accidentals need to be inserted manually, see
Accidentals.
\relative c'' { 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 "|" }
Automatic beaming is disabled by \cadenzaOn. Therefore, all
beaming in cadenzas must be entered manually. See Manual beams.
\relative { \repeat unfold 8 { c''8 } \cadenzaOn cis8 c c c c \bar"|" c8 c c \cadenzaOff \repeat unfold 8 { c8 } }
These predefined commands affect all staves in the score, even when
placed in just one Voice context. To change this, move the
Timing_translator from the Score context to the
Staff context. See Polymetric notation.
\cadenzaOn,
\cadenzaOff.
Music Glossary: (music-glossary)cadenza section ‘cadenza’ in Music Glossary.
Notation Reference: Visibility of objects, Polymetric notation, Manual beams, Accidentals.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Automatic line and page breaks are inserted only at bar lines, so ‘invisible’ bar lines will need to be inserted manually in long stretches of unmetered music to permit breaking:
\bar "" |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations.
Set a common time signature for each staff, and set the
timeSignatureFraction to the desired fraction. Then use the
\scaleDurations function to scale the durations of the notes in
each staff to the common time signature.
In the following example, music with the time signatures of 3/4, 9/8 and 10/8 are used in parallel. In the second staff, shown durations are multiplied by 2/3 (because 2/3 * 9/8 = 3/4) and in the third staff, the shown durations are multiplied by 3/5 (because 3/5 * 10/8 = 3/4). It may be necessary to insert beams manually, as the duration scaling will affect the autobeaming rules.
\relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 \repeat unfold 6 { c8[ c c] } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 10/8 \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c \tuplet 3/2 { c8[ c c] } c4 } } >>
Each staff can be given its own independent time signature by
moving the Timing_translator and the
Default_bar_line_engraver to the Staff context.
\layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } % Now each staff has its own time signature. \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 2/4 c4 c | c4 c | c4 c | } \new Staff { \time 3/8 c4. | c8 c c | c4. | c8 c c | } >>
These are created using the \compoundMeter function. The syntax
for this is:
\compoundMeter #'(list of lists) |
The simplest construction is a single list, where the last number indicates the bottom number of the time signature and those that come before it, the top numbers.
\relative { \compoundMeter #'((2 2 2 8)) \repeat unfold 6 c'8 \repeat unfold 12 c16 }
More complex meters can be constructed using additional lists. Also, automatic beaming settings will be adjusted depending on the values.
\relative { \compoundMeter #'((1 4) (3 8)) \repeat unfold 5 c'8 \repeat unfold 10 c16 } \relative { \compoundMeter #'((1 2 3 8) (3 4)) \repeat unfold 12 c'8 }
Music Glossary: (music-glossary)polymetric section ‘polymetric’ in Music Glossary, (music-glossary)polymetric time signature section ‘polymetric time signature’ in Music Glossary, (music-glossary)meter section ‘meter’ in Music Glossary.
Notation Reference: Automatic beams, Manual beams, Time signature, Scaling durations.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)TimeSignature section ‘TimeSignature’ in Internals Reference, (internals)Timing_translator section ‘Timing_translator’ in Internals Reference, (internals)Default_bar_line_engraver section ‘Default_bar_line_engraver’ in Internals Reference, (internals)Staff section ‘Staff’ in Internals Reference.
Although notes that occur at the same moment in each of the different staves will be placed at the same horizontal location, bar lines (in each staff) may cause inconsistent spacing within each of the different time signatures.
Using a midi block with polymetric notation may cause unexpected
barcheck warnings. In this case move the Timing_translator from
the Score context to the Staff context within the
midiblock.
\midi {
\context {
\Score
\remove "Timing_translator"
}
\context {
\Staff
\consists "Timing_translator"
}
}
|
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Long notes which overrun bar lines can be converted automatically to
tied notes. This is done by replacing the Note_heads_engraver
with the Completion_heads_engraver. Similarly, long rests which
overrun bar lines are split automatically by replacing the
Rest_engraver with the Completion_rest_engraver. In the
following example, notes and rests crossing the bar lines are split,
notes are also tied.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" } \relative { c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }
These engravers split all running notes and rests at the bar line, and inserts ties for notes. One of its uses is to debug complex scores: if the measures are not entirely filled, then the ties show exactly how much each measure is off.
The property completionUnit sets a preferred duration for
the split notes.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } \relative { \time 9/8 g\breve. d''4. \bar "||" \set completionUnit = #(ly:make-moment 3 8) g\breve. d4. }
These engravers split notes with scaled duration, such as those in tuplets, into notes with the same scale-factor as in the input note.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } \relative { \time 2/4 r4 \tuplet 3/2 {g'4 a b} \scaleDurations 2/3 {g a b} g4*2/3 a b \tuplet 3/2 {g4 a b} r4 }
Music Glossary: (music-glossary)tie section ‘tie’ in Music Glossary
Learning Manual: (learning)Engravers explained section ‘Engravers explained’ in Learning Manual, (learning)Adding and removing engravers section ‘Adding and removing engravers’ in Learning Manual.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Note_heads_engraver section ‘Note_heads_engraver’ in Internals Reference, (internals)Completion_heads_engraver section ‘Completion_heads_engraver’ in Internals Reference, (internals)Rest_engraver section ‘Rest_engraver’ in Internals Reference, (internals)Completion_rest_engraver section ‘Completion_rest_engraver’ in Internals Reference, (internals)Forbid_line_break_engraver section ‘Forbid_line_break_engraver’ in Internals Reference.
For consistency with previous behavior, notes and rests with
duration longer than a measure, such as c1*2, are split into
notes without any scale factor, { c1 c1 }. The property
completionFactor controls this behavior, and setting it to
#f cause split notes and rests to have the scale factor
of the input durations.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sometimes you might want to show only the rhythm of a melody. This can be done with the rhythmic staff. All pitches of notes on such a staff are squashed, and the staff itself has a single line
<< \new RhythmicStaff { \new Voice = "myRhythm" \relative { \time 4/4 c'4 e8 f g2 r4 g g f g1 } } \new Lyrics { \lyricsto "myRhythm" { This is my song I like to sing } } >>
Guitar chord charts often show the strumming rhythms. This can
be done with the Pitch_squash_engraver and
\improvisationOn.
<< \new ChordNames { \chordmode { c1 f g c } } \new Voice \with { \consists "Pitch_squash_engraver" } \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } >>
Music containing chords can also be used as input to RhythmicStaff
and for use with the Pitch_squash_engraver if the chords are first
reduced to single notes with the \reduceChords music function:
\new RhythmicStaff { \time 4/4 \reduceChords { <c>2 <e>2 <c e g>2 <c e g>4 <c e g>4 } }
\improvisationOn,
\improvisationOff,
\reduceChords.
Guitar strum rhythms
For guitar music, it is possible to show strum rhythms, along with melody notes, chord names and fret diagrams.
\include "predefined-guitar-fretboards.ly" << \new ChordNames { \chordmode { c1 | f | g | c } } \new FretBoards { \chordmode { c1 | f | g | c } } \new Voice \with { \consists "Pitch_squash_engraver" } { \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } } \new Voice = "melody" { \relative c'' { c2 e4 e4 f2. r4 g2. a4 e4 c2. } } \new Lyrics { \lyricsto "melody" { This is my song. I like to sing. } } >>
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)RhythmicStaff section ‘RhythmicStaff’ in Internals Reference, (internals)Pitch_squash_engraver section ‘Pitch_squash_engraver’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Automatic beams | ||
| Setting automatic beam behavior | ||
| Manual beams | ||
| Feathered beams |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
By default, beams are inserted automatically:
\relative c'' { \time 2/4 c8 c c c \time 6/8 c8 c c c8. c16 c8 }
If these automatic decisions are not satisfactory, beaming can be entered explicitly; see Manual beams. Beams must be entered manually if beams are to be extended over rests.
If automatic beaming is not required, it may be turned off with
\autoBeamOff and on with \autoBeamOn:
\relative c' { c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. \autoBeamOn c16 c8 }
Note: If beams are used to indicate melismata in songs, then
automatic beaming should be switched off with \autoBeamOff
and the beams indicated manually. Using \partCombine with
\autoBeamOff can produce unintended results. See the
snippets for more information.
Beaming patterns that differ from the automatic defaults can be created; see Setting automatic beam behavior.
\autoBeamOff,
\autoBeamOn.
Beams across line breaks
Line breaks are normally forbidden when beams cross bar lines. This behavior can be changed as shown:
\relative c'' { \override Beam.breakable = ##t c8 c[ c] c[ c] c[ c] c[ \break c8] c[ c] c[ c] c[ c] c }
Changing beam knee gap
Kneed beams are inserted automatically when a large gap is detected
between the note heads. This behavior can be tuned through the
auto-knee-gap property. A kneed beam is drawn if the gap is
larger than the value of auto-knee-gap plus the width of the
beam object (which depends on the duration of the notes and the slope
of the beam). By default auto-knee-gap is set to 5.5 staff
spaces.
{ f8 f''8 f8 f''8 \override Beam.auto-knee-gap = #6 f8 f''8 f8 f''8 }
Partcombine and autoBeamOff
The function of \autoBeamOff when used with
\partCombine can be difficult to understand.
It may be preferable to use
\set Staff.autoBeaming = ##f
instead, to ensure that autobeaming will be turned off for the entire staff.
\partCombine apparently works with 3 voices – stem up single,
stem down single, stem up combined.
An \autoBeamOff call in the first argument to partcombine will
apply to the voice that is active at the time the call is processed,
either stem up single or stem up combined. An \autoBeamOff call
in the second argument will apply to the voice that is stem down single.
In order to use \autoBeamOff to stop all autobeaming when used
with \partCombine, it will be necessary to use three calls to
\autoBeamOff.
{ %\set Staff.autoBeaming = ##f % turns off all autobeaming \partCombine { \autoBeamOff % applies to split up stems \repeat unfold 4 a'16 %\autoBeamOff % applies to combined up stems \repeat unfold 4 a'8 \repeat unfold 4 a'16 } { \autoBeamOff % applies to down stems \repeat unfold 4 f'8 \repeat unfold 8 f'16 | } }
Notation Reference: Manual beams, Setting automatic beam behavior.
Installed Files: ‘scm/auto-beam.scm’.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Auto_beam_engraver section ‘Auto_beam_engraver’ in Internals Reference, (internals)Beam_engraver section ‘Beam_engraver’ in Internals Reference, (internals)Beam section ‘Beam’ in Internals Reference, (internals)BeamEvent section ‘BeamEvent’ in Internals Reference, (internals)BeamForbidEvent section ‘BeamForbidEvent’ in Internals Reference, (internals)beam-interface section ‘beam-interface’ in Internals Reference, (internals)unbreakable-spanner-interface section ‘unbreakable-spanner-interface’ in Internals Reference.
The properties of a beam are determined at the start of its construction and any additional beam-property changes that occur before the beam has been completed will not take effect until the next, new beam starts.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
When automatic beaming is enabled, the placement of automatic beams
is determined by three context properties:
baseMoment, beatStructure, and beamExceptions.
The default values of these variables may be overridden as described
below, or alternatively the default values themselves may be changed
as explained in Time signature.
If a beamExceptions rule is defined for the time signature in
force, that rule alone is used to determine the beam placement; the
values of baseMoment and beatStructure are ignored.
If no beamExceptions rule is defined for the time signature
in force, the beam placement is determined by the values of
baseMoment and beatStructure.
baseMoment and beatStructureBy default, beamExceptions rules are defined for most common
time signatures, so the beamExceptions rules must be disabled
if automatic beaming is to be based on baseMoment and
beatStructure. The beamExceptions rules are disabled
by
\set Timing.beamExceptions = #'() |
When beamExceptions is set to #'(), either due to an
explicit setting or because no 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
baseMoment and beatStructure. beatStructure is
a scheme list that defines the length of each beat in the measure in
units of baseMoment. By default, baseMoment is one
over the denominator of the time signature. By default, each unit of
length baseMoment is a single beat.
Note that there are separate beatStructure and baseMoment
values for each time signature. Changes to these variables apply only
to the time signature that is currently in force, hence those changes
must be placed after the \time command which starts a new time
signature section, not before it. New values given to a particular
time signature are retained and reinstated whenever that time signature
is re-established.
\relative c'' { \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 | }
\relative { \time 4/4 a'8^"default" 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.beatStructure = 1,1,1,1 a8^"changed" a a a a a a a }
Beam setting changes can be limited to specific contexts. If no setting is included in a lower-level context, the setting of the enclosing context will apply.
\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 { \relative { a'8 a a a a a a } } \new Voice = two { \relative { \voiceTwo \set Voice.beatStructure = 1,3,3 f'8 f f f f f f } } >> }
When multiple voices are used the Staff context must be
specified if the beaming is to be applied to all voices in the
staff:
\time 7/8 % rhythm 3-1-1-2 % 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 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> % Works correctly with context Staff specified \set Staff.beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
The value of baseMoment can be adjusted to change
the beaming behavior, if desired. When this is done,
the value of beatStructure must be set to be
compatible with the new value of baseMoment.
\time 5/8 % 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 { a'16 }
baseMoment is a moment; a unit of musical duration. A
quantity of type moment is created by the scheme function
ly:make-moment. For more information about this function,
see Time administration.
By default baseMoment is set to one over the denominator of
the time signature. Any exceptions to this default can be found in
‘scm/time-signature-settings.scm’.
beamExceptionsSpecial autobeaming rules (other than ending a beam on a beat)
are defined in the beamExceptions property.
The value for beamExceptions, a somewhat complex Scheme
data structure, is easiest generated with the
\beamExceptions function. This function is given one or
more manually beamed measure-length rhythmic patterns (measures
have to be separated by a bar check | since the
function has no other way to discern the measure length). Here is
a simple example:
\relative c'' { \time 3/16 \set Timing.beatStructure = 2,1 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | }
Note: A beamExceptions value must be 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
Timing.baseMoment, Timing.beatStructure,
and Timing.beamExceptions are set. Setting the time signature
will reset the automatic beaming settings for the Timing
context to the default behavior.
\relative a' { \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 6/8 \repeat unfold 6 { a8 } }
The default automatic beaming settings for a time signature are determined in ‘scm/time-signature-settings.scm’. Changing the default automatic beaming settings for a time signature is described in Time signature.
Many automatic beaming settings for a time signature contain an
entry for beamExceptions. For example, 4/4 time tries to
beam the measure in two if there are only eighth notes. The
beamExceptions rule can override the beatStructure setting
if beamExceptions is not reset.
\time 4/4 \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 {c''8} | % This will beam (3 3 2) because we clear beamExceptions \set Timing.beamExceptions = #'() \repeat unfold 8 {c''8}
In a similar fashion, eighth notes in 3/4 time are beamed as a full
measure by default. To beam eighth notes in 3/4 time on the beat,
reset beamExceptions.
\time 3/4 % by default we beam in (6) due to beamExceptions \repeat unfold 6 {a'8} | % This will beam (1 1 1) due to default baseMoment and beatStructure \set Timing.beamExceptions = #'() \repeat unfold 6 {a'8}
In engraving from the Romantic and Classical periods,
beams often begin midway through the measure in 3/4 time,
but modern practice is to avoid the false impression of 6/8 time
(see Gould, p. 153). Similar situations arise in 3/8 time.
This behavior is controlled by the context property beamHalfMeasure,
which has effect only in time signatures with 3 in the numerator:
\relative a' { \time 3/4 r4. a8 a a | \set Timing.beamHalfMeasure = ##f r4. a8 a a | }
When automatic beaming is enabled, the placement of automatic beams
is determined by the context properties
baseMoment, beatStructure, and beamExceptions.
The following rules, in order of priority, apply when determining the appearance of beams:
[…] set the beam
as specified, otherwise
beamExceptions
for the beam-type, use it to determine the valid places where
beams may end, otherwise
beamExceptions
for a longer beam-type, use it to determine the valid places
where beams may end, otherwise
baseMoment and beatStructure to
determine the ends of the beats in the measure, and
end beams at the end of beats.
In the rules above, the beam-type is the duration of the shortest note in the beamed group.
The default beaming rules can be found in ‘scm/time-signature-settings.scm’.
Subdividing beams
The beams of consecutive 16th (or shorter) notes are, by default, not
subdivided. That is, the three (or more) beams stretch unbroken over
entire groups of notes. This behavior can be modified to subdivide the
beams into sub-groups by setting the property subdivideBeams.
When set, multiple beams will be subdivided at intervals defined by the
current value of baseMoment by reducing the multiple beams to
the number of beams that indicates the metric value of the subdivision.
If the group following the division is shorter than the current metric
value (usually because the beam is incomplete) the number of beams
reflects the longest possible subdivision group. However, if there is
only one note left after the division this restriction isn’t applied.
Note that baseMoment defaults to one over the denominator of the
current time signature if not set explicitly. It must be set to a
fraction giving the duration of the beam sub-group using the
ly:make-moment function, as shown in this snippet. Also, when
baseMoment is changed, beatStructure should also be
changed to match the new baseMoment:
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set beam sub-group length to an eighth note \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 c32[ c c c c c c c] % Set beam sub-group length to a sixteenth note \set baseMoment = #(ly:make-moment 1/16) \set beatStructure = 4,4,4,4 c32[ c c c c c c c] % Shorten beam by 1/32 \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 c32[ c c c c c c] r32 % Shorten beam by 3/32 \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = 2,2,2,2 c32[ c c c c] r16. r2 }
Strict beat beaming
Beamlets can be set to point in the direction of the beat to which they belong. The first beam avoids sticking out flags (the default); the second beam strictly follows the beat.
\relative c'' { \time 6/8 a8. a16 a a \set strictBeatBeaming = ##t a8. a16 a a }
Conducting signs measure grouping signs
Beat grouping within a measure is controlled by the context property
beatStructure. Values of beatStructure are established
for many time signatures in scm/time-signature-settings.scm.
Values of beatStructure can be changed or set with \set.
Alternatively, \time can be used to both set the time signature
and establish the beat structure. For this, you specify the internal
grouping of beats in a measure as a list of numbers (in Scheme syntax)
before the time signature.
\time applies to the Timing context, so it will not
reset values of beatStructure or baseMoment that are set
in other lower-level contexts, such as Voice.
If the Measure_grouping_engraver is included in one of the
display contexts, measure grouping signs will be created. Such signs
ease reading rhythmically complex modern music. In the example, the 9/8
measure is grouped in two different patterns using the two different
methods, while the 5/8 measure is grouped according to the default
setting in scm/time-signature-settings.scm:
\score { \new Voice \relative c'' { \time 9/8 g8 g d d g g a( bes g) | \set Timing.beatStructure = 2,2,2,3 g8 g d d g g a( bes g) | \time 4,5 9/8 g8 g d d g g a( bes g) | \time 5/8 a4. g4 | } \layout { \context { \Staff \consists "Measure_grouping_engraver" } } }
Beam endings in Score context
Beam-ending rules specified in the Score context apply to all
staves, but can be modified at both Staff and Voice
levels:
\relative c'' { \time 5/4 % Set default beaming for all staves \set Score.baseMoment = #(ly:make-moment 1/8) \set Score.beatStructure = 3,4,3 << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \set Staff.beatStructure = 6,4 c8 c c c c c c c c c } \new Staff { % Inherit beaming from Score context << { \voiceOne c8 c c c c c c c c c } % Modify beaming for this voice only \new Voice { \voiceTwo \set Voice.beatStructure = 6,4 a8 a a a a a a a a a } >> } >> }
Notation Reference: Time signature.
Installed Files: ‘scm/time-signature-settings.scm’.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Auto_beam_engraver section ‘Auto_beam_engraver’ in Internals Reference, (internals)Beam section ‘Beam’ in Internals Reference, (internals)BeamForbidEvent section ‘BeamForbidEvent’ in Internals Reference, (internals)beam-interface section ‘beam-interface’ in Internals Reference.
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.
The workaround for these problems is to manually beam the last
beam in the voice or score.
By default, the Timing translator is aliased to the
Score context. This means that setting the time signature
in one staff will affect the beaming of the other staves as well.
Thus, a time signature setting in a later staff will reset custom
beaming that was set in an earlier staff.
One way to avoid this problem is to set the time signature
in only one staff.
<< \new Staff { \time 3/4 \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = 1,5 \set Timing.beamExceptions = #'() \repeat unfold 6 { a'8 } } \new Staff { \repeat unfold 6 { a'8 } } >>
The default beam settings for the time signature can also be changed, so that the desired beaming will always be used. Changes in automatic beaming settings for a time signature are described in Time signature.
<< \new Staff { \overrideTimeSignatureSettings 3/4 % timeSignatureFraction 1/8 % baseMomentFraction 1,5 % beatStructure #'() % beamExceptions \time 3/4 \repeat unfold 6 { a'8 } } \new Staff { \time 3/4 \repeat unfold 6 { a'8 } } >>
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In some cases it may be necessary to override the automatic
beaming algorithm. For example, the autobeamer will not put beams
over rests or bar lines, and in choral scores the beaming is
often set to follow the meter of the lyrics rather than the
notes. Such beams can be specified manually by
marking the begin and end point with [ and ].
\relative { r4 r8[ g' a r] r g[ | a] r }
Beaming direction can be set manually using direction indicators:
\relative { c''8^[ d e] c,_[ d e f g] }
Individual notes may be marked with \noBeam to prevent them
from being beamed:
\relative { \time 2/4 c''8 c\noBeam c c }
Grace note beams and normal note beams can occur simultaneously. Unbeamed grace notes are not put into normal note beams.
\relative { c''4 d8[ \grace { e32 d c d } e8] e[ e \grace { f16 } e8 e] }
Even more strict manual control with the beams can be achieved by
setting the properties stemLeftBeamCount and
stemRightBeamCount. They specify the number of beams to
draw on the left and right side, respectively, of the next note.
If either property is set, its value will be used only once, and
then it is erased. In this example, the last f is printed
with only one beam on the left side, i.e., the eighth-note beam of
the group as a whole.
\relative a' { a8[ r16 f g a] a8[ r16 \set stemLeftBeamCount = #2 \set stemRightBeamCount = #1 f16 \set stemLeftBeamCount = #1 g16 a] }
\noBeam.
Flat flags and beam nibs
Flat flags on lone notes and beam nibs at the ends of beamed figures
are both possible with a combination of stemLeftBeamCount,
stemRightBeamCount and paired [] beam indicators.
For right-pointing flat flags on lone notes, use paired [] beam
indicators and set stemLeftBeamCount to zero (see Example 1).
For left-pointing flat flags, set stemRightBeamCount instead
(Example 2).
For right-pointing nibs at the end of a run of beamed notes, set
stemRightBeamCount to a positive value. And for left-pointing
nibs at the start of a run of beamed notes, set
stemLeftBeamCount instead (Example 3).
Sometimes it may make sense for a lone note surrounded by rests to
carry both a left- and right-pointing flat flag. Do this with paired
[] beam indicators alone (Example 4).
(Note that \set stemLeftBeamCount is always equivalent to
\once \set. In other words, the beam count settings are not
“sticky”, so the pair of flat flags attached to the lone
16[] in the last example have nothing to do with the
\set two notes prior.)
\score { << % Example 1 \new RhythmicStaff { \set stemLeftBeamCount = #0 c16[] r8. } % Example 2 \new RhythmicStaff { r8. \set stemRightBeamCount = #0 16[] } % Example 3 \new RhythmicStaff { 16 16 \set stemRightBeamCount = #2 16 r r \set stemLeftBeamCount = #2 16 16 16 } % Example 4 \new RhythmicStaff { 16 16 \set stemRightBeamCount = #2 16 r16 16[] r16 \set stemLeftBeamCount = #2 16 16 } >> }
Notation Reference: Direction and placement, Grace notes.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Beam section ‘Beam’ in Internals Reference, (internals)BeamEvent section ‘BeamEvent’ in Internals Reference, (internals)Beam_engraver section ‘Beam_engraver’ in Internals Reference, (internals)beam-interface section ‘beam-interface’ in Internals Reference, (internals)Stem_engraver section ‘Stem_engraver’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Feathered beams are used to indicate that a small group of notes
should be played at an increasing (or decreasing) tempo, without
changing the overall tempo of the piece. The extent of the
feathered beam must be indicated manually using [ and
], and the beam feathering is turned on by specifying a
direction to the Beam property grow-direction.
If the placement of the notes and the sound in the MIDI output is to
reflect the ritardando or accelerando indicated by the
feathered beam the notes must be grouped as a music expression delimited
by braces and preceded by a featherDurations command which specifies
the ratio between the durations of the first and last notes in the
group.
The square brackets show the extent of the beam and the braces show which notes are to have their durations modified. Normally these would delimit the same group of notes, but this is not required: the two commands are independent.
In the following example the eight 16th notes occupy exactly the same time as a half note, but the first note is one half as long as the last one, with the intermediate notes gradually lengthening. The first four 32nd notes gradually speed up, while the last four 32nd notes are at a constant tempo.
\relative c' { \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) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() { g32[ a b c] } }
The spacing in the printed output represents the note durations only approximately, but the MIDI output is exact.
\featherDurations.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
The \featherDurations command only works with very short
music snippets, and when numbers in the fraction are small.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Bar lines | ||
| Bar numbers | ||
| Bar and bar number checks | ||
| Rehearsal marks |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Bar lines delimit measures, and are also used to indicate repeats. Normally, simple bar lines are automatically inserted into the printed output at places based on the current time signature.
The simple bar lines inserted automatically can be changed to
other types with the \bar command. For example, a closing
double bar line is usually placed at the end of a piece:
\relative { e'4 d c2 \bar "|." }
It is not invalid if the final note in a measure does not end on the automatically entered bar line: the note is assumed to carry over into the next measure. But if a long sequence of such carry-over measures appears the music can appear compressed or even flowing off the page. This is because automatic line breaks happen only at the end of complete measures, i.e., where all notes end before the end of a measure.
Note: An incorrect duration can cause line breaks to be inhibited, leading to a line of highly compressed music or music that flows off the page.
Line breaks are also permitted at manually inserted bar lines even within incomplete measures. To allow a line break without printing a bar line, use the following:
\bar "" |
This will insert an invisible bar line and allow (but not force) a line break to occur at this point. The bar number counter is not increased. To force a line break see Line breaking.
This and other special bar lines may be inserted manually at any point. When they coincide with the end of a measure they replace the simple bar line which would have been inserted there automatically. When they do not coincide with the end of a measure the specified bar line is inserted at that point in the printed output.
Note that manual bar lines are purely visual. They do not affect any of the properties that a normal bar line would affect, such as measure numbers, accidentals, line breaks, etc. They do not affect the calculation and placement of subsequent automatic bar lines. When a manual bar line is placed where a normal bar line already exists, the effects of the original bar line are not altered.
Two types of simple bar lines and five types of double bar lines are available for manual insertion:
\relative { f'1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" b1 \bar ".." c1 \bar "|.|" d1 \bar "|." e1 }
together with dotted and dashed bar lines:
\relative { f'1 \bar ";" g1 \bar "!" a1 }
and nine types of repeat bar lines:
\relative { f'1 \bar ".|:" g1 \bar ":..:" a1 \bar ":|.|:" b1 \bar ":|.:" c1 \bar ":.|.:" d1 \bar "[|:" e1 \bar ":|][|:" f1 \bar ":|]" g1 \bar ":|." a1 }
Additionally, a bar line can be printed as a simple tick:
f'1 \bar "'" g'1
However, as such ticks are typically used in Gregorian chant, it is
preferable to use \divisioMinima there instead, described in
the section Divisiones in Gregorian chant.
LilyPond supports kievan notation and provides a special kievan bar line:
f'1 \bar "k"
Further details of this notation are explained in Typesetting Kievan square notation.
For in-line segno signs, there are three types of bar lines which differ in their behavior at line breaks:
\relative c'' { c4 c c c \bar "S" c4 c c c \break \bar "S" c4 c c c \bar "S-|" c4 c c c \break \bar "S-|" c4 c c c \bar "S-S" c4 c c c \break \bar "S-S" c1 }
Although the bar line types signifying repeats may be inserted manually they do not in themselves cause LilyPond to recognize a repeated section. Such repeated sections are better entered using the various repeat commands (see Repeats), which automatically print the appropriate bar lines.
In addition, you can specify ".|:-||", which is equivalent to
".|:" except at line breaks, where it gives a double bar
line at the end of the line and a start repeat at the beginning of
the next line.
\relative c'' { c4 c c c \bar ".|:-||" c4 c c c \break \bar ".|:-||" c4 c c c }
For combinations of repeats with the segno sign, there are six different variations:
\relative c'' { c4 c c c \bar ":|.S" c4 c c c \break \bar ":|.S" c4 c c c \bar ":|.S-S" c4 c c c \break \bar ":|.S-S" c4 c c c \bar "S.|:-S" c4 c c c \break \bar "S.|:-S" c4 c c c \bar "S.|:" c4 c c c \break \bar "S.|:" c4 c c c \bar ":|.S.|:" c4 c c c \break \bar ":|.S.|:" c4 c c c \bar ":|.S.|:-S" c4 c c c \break \bar ":|.S.|:-S" c1 }
Additionally there is an \inStaffSegno command which creates
a segno bar line in conjunction with an appropriate repeat bar line
when used with a \repeat volta command, see
Normal repeats.
New bar line types can be defined with \defineBarLine:
\defineBarLine bartype #'(end begin span) |
In addition to bartype (the character string that will then be used to refer to that new bar line), it takes three values: the first two determine the bar line’s appearance when it occurs at a line break, in which case the first and second given glyphs are printed respectively at the end of the system and at the beginning of the next one. The third given glyph is only relevant in multi-staff systems (see Grouping staves), where it is used as span bar, printed between staves.
The \defineBarLine variables can include the
‘empty’ string "", which is equivalent to an invisible
bar line being printed. Or they can be set to #f which
prints no bar line at all.
After the definiton, the new bar line can be used by
\bar bartype.
There are currently ten bar line elements available:
\defineBarLine ":" #'("" ":" "") \defineBarLine "=" #'("=" "" "") \defineBarLine "[" #'("" "[" "") \defineBarLine "]" #'("]" "" "") \new Staff { s1 \bar "|" s1 \bar "." s1 \bar "!" s1 \bar ";" s1 \bar ":" s1 \bar "k" s1 \bar "S" s1 \bar "=" s1 \bar "[" s1 \bar "]" s1 \bar "" }
The "=" bar line provides the double span bar line, used
in combination with the segno sign. Using it as a standalone
double thin bar line is not recommended; in most cases,
\bar "||" is preferred.
The "-" sign starts annotations to bar lines which
are useful to distinguish those with identical appearance
but different behavior at line breaks and/or different span bars.
The part following the "-" sign is not used for building up
the bar line.
\defineBarLine "||-dashedSpan" #'("||" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-dashedSpan" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
Furthermore, the space character " " serves as a placeholder
for defining span bars correctly aligned to the main bar lines:
\defineBarLine ":|.-wrong" #'(":|." "" "|.") \defineBarLine ":|.-right" #'(":|." "" " |.") \new StaffGroup << \new Staff \relative c'' { c1 \bar ":|.-wrong" c1 \bar ":|.-right" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
New bar line types defined using \defineBarLine may even,
in turn, be used in a second bar line definition. Such
‘nested’ definitions make it possible to use customized glyphs
in places where it would not be otherwise possible, such as
system ends:
\defineBarLine "||-dashEverywhere" #'("!!" "!!" "!!") \defineBarLine "||-advancedDashSpan" #'("||-dashEverywhere" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-advancedDashSpan" c1 \bar "||-advancedDashSpan" } \new Staff \relative c'' { c1 c1 c1 } >>
If additional elements are needed, LilyPond provides a simple way to define them. For more information on modifying or adding bar lines, see file ‘scm/bar-line.scm’.
In scores with many staves, a \bar command in one staff is
automatically applied to all staves. The resulting bar lines are
connected between different staves of a StaffGroup,
PianoStaff, or GrandStaff.
<< \new StaffGroup << \new Staff \relative { e'4 d \bar "||" f4 e } \new Staff \relative { \clef bass c'4 g e g } >> \new Staff \relative { \clef bass c'2 c2 } >>
The command ‘\bar bartype’ is a shortcut for
‘\set Timing.whichBar = bartype’. A bar line is
created whenever the whichBar property is set.
The default bar type used for automatically inserted bar lines is
"|". This may be changed at any time with
‘\set Timing.defaultBarType = bartype’.
Notation Reference: Line breaking, Repeats, Grouping staves.
Installed Files: ‘scm/bar-line.scm’.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference:
(internals)BarLine section ‘BarLine’ in Internals Reference (created at Staff level),
(internals)SpanBar section ‘SpanBar’ in Internals Reference (across staves),
(internals)Timing_translator section ‘Timing_translator’ in Internals Reference (for Timing properties).
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Bar numbers are typeset by default at the start of every line except
the first line. The number itself is stored in the
currentBarNumber property, which is normally updated
automatically for every measure. It may also be set manually:
\relative c' { c1 c c c \break \set Score.currentBarNumber = #50 c1 c c c }
Bar numbers can be typeset at regular intervals instead of just at the
beginning of every line. To do this the default behavior must be
overridden to permit bar numbers to be printed at places other than the
start of a line. This is controlled by the break-visibility
property of BarNumber. This takes three values which may be set
to #t or #f to specify whether the corresponding bar
number is visible or not. The order of the three values is
end of line visible, middle of line visible,
beginning of line visible. In the following example bar numbers
are printed at all possible places:
\relative c' { \override Score.BarNumber.break-visibility = ##(#t #t #t) \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" c1 | c | c | c | \break c1 | c | c | c | }
Printing the bar number for the first measure
By default, the first bar number in a score is suppressed if it is less
than or equal to ‘1’. By setting barNumberVisibility to
all-bar-numbers-visible, any bar number can be printed for the
first measure and all subsequent measures. Note that an empty bar line
must be inserted before the first note for this to work.
\layout { indent = 0 ragged-right = ##t } \relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible \bar "" c1 | d | e | f \break g1 | e | d | c }
Printing bar numbers at regular intervals
Bar numbers can be printed at regular intervals by setting the property
barNumberVisibility. Here the bar numbers are printed every two
measures except at the end of the line.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c | c | c | c \break c1 | c | c | c | c }
Printing bar numbers with changing regular intervals
The bar number interval can be changed by changing the context function
{set-bar-number-visibility}.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \context Score \applyContext #(set-bar-number-visibility 4) \repeat unfold 10 c'1 \context Score \applyContext #(set-bar-number-visibility 2) \repeat unfold 10 c }
Printing bar numbers inside boxes or circles
Bar numbers can also be printed inside boxes or circles.
\relative c' { % Prevent bar numbers at the end of a line and permit them elsewhere \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4) % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 % Draw a box round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) \repeat unfold 5 { c1 } % Draw a circle round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \repeat unfold 4 { c1 } \bar "|." }
Alternative bar numbering
Two alternative methods for bar numbering can be set, especially for when using repeated music.
\relative c'{ \set Score.alternativeNumberingStyle = #'numbers \repeat volta 3 { c4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 \break \set Score.alternativeNumberingStyle = #'numbers-with-letters \repeat volta 3 { c,4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 }
Aligning bar numbers
Bar numbers by default are right-aligned to their parent object. This is usually the left edge of a line or, if numbers are printed within a line, the left hand side of a bar line. The numbers may also be positioned directly over the bar line or left-aligned to the bar line.
\relative c' { \set Score.currentBarNumber = #111 \override Score.BarNumber.break-visibility = #all-visible % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = #2 % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c1 % Center-align bar numbers \override Score.BarNumber.self-alignment-X = #CENTER c1 | c1 % Left-align bar numbers \override Score.BarNumber.self-alignment-X = #LEFT c1 | c1 }
Removing bar numbers from a score
Bar numbers can be removed entirely by removing the
Bar_number_engraver from the Score context.
\layout { \context { \Score \omit BarNumber % or: %\remove "Bar_number_engraver" } } \relative c'' { c4 c c c \break c4 c c c }
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)BarNumber section ‘BarNumber’ in Internals Reference, (internals)Bar_number_engraver section ‘Bar_number_engraver’ in Internals Reference.
Bar numbers may collide with the top of the StaffGroup bracket,
if there is one. To solve this, the padding property of
BarNumber can be used to position the number correctly. See
(internals)StaffGroup section ‘StaffGroup’ in Internals Reference and
(internals)BarNumber section ‘BarNumber’ in Internals Reference for more.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Bar checks help detect errors in the entered durations. A bar check
may be entered using the bar symbol, |, at any place where a
bar line is expected to fall. If bar check lines are encountered at
other places, a list of warnings is printed in the log file, showing
the line numbers and lines in which the bar checks failed. In the
next example, the second bar check will signal an error.
\time 3/4 c2 e4 | g2 | |
An incorrect duration can result in a completely garbled score, especially if the score is polyphonic, so a good place to start correcting input is by scanning for failed bar checks and incorrect durations.
If successive bar checks are off by the same musical interval, only the first warning message is displayed. This allows the warning to focus on the source of the timing error.
Bar checks can also be inserted in lyrics:
\lyricmode {
\time 2/4
Twin -- kle | Twin -- kle |
}
|
Note that bar check marks in lyrics are evaluated at the musical moment when the syllable following the check mark is processed. If the lyrics are associated with the notes of a voice which has a rest at the beginning of a bar, then no syllable can be located at the start of that bar and a warning will be issued if a bar check mark is placed in the lyrics at that position.
It is also possible to redefine the action taken when a bar check
or pipe symbol, |, is encountered in the input, so that
it does something other than a bar check. This is done by
assigning a music expression to "|".
In the following example | is set to insert a double bar
line wherever it appears in the input, rather than checking
for end of bar.
"|" = \bar "||" { c'2 c' | c'2 c' c'2 | c' c'2 c' }
When copying large pieces of music, it can be helpful to check that
the LilyPond bar number corresponds to the original that you are
entering from. This can be checked with \barNumberCheck, for
example,
\barNumberCheck #123
will print a warning if the currentBarNumber is not 123
when it is processed.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
To print a rehearsal mark, use the \mark command.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark \default c1 \mark \default }
The mark is incremented automatically if you use \mark
\default, but you can also use an integer argument to set the
mark manually. The value to use is stored in the property
rehearsalMark.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
The letter ‘I’ is skipped in accordance with engraving traditions. If you wish to include the letter ‘I’, then use one of the following commands, depending on which style of rehearsal mark you want (letters only, letters in a hollow box, or letters in a hollow circle).
\set Score.markFormatter = #format-mark-alphabet \set Score.markFormatter = #format-mark-box-alphabet \set Score.markFormatter = #format-mark-circle-alphabet |
\relative c'' { \set Score.markFormatter = #format-mark-box-alphabet c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
The style is defined by the property markFormatter. It is
a function taking the current mark (an integer) and the current
context as argument. It should return a markup object. In the
following example, markFormatter is set to a pre-defined
procedure. After a few measures, it is set to a procedure that
produces a boxed number.
\relative c'' { \set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-letters c1 }
The file ‘scm/translation-functions.scm’ contains the
definitions of format-mark-letters (the default format),
format-mark-box-letters, format-mark-numbers and
format-mark-box-numbers. These can be used as inspiration
for other formatting functions.
You may use format-mark-barnumbers,
format-mark-box-barnumbers, and
format-mark-circle-barnumbers to get bar numbers instead of
incremented numbers or letters.
Other styles of rehearsal mark can be specified manually:
\mark "A1" |
Note that Score.markFormatter does not affect marks specified
in this manner. However, it is possible to apply a \markup to the
string.
\mark \markup { \box A1 }
|
Music glyphs (such as the segno sign) may be printed inside a
\mark
\relative c' { c1 \mark \markup { \musicglyph "scripts.segno" } c1 \mark \markup { \musicglyph "scripts.coda" } c1 \mark \markup { \musicglyph "scripts.ufermata" } c1 }
See The Emmentaler font, for a list of symbols which may be
printed with \musicglyph.
For common tweaks to the positioning of rehearsal marks, see
Formatting text. For more precise control, see
break-alignable-interface in Aligning objects.
The file ‘scm/translation-functions.scm’ contains
the definitions of format-mark-numbers and
format-mark-letters. They can be used as inspiration for
other formatting functions.
Notation Reference: The Emmentaler font, Formatting text, Aligning objects.
Installed Files: ‘scm/translation-functions.scm’.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)MarkEvent section ‘MarkEvent’ in Internals Reference, (internals)Mark_engraver section ‘Mark_engraver’ in Internals Reference, (internals)RehearsalMark section ‘RehearsalMark’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Grace notes | ||
| Aligning to cadenzas | ||
| Time administration |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Grace notes are musical ornaments, printed in a smaller font, that take up no additional logical time in a measure.
\relative { c''4 \grace b16 a4( \grace { b16 c16 } a2) }
There are three other types of grace notes possible; the
acciaccatura – an unmeasured grace note indicated by a slurred
note with a slashed stem – and the appoggiatura, which takes a
fixed fraction of the main note it is attached to and prints without the
slash. It is also possible to write a grace note with a slashed stem,
like the acciaccatura but without the slur, so as to place it
between notes that are slurred themselves, using the
\slashedGrace function.
\relative { \acciaccatura d''8 c4 \appoggiatura e8 d4 \acciaccatura { g16 f } e2 \slashedGrace a,8 g4 \slashedGrace b16 a4( \slashedGrace b8 a2) }
The placement of grace notes is synchronized between different staves. In the following example, there are two sixteenth grace notes for every eighth grace note
<< \new Staff \relative { e''2 \grace { c16 d e f } e2 } \new Staff \relative { c''2 \grace { g8 b } c2 } >>
If you want to end a note with a grace, use the \afterGrace
command. It takes two arguments: the main note, and the grace
notes following the main note.
\relative { c''1 \afterGrace d1 { c16[ d] } c1 }
This will place the grace notes after the start of the main note. The point of time where the grace notes are placed is a given fraction of the main note’s duration. The default setting of
afterGraceFraction = 3/4 |
may be redefined at top level. Individual \afterGrace
commands may have the fraction specified right after the command
itself instead.
The following example shows the results from setting with the
default space, setting it at 15/16, and finally at
1/2 of the main note.
<< \new Staff \relative { c''1 \afterGrace d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 15/16 d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 1/2 d1 { c16[ d] } c1 } >>
The effect of \afterGrace can also be achieved using
spacers. The following example places the grace note after a
space lasting 7/8 of the main note.
\new Voice \relative { << { d''1^\trill_( } { s2 s4. \grace { c16 d } } >> c1) }
A \grace music expression will introduce special
typesetting settings, for example, to produce smaller type, and
set directions. Hence, when introducing layout tweaks to
override the special settings, they should be placed inside
the grace expression. The overrides should also be reverted
inside the grace expression. Here, the grace note’s default stem
direction is overridden and then reverted.
\new Voice \relative { \acciaccatura { \stemDown f''16-> \stemNeutral } g4 e c2 }
Using grace note slashes with normal heads
The slash through the stem found in acciaccaturas can be applied in other situations.
\relative c'' { \override Flag.stroke-style = #"grace" c8( d2) e8( f4) }
Tweaking grace layout within music
The layout of grace expressions can be changed throughout the music
using the functions add-grace-property and
remove-grace-property. The following example undefines the
Stem direction for this grace, so that stems do not always point
up, and changes the default note heads to crosses.
\relative c'' { \new Staff { $(remove-grace-property 'Voice 'Stem 'direction) $(add-grace-property 'Voice 'NoteHead 'style 'cross) \new Voice { \acciaccatura { f16 } g4 \grace { d16 e } f4 \appoggiatura { f,32 g a } e2 } } }
Redefining grace note global defaults
The global defaults for grace notes are stored in the identifiers
startGraceMusic, stopGraceMusic,
startAcciaccaturaMusic, stopAcciaccaturaMusic,
startAppoggiaturaMusic and stopAppoggiaturaMusic, which
are defined in the file ly/grace-init.ly. By redefining them
other effects may be obtained.
startAcciaccaturaMusic = { <>( \override Flag.stroke-style = #"grace" \slurDashed } stopAcciaccaturaMusic = { \revert Flag.stroke-style \slurSolid <>) } \relative c'' { \acciaccatura d8 c1 }
Positioning grace notes with floating space
Setting the property 'strict-grace-spacing makes the musical
columns for grace notes ’floating’, i.e., decoupled from the non-grace
notes: first the normal notes are spaced, then the (musical columns of
the) graces are put left of the musical columns for the main notes.
\relative c'' { << \override Score.SpacingSpanner.strict-grace-spacing = ##t \new Staff \new Voice { \afterGrace c4 { c16[ c8 c16] } c8[ \grace { b16 d } c8] c4 r } \new Staff { c16 c c c c c c c c4 r } >> }
Music Glossary: (music-glossary)grace notes section ‘grace notes’ in Music Glossary, (music-glossary)acciaccatura section ‘acciaccatura’ in Music Glossary, (music-glossary)appoggiatura section ‘appoggiatura’ in Music Glossary.
Notation Reference: Scaling durations, Manual beams.
Installed Files: ‘ly/grace-init.ly’.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)GraceMusic section ‘GraceMusic’ in Internals Reference, (internals)Grace_beam_engraver section ‘Grace_beam_engraver’ in Internals Reference, (internals)Grace_auto_beam_engraver section ‘Grace_auto_beam_engraver’ in Internals Reference, (internals)Grace_engraver section ‘Grace_engraver’ in Internals Reference, (internals)Grace_spacing_engraver section ‘Grace_spacing_engraver’ in Internals Reference.
A multi-note beamed acciaccatura is printed without a slash, and looks exactly the same as a multi-note beamed appoggiatura.
Grace note synchronization can also lead to surprises. Staff notation, such as key signatures, bar lines, etc., are also synchronized. Take care when you mix staves with grace notes and staves without, for example,
<< \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. } \new Staff \relative { c''4 \bar ".|:" d2. } >>
This can be remedied by inserting grace skips of the corresponding durations in the other staves. For the above example
<< \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. } \new Staff \relative { c''4 \bar ".|:" \grace s16 d2. } >>
Please make sure that you use the \grace command for the
spacer part, even if the visual part uses \acciaccatura or
\appoggiatura because otherwise an ugly slur fragment will
be printed, connecting the invisible grace note with the following
note.
Grace sections should only be used within sequential music expressions. Nesting or juxtaposing grace sections is not supported, and might produce crashes or other errors.
Each grace note in MIDI output has a length of 1/4 of its actual
duration. If the combined length of the grace notes is greater than the
length of the preceding note a “Going back in MIDI time”
error will be generated. Either make the grace notes shorter in
duration, for example:
c'8 \acciaccatura { c'8[ d' e' f' g'] }
|
becomes:
c'8 \acciaccatura { c'16[ d' e' f' g'] }
|
Or explicitly change the musical duration:
c'8 \acciaccatura { \scaleDurations 1/2 { c'8[ d' e' f' g'] } }
|
See Scaling durations.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In an orchestral context, cadenzas present a special problem: when constructing a score that includes a measured cadenza or other solo passage, all other instruments should skip just as many notes as the length of the cadenza, otherwise they will start too soon or too late.
One solution to this problem is to use the functions
mmrest-of-length and skip-of-length. These Scheme
functions take a defined piece of music as an argument and generate a
multi-measure rest or \skip exactly as long as the piece.
MyCadenza = \relative { c'4 d8 e f g g4 f2 g4 g } \new GrandStaff << \new Staff { \MyCadenza c'1 \MyCadenza c'1 } \new Staff { #(mmrest-of-length MyCadenza) c'1 #(skip-of-length MyCadenza) c'1 } >>
Music Glossary: (music-glossary)cadenza section ‘cadenza’ in Music Glossary.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Time is administered by the Timing_translator, which by
default is to be found in the Score context. An alias,
Timing, is added to the context in which the
Timing_translator is placed. To ensure that the
Timing alias is available, you may need to explicitly
instantiate the containing context (such as Voice or
Staff).
The following properties of Timing are used
to keep track of timing within the score.
currentBarNumberThe current measure number. For an example showing the use of this property see Bar numbers.
measureLengthThe length of the measures in the current time signature. For a 4/4 time this is 1, and for 6/8 it is 3/4. Its value determines when bar lines are inserted and how automatic beams should be generated.
measurePositionThe point within the measure where we currently are. This
quantity is reset by subtracting measureLength whenever
measureLength is reached or exceeded. When that happens,
currentBarNumber is incremented.
timingIf set to true, the above variables are updated for every time step. When set to false, the engraver stays in the current measure indefinitely.
Timing can be changed by setting any of these variables
explicitly. In the next example, the default 4/4 time
signature is printed, but measureLength is set to 5/4.
At 4/8 through the third measure, the measurePosition is
advanced by 1/8 to 5/8, shortening that bar by 1/8.
The next bar line then falls at 9/8 rather than 5/4.
\new Voice \relative { \set Timing.measureLength = #(ly:make-moment 5/4) c'1 c4 | c1 c4 | c4 c \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | }
As the example illustrates, ly:make-moment n/m constructs a
duration of n/m of a whole note. For example,
ly:make-moment 1/8 is an eighth note duration and
ly:make-moment 7/16 is the duration of seven sixteenths
notes.
Notation Reference: Bar numbers, Unmetered music.
Snippets: (snippets)Rhythms section ‘Rhythms’ in Snippets.
Internals Reference: (internals)Timing_translator section ‘Timing_translator’ in Internals Reference, (internals)Score section ‘Score’ in Internals Reference.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by gub on July 13, 2020 using texi2html 1.82.
Más nyelvek: català, deutsch, español, français, italiano, 日本語.
Az automatikus nyelvválasztásról.