Helper function for generating tuplet syntax.

tuplet(x, n, string = NULL, a = 3, b = 2)

triplet(x, n, string = NULL)



noteworthy string or phrase object.


integer, duration of each tuplet note, e.g., 8 for 8th note tuplet.


character, optional string or vector with same number of timesteps as x that specifies which strings to play for each specific note. Only applies when x is a noteworthy string.


integer, notes per tuplet.


integer, beats per tuplet.




This function gives control over tuplet construction. The default arguments a = 3 and b = 2 generates a triplet where three triplet notes, each lasting for two thirds of a beat, take up two beats. n is used to describe the beat duration with the same fraction-of-measure denominator notation used for notes in tabr phrases, e.g., 16th note triplet, 8th note triplet, etc.

If you provide a note sequence for multiple tuplets in a row of the same type, they will be connected automatically. It is not necessary to call tuplet each time when the pattern is constant. If you provide a complete phrase object, it will simply be wrapped in the tuplet tag, so take care to ensure the phrase contents make sense as part of a tuplet.


tuplet("c c# d", 8)
#> <Musical phrase> #> \tuplet 3/2 4 { <c>8 <cis> <d> }
triplet("c c# d", 8)
#> <Musical phrase> #> \tuplet 3/2 4 { <c>8 <cis> <d> }
tuplet("c c# d c c# d", 4, a = 6, b = 4)
#> <Musical phrase> #> \tuplet 6/4 1 { <c>4 <cis> <d> <c> <cis> <d> }
p1 <- phrase("c c# d", "8-. 8( 8)", "5*3") tuplet(p1, 8)
#> <Musical phrase> #> \tuplet 3/2 4 { <c\5>8-. <cis\5>8( <d\5>8) }