track | R Documentation |
Create a music track from a collection of musical phrases.
track(
phrase,
clef = "treble_8",
key = NA,
tab = TRUE,
tuning = "standard",
voice = 1,
lyrics = NA
)
track_guitar(
phrase,
clef = "treble_8",
key = NA,
tab = TRUE,
tuning = "standard",
voice = 1,
lyrics = NA
)
track_tc(phrase, key = NA, voice = 1, lyrics = NA)
track_bc(phrase, key = NA, voice = 1, lyrics = NA)
track_bass(phrase, key = NA, voice = 1, lyrics = NA)
phrase |
a phrase object. |
clef |
character, include a music staff with the given clef. |
key |
character, key signature for music staff. See details. |
tab |
logical, include tablature staff. |
tuning |
character, pitches describing the instrument string tuning or
a predefined tuning ID. See |
voice |
integer, ID indicating the unique voice |
lyrics |
a lyrics object or |
Musical phrases generated by phrase()
are fortified in a track table. All
tracks are stored as track tables, one per row, even if that table consists
of a single track. track()
creates a single-entry track table. See
trackbind()
for merging single tracks into a multi-track table. This is row
binding that also properly preserves phrase and track classes.
There are various track_*
functions offering sensible defaults based on the
function suffix. The base track()
function is equivalent to
track_guitar()
. See examples. Setting clef = NA
or tab = NA
suppresses
the music staff or tablature staff, respectively. By default key = NA
, in
which case its inherits the global key from the key
argument of various
sheet music rendering functions. If planning to bind two tracks as one where
they are given voice = 1
and voice = 2
, respectively, they must also have
a common key, even if key = NA
.
lyrics
should only be used for simple tracks that do not contain repeats.
You also need to ensure the timesteps for lyrics
align with those of
phrase()
in advance. Additionally, LilyPond does not engrave lyrics at
rests or tied notes (excluding first note in tied sequence) so if Therefore,
if phrase()
contains rests and tied notes then the lyrics object should be
subset to exclude these timesteps as well. This is in contrast to using
render_music*
functions, which handle this automatically for music objects.
a tibble data frame
phrase()
, score()
x <- phrase("c ec'g' ec'g'", "4 4 2", "5 4 4")
track(x) # same as track_guitar(x); 8va treble clef above tab staff
track_tc(x) # treble clef sheet music, no tab staff
track_bc(x) # bass clef sheet music, no tab staff
x <- phrase("c, g,c g,c", "4 4 2", "3 2 2")
track_bass(x) # includes tab staff and standard bass tuning
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.