#1 Instalar paquetes

#install.packages("devtools")
#devtools::install_github("keithmcnulty/Rmusic", build_vignettes = TRUE)
#install.packages("tibble")

#2 Establecer paquetes

jbells_pitch <- paste(
  "E E E",
  "E E E",
  "E G C D",
  "E",
  "F F F F",
  "F E E E",
  "E D D E",
  "D G",
  "E E E",
  "E E E",
  "E G C D",
  "E",
  "F F F F",
  "F E E E E",
  "G G F D",
  "C",
  "G3 E D C",
  "G3",
  "G3 G3 G3 E D C",
  "A3",
  "A3 F E D",
  "B3",
  "G G F D",
  "E",
  "G3 E D C",
  "G3",
  "G3 E D C",
  "A3 A3", 
  "A3 F E D",
  "G G G G A G F D",
  "C C5 B A G F G",
  "E E E G C D",
  "E E E G C D",
  "E F G A C E D F",
  "E C D E F G A G",
  "F F F F F F",
  "F E E E E E",
  "E D D D D E",
  "D D E F G F E D",
  "E E E G C D",
  "E E E G C D",
  "E F G A C E D F",
  "E C D E F G A G",
  "F F F F F F",
  "F E E E E E",
  "G C5 B A G F E D",
  "C C E G C5"
)

jbells_pitch <- strsplit(jbells_pitch, " ")[[1]]

#3 Establecer paquetes

jbells_duration <- c(
  1, 1, 2, 
  1, 1, 2, 
  1, 1, 1.5, 0.5, 
  4, 
  1, 1, 1, 1, 
  1, 1, 1, 1, 
  1, 1, 1, 1,
  2, 2,
  1, 1, 2, 
  1, 1, 2, 
  1, 1, 1.5, 0.5, 
  4, 
  1, 1, 1, 1, 
  1, 1, 1, 0.5, 0.5, 
  1, 1, 1, 1,
  4,
  1, 1, 1, 1, 
  3, .5, .5, 
  1, 1, 1, 1, 
  4,
  1, 1, 1, 1, 
  4,
  1, 1, 1, 1, 
  4,
  1, 1, 1, 1, 
  4,
  1, 1, 1, 1, 
  3, 1,
  1, 1, 1, 1,
  1, 1, 1, 1, 
  1, 1, 1, 1, 
  1, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
  1, 1, 0.5, 0.5, 0.5, 0.5, 
  1, 1, 0.5, 0.5, 0.5, 0.5,
  0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
  0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
  1, 0.5, 0.5, 1, 0.5, 0.5, 
  1, 0.5, 0.5, 1, 0.5, 0.5, 
  1, 0.5, 0.5, 0.5, 0.5, 1,
  1, 0.33, 0.33, 0.33, 1, 0.33, 0.33, 0.33,
  1, 1, 0.5, 0.5, 0.5, 0.5, 
  1, 1, 0.5, 0.5, 0.5, 0.5,
  0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
  0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
  1, 0.5, 0.5, 1, 0.5, 0.5, 
  1, 0.5, 0.5, 1, 0.5, 0.5, 
  0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
  1, 0.33, 0.33, 0.33, 2
)

#4 Play Music

Rmusic::play_music(jbells_pitch, jbells_duration)
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
Rmusic::save_music(jbells_pitch, jbells_duration, output_file = "jbells.wav")

Conclusiones

Durante esta actividad, aprendí que se pueden realizar tonalidades musicales; similar a los MIDI.
Adicionalmente, aprendí que incluso se pueden generar archivos descargables con formato de audio .wav

LS0tCnRpdGxlOiA8c3BhbiBzdHlsZT0iQ29sb3I6Qmx1ZSI+ICJKaW5nbGUgQmVsbHMiCmF1dGhvcjogIkNhcmxvcyBHb256w6FsZXogQXllcmRpIEEwMDgyOTEyNiIKZGF0ZTogIjIwMjItMDktMDYiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OiAKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQo8aW1nIHNyYz0gIi9Vc2Vycy9jYXJsb3Nnb256YWxlei9EZXNrdG9wL2ppbmdsZS1iZWxsLnBuZyI+IAoKCiMjICMxIEluc3RhbGFyIHBhcXVldGVzICAKYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpCiNkZXZ0b29sczo6aW5zdGFsbF9naXRodWIoImtlaXRobWNudWx0eS9SbXVzaWMiLCBidWlsZF92aWduZXR0ZXMgPSBUUlVFKQojaW5zdGFsbC5wYWNrYWdlcygidGliYmxlIikKYGBgCgoKIyMgIzIgRXN0YWJsZWNlciBwYXF1ZXRlcyAKYGBge3J9CmpiZWxsc19waXRjaCA8LSBwYXN0ZSgKICAiRSBFIEUiLAogICJFIEUgRSIsCiAgIkUgRyBDIEQiLAogICJFIiwKICAiRiBGIEYgRiIsCiAgIkYgRSBFIEUiLAogICJFIEQgRCBFIiwKICAiRCBHIiwKICAiRSBFIEUiLAogICJFIEUgRSIsCiAgIkUgRyBDIEQiLAogICJFIiwKICAiRiBGIEYgRiIsCiAgIkYgRSBFIEUgRSIsCiAgIkcgRyBGIEQiLAogICJDIiwKICAiRzMgRSBEIEMiLAogICJHMyIsCiAgIkczIEczIEczIEUgRCBDIiwKICAiQTMiLAogICJBMyBGIEUgRCIsCiAgIkIzIiwKICAiRyBHIEYgRCIsCiAgIkUiLAogICJHMyBFIEQgQyIsCiAgIkczIiwKICAiRzMgRSBEIEMiLAogICJBMyBBMyIsIAogICJBMyBGIEUgRCIsCiAgIkcgRyBHIEcgQSBHIEYgRCIsCiAgIkMgQzUgQiBBIEcgRiBHIiwKICAiRSBFIEUgRyBDIEQiLAogICJFIEUgRSBHIEMgRCIsCiAgIkUgRiBHIEEgQyBFIEQgRiIsCiAgIkUgQyBEIEUgRiBHIEEgRyIsCiAgIkYgRiBGIEYgRiBGIiwKICAiRiBFIEUgRSBFIEUiLAogICJFIEQgRCBEIEQgRSIsCiAgIkQgRCBFIEYgRyBGIEUgRCIsCiAgIkUgRSBFIEcgQyBEIiwKICAiRSBFIEUgRyBDIEQiLAogICJFIEYgRyBBIEMgRSBEIEYiLAogICJFIEMgRCBFIEYgRyBBIEciLAogICJGIEYgRiBGIEYgRiIsCiAgIkYgRSBFIEUgRSBFIiwKICAiRyBDNSBCIEEgRyBGIEUgRCIsCiAgIkMgQyBFIEcgQzUiCikKCmpiZWxsc19waXRjaCA8LSBzdHJzcGxpdChqYmVsbHNfcGl0Y2gsICIgIilbWzFdXQpgYGAKCgojIyAjMyBFc3RhYmxlY2VyIHBhcXVldGVzIApgYGB7cn0KamJlbGxzX2R1cmF0aW9uIDwtIGMoCiAgMSwgMSwgMiwgCiAgMSwgMSwgMiwgCiAgMSwgMSwgMS41LCAwLjUsIAogIDQsIAogIDEsIDEsIDEsIDEsIAogIDEsIDEsIDEsIDEsIAogIDEsIDEsIDEsIDEsCiAgMiwgMiwKICAxLCAxLCAyLCAKICAxLCAxLCAyLCAKICAxLCAxLCAxLjUsIDAuNSwgCiAgNCwgCiAgMSwgMSwgMSwgMSwgCiAgMSwgMSwgMSwgMC41LCAwLjUsIAogIDEsIDEsIDEsIDEsCiAgNCwKICAxLCAxLCAxLCAxLCAKICAzLCAuNSwgLjUsIAogIDEsIDEsIDEsIDEsIAogIDQsCiAgMSwgMSwgMSwgMSwgCiAgNCwKICAxLCAxLCAxLCAxLCAKICA0LAogIDEsIDEsIDEsIDEsIAogIDQsCiAgMSwgMSwgMSwgMSwgCiAgMywgMSwKICAxLCAxLCAxLCAxLAogIDEsIDEsIDEsIDEsIAogIDEsIDEsIDEsIDEsIAogIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LCAKICAxLCAxLCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMSwgMC41LCAwLjUsIDEsIDAuNSwgMC41LCAKICAxLCAwLjUsIDAuNSwgMSwgMC41LCAwLjUsIAogIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgMSwKICAxLCAwLjMzLCAwLjMzLCAwLjMzLCAxLCAwLjMzLCAwLjMzLCAwLjMzLAogIDEsIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LAogIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LAogIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LAogIDEsIDAuNSwgMC41LCAxLCAwLjUsIDAuNSwgCiAgMSwgMC41LCAwLjUsIDEsIDAuNSwgMC41LCAKICAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwKICAxLCAwLjMzLCAwLjMzLCAwLjMzLCAyCikKCmBgYAoKIyMgIzQgUGxheSBNdXNpYwpgYGB7cn0KUm11c2ljOjpwbGF5X211c2ljKGpiZWxsc19waXRjaCwgamJlbGxzX2R1cmF0aW9uKQoKUm11c2ljOjpzYXZlX211c2ljKGpiZWxsc19waXRjaCwgamJlbGxzX2R1cmF0aW9uLCBvdXRwdXRfZmlsZSA9ICJqYmVsbHMud2F2IikKCmBgYAoKIyMgQ29uY2x1c2lvbmVzCkR1cmFudGUgZXN0YSBhY3RpdmlkYWQsIGFwcmVuZMOtIHF1ZSBzZSBwdWVkZW4gcmVhbGl6YXIgdG9uYWxpZGFkZXMgbXVzaWNhbGVzOyBzaW1pbGFyIGEgbG9zICpNSURJKi4gIApBZGljaW9uYWxtZW50ZSwgYXByZW5kw60gcXVlIGluY2x1c28gc2UgcHVlZGVuIGdlbmVyYXIgYXJjaGl2b3MgZGVzY2FyZ2FibGVzIGNvbiBmb3JtYXRvIGRlIGF1ZGlvIC53YXYgCg==