[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Tuplets ] | [ Up : Writing rhythms ] | [ Ties > ] |
Scaling durations
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.
See also
Notation Reference: Tuplets, Invisible rests, Polymetric notation.
Snippets: Rhythms.
Known issues and warnings
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.
[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Tuplets ] | [ Up : Writing rhythms ] | [ Ties > ] |