Nothing
## ----include = FALSE, message = FALSE-----------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
# To prevent CRAN from building this vignette:
#
# 1. Add `BUILD_VIGNETTE=TRUE` in .Renviron before calling
# `devtools::build()` or `R CMD build`, to build this vignette locally.
#
# 2. Remove `BUILD_VIGNETTE=TRUE` before calling `R CMD check --as-cran`.
eval = Sys.getenv("BUILD_VIGNETTE") == "TRUE"
)
## ----message = FALSE----------------------------------------------------------
library(gm)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5"))
show(music)
## -----------------------------------------------------------------------------
music <- music + Tempo(180)
show(music)
## -----------------------------------------------------------------------------
music <- music + Articulation(">", 1)
show(music)
## -----------------------------------------------------------------------------
music <- music + Pedal(1, 4)
show(music)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5"))
music
## -----------------------------------------------------------------------------
line <- Line(
pitches = c("C5", "D5", "E5", "F5"),
durations = c(0.5, 1, 1.5, 2)
)
music <- Music() + Meter(5, 4) + line
show(music, "score")
## -----------------------------------------------------------------------------
line <- Line(
pitches = c("A3", "E4", "C5", "B3", "E4", "G#4"),
durations = c("quarter.", "eighth", "quarter")
)
music <- Music() + Meter(3, 4) + line
show(music)
## -----------------------------------------------------------------------------
line <- Line(c("C5", "D5", "E5"), bar = 2, offset = 1)
music <- Music() + Meter(4, 4) + line
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- c(64, 65, 69, 71, 72, 76)
music <- Music() + Meter(4, 4)
for (i in 0:8) {
music <- music + Line(pitches, offset = 0.5 * i)
}
show(music)
## -----------------------------------------------------------------------------
line_1 <- Line(c("C5", "D5", "E5", "F5"))
line_2 <- Line(c("E4", "G4"), 2)
line_3 <- Line("C4", 4)
music <- Music() + Meter(4, 4) + line_1 + line_2 + line_3
show(music, "score")
## -----------------------------------------------------------------------------
line_1 <- Line(c("C5", "D5", "E5", "F5"), name = "a")
line_2 <- Line(c("E4", "G4"), 2, name = "b")
line_3 <- Line("C4", 4, name = "c")
music <- Music() + Meter(4, 4) + line_1 + line_2 + line_3
show(music, "score")
## -----------------------------------------------------------------------------
line_1 <- Line(c("C5", "D5", "E5", "F5"), name = "a")
line_2 <- Line(c("E4", "G4"), 2, name = "b")
line_3 <- Line("C4", 4, name = "c", to = "a", after = FALSE)
music <- Music() + Meter(4, 4) + line_1 + line_2 + line_3
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5")) +
Line(c("C4", "G4"), 2, as = "part")
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5")) +
Line(c("C4", "G4"), 2, as = "staff")
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5")) +
Line(c("C4", "G4"), 2, as = "voice")
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5")) +
Line(c("C4", "G4"), 2, as = "segment", bar = 2)
show(music, "score")
## -----------------------------------------------------------------------------
line_1 <- Line(c("C5", "D5", "E5", "F5"), name = "a")
line_2 <- Line(c("E4", "G4"), 2, name = "b", as = "voice")
line_3 <- Line("C4", 2, name = "c", as = "staff", offset = 2)
music <- Music() + Meter(4, 4) + line_1 + line_2 + line_3
show(music, "score")
## -----------------------------------------------------------------------------
music$lines
## -----------------------------------------------------------------------------
pitches <- c("C4", "C#4", "D-4", "C##4", "D--4")
music <- Music() + Meter(5, 4) + Line(pitches)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- 61:64
music <- Music() + Meter(4, 4) + Line(pitches)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- c(60, 62, 64, 65)
music <- Music() + Meter(4, 4) + Line(pitches)
show(music)
## -----------------------------------------------------------------------------
pitches <- pitches + 7
music <- Music() + Meter(4, 4) + Line(pitches)
show(music)
## -----------------------------------------------------------------------------
pitches <- c("C#5", "D-5", "B##4")
music <- Music() + Meter(3, 4) + Line(pitches)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- c(73, 73)
music <- Music() + Meter(1, 4) + Key(7) + Key(-7, bar = 2) + Line(pitches)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- c("C4", NA, "D4", NA)
music <- Music() + Meter(4, 4) + Line(pitches)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- c("C4", NA, "D4", NA)
music <- Music() + Meter(4, 4) + Line(pitches, bar = 2)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- "C4"
music <- Music() + Meter(4, 4) + Line(pitches)
show(music, "score")
## -----------------------------------------------------------------------------
pitches <- list("C4", c("E4", "G4"), NA, c(64, 67))
music <- Music() + Meter(4, 4) + Line(pitches)
show(music)
## -----------------------------------------------------------------------------
keys <- -7:7
for (key in keys) {
print(Key(key))
}
## -----------------------------------------------------------------------------
music <- Music() + Meter(1, 4) + Line(durations = rep(1, length(keys)))
for (i in seq_along(keys)) {
music <- music + Key(keys[i], bar = i)
}
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(1, 4) +
Line(NA) +
Line(NA, as = "staff") +
Line(NA) +
Line(NA, as = "staff") +
Key(1, to = 1) +
Key(-1, to = 3, scope = "staff")
show(music, "score")
## -----------------------------------------------------------------------------
clef <- Clef("F")
music <- Music() + Meter(2, 4) + Line(c("C3", "D3")) + clef
show(music, "score")
## -----------------------------------------------------------------------------
Clef("G")
Clef("G", line = 1)
Clef("G", octave = 1)
Clef("G", octave = -1)
Clef("F")
Clef("F", line = 3)
Clef("F", line = 5)
Clef("F", octave = 1)
Clef("F", octave = -1)
Clef("C")
Clef("C", line = 1)
Clef("C", line = 2)
Clef("C", line = 4)
Clef("C", line = 5)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(2, 4) +
Line(c("C3", "D3"), bar = 2) +
Clef("F", bar = 2, offset = 1)
show(music, "score")
## -----------------------------------------------------------------------------
durations <- c("q.", "eighth", "quarter..", "16th")
music <- Music() + Meter(4, 4) + Line(durations = durations)
show(music, "score")
## ----echo = FALSE-------------------------------------------------------------
duration_types <- gm:::duration_types
duration_types$value <- duration_types$value |>
lapply(gm:::to_fraction) |>
lapply(\(fraction) {
if (fraction[2] == 1) fraction[1] else paste(fraction, collapse = "/")
}) |>
as.character()
names(duration_types) <- c("Duration Type", "Abbreviation", "Value")
knitr::kable(duration_types)
## -----------------------------------------------------------------------------
durations <- 1:5
music <- Music() + Meter(5, 4) + Line("C4", durations)
show(music, "score")
## -----------------------------------------------------------------------------
durations <- rep("half/3", 3)
music <- Music() + Meter(2, 4) + Line(durations = durations)
show(music, "score")
## -----------------------------------------------------------------------------
durations <- c("half/3", "half/3*(half/quarter)")
music <- Music() + Meter(2, 4) + Line(durations = durations)
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(1, 4) +
Meter(2, 4, bar = 2) +
Line(c("C4", "E4", "G4"))
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4, actual_number = 1, actual_unit = 4) +
Meter(4, 4, bar = 2, invisible = TRUE) +
Line(c("A4", "B4", "C5", "D5", "E5"))
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(60:67) +
Tempo(90) +
Tempo(120, bar = 2) +
Tempo(200, bar = 2, offset = 2)
show(music)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(60:67) +
Tempo(90, marking = "Slowly!!") +
Tempo(200, offset = 2, marking = "quarter. = quarter") +
Tempo(120, bar = 2, marking = "Allegro (quarter = 110-130)")
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(list("C4", NA, c("C4", "E4")), list(1, "quarter", 2))
show(music, "score")
## -----------------------------------------------------------------------------
music$notes
## -----------------------------------------------------------------------------
notes <- Line(c("C4", "C4"))
tie <- Tie(1)
music <- Music() + Meter(2, 4) + notes + tie
show(music, "score")
## -----------------------------------------------------------------------------
chords <- Line(list(c("C4", "E4"), c("C4", "E4")))
tie <- Tie(1, 2)
music <- Music() + Meter(2, 4) + chords + tie
show(music, "score")
## -----------------------------------------------------------------------------
chords <- Line(list(c("C4", "E4"), c("C4", "E4")))
tie <- Tie(1)
music <- Music() + Meter(2, 4) + chords + tie
show(music, "score")
## -----------------------------------------------------------------------------
cross_bar_note <- Line("C4", 4)
music <- Music() + Meter(1, 4) + cross_bar_note
show(music, "score")
## -----------------------------------------------------------------------------
line <- Line(c("A3", "B3", "C4", "D4"), c(0.25, 0.25, 1, 1))
music <- Music() + Meter(2, 4) + line + Grace(1) + Grace(2)
show(music)
## -----------------------------------------------------------------------------
accidental <- Accidental("natural", 2)
music <- Music() + Meter(2, 4) + Line(c("C4", "C4")) + accidental
show(music, "score")
## -----------------------------------------------------------------------------
notehead <- Notehead(1, shape = "diamond", color = "#FF0000")
music <- Music() + Meter(2, 4) + Line(c("C4", "C4")) + notehead
show(music, "score")
## -----------------------------------------------------------------------------
stem <- Stem("none", 1)
music <- Music() + Meter(2, 4) + Line(c("C4", "C4")) + stem
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C4", "D4", "E4", "F4")) +
Articulation(">", 1) +
Articulation(".", 2) +
Articulation("'", 3) +
Articulation("-", 4)
show(music)
## ----echo = FALSE-------------------------------------------------------------
articulations <- gm:::articulations
names(articulations) <- c("MuseScore", "MusicXML", "Symbol")
knitr::kable(articulations)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C4", "D4", "E4", "F4")) +
Fermata(4, shape = "square")
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C4", "D4", "E4", "F4")) +
Breath(2)
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(7, 4) +
Line(c("B4", "C5", "D5", "E5", "F5", "G5", "A5")) +
Tremolo(3, 1) +
Turn(2, inverted = TRUE) +
Mordent(3, long = TRUE) +
Trill(4) +
Trill(5, 6) +
Schleifer(7)
show(music)
## -----------------------------------------------------------------------------
music <- Music() + Meter(4, 4) + Line(60:63) + Slur(1, 4)
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(c("C4", "D4")) +
Line(c("E4", "F4"), offset = 2, as = "staff") +
Slur(1, 2, to = 1, to_j = 2)
show(music, "score")
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(60:67) +
Dynamic("p", 1) +
Dynamic("mf", 3) +
Dynamic("fff", 5) +
Dynamic("pp", 7)
show(music)
## -----------------------------------------------------------------------------
pitches <- 74:50
velocities <- seq(5, 127, 5)
music <- Music() + Meter(4, 4) + Tempo(200) + Line(pitches, 0.5)
for (i in seq_along(velocities)) {
music <- music + Velocity(velocities[i], 1, i)
}
show(music)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(60:67) +
Dynamic("pp", 1) +
Dynamic("ff", 8) +
Hairpin("<", 2, 7)
show(music)
## -----------------------------------------------------------------------------
pitches <- c("C4", "D4", "E4", "F4")
music <-
Music() +
Meter(4, 4) +
Line(pitches) +
Line(pitches, bar = 2)
show(music)
## -----------------------------------------------------------------------------
instrument_1 <- Instrument(10, 1)
instrument_1
## -----------------------------------------------------------------------------
instrument_2 <- Instrument(76, 2)
instrument_2
## -----------------------------------------------------------------------------
music <- music + instrument_1 + instrument_2
show(music)
## ----echo = FALSE-------------------------------------------------------------
path <- "/Applications/MuseScore 3.app/Contents/MacOS/mscore"
options(gm.musescore_path = path)
## -----------------------------------------------------------------------------
pitches <- c("C4", "D4", "E4", "F4")
music <-
Music() +
Meter(4, 4) +
Line(pitches) +
Line(pitches, bar = 2) +
Line(pitches, bar = 3) +
Instrument(1, 1, pan = -90) +
Instrument(1, 2, pan = 0) +
Instrument(1, 3, pan = 90)
show(music)
## ----echo = FALSE-------------------------------------------------------------
options(gm.musescore_path = NULL)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Key(1) +
Tempo(60) +
Line(c("B4", "G5", "F#5", "E5"), c("8", "h.", "8", "8"), bar = 2) +
Grace(1) +
Line(rep(c("E2", "B2", "G3", "E3", "C4", "B3"), 4), "q/3", as = "staff") +
Clef("F") +
Dynamic("p", 1) +
Pedal(1, 12) +
Pedal(13, 24)
show(music)
## -----------------------------------------------------------------------------
music <-
Music() +
Meter(4, 4) +
Line(60:63) +
Lyric("My_love-", 1) +
Lyric("-ly", 2) +
Lyric("cat_", 3) +
Lyric("_", 4) +
Lyric("Hey", 1, verse = 2) +
Lyric("Jude", 2, verse = 2)
show(music, "score")
## -----------------------------------------------------------------------------
music <- Music() + Meter(4, 4) + Line("C5")
show(music, "score", musescore = "-r 400 -T 100")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.