Jingle Bells

#install.packages("devtools")
devtools::install_github("keithmcnulty/Rmusic", build_vignettes = TRUE)
## Skipping install of 'Rmusic' from a github remote, the SHA1 (07d3c027) has not changed since last install.
##   Use `force = TRUE` to force installation
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]]

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
)


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")

Conclusion

Hacer musica en “R” es posible y se demostró con la canción anterior. Entre más compleja la cacnión, más complejo el código.

LS0tCnRpdGxlOiA8c3BhbiBzdHlsZT0iQ29sb3I6UmVkIj4gIk11c2ljYS1KaW5nbGVfYmVsbHMiCmF1dGhvcjogIkRhbmEgUGVyZXogLSBBMDAyMjcwNDEiCmRhdGU6ICI5LzcvMjAyMiIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OiAKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQoKPGltZyBzcmM9Ii9Vc2Vycy9kYW5uYXBlcmV6L0Rlc2t0b3AvaW1hZ2VuZXMgcGFyYSBIVE1ML0ppbmdsZS1CZWxscy1QTkctVHJhbnNwYXJlbnQtUGljdHVyZS5wbmciPgoKIyBKaW5nbGUgQmVsbHMgCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygiZGV2dG9vbHMiKQpkZXZ0b29sczo6aW5zdGFsbF9naXRodWIoImtlaXRobWNudWx0eS9SbXVzaWMiLCBidWlsZF92aWduZXR0ZXMgPSBUUlVFKQoKamJlbGxzX3BpdGNoIDwtIHBhc3RlKAogICJFIEUgRSIsCiAgIkUgRSBFIiwKICAiRSBHIEMgRCIsCiAgIkUiLAogICJGIEYgRiBGIiwKICAiRiBFIEUgRSIsCiAgIkUgRCBEIEUiLAogICJEIEciLAogICJFIEUgRSIsCiAgIkUgRSBFIiwKICAiRSBHIEMgRCIsCiAgIkUiLAogICJGIEYgRiBGIiwKICAiRiBFIEUgRSBFIiwKICAiRyBHIEYgRCIsCiAgIkMiLAogICJHMyBFIEQgQyIsCiAgIkczIiwKICAiRzMgRzMgRzMgRSBEIEMiLAogICJBMyIsCiAgIkEzIEYgRSBEIiwKICAiQjMiLAogICJHIEcgRiBEIiwKICAiRSIsCiAgIkczIEUgRCBDIiwKICAiRzMiLAogICJHMyBFIEQgQyIsCiAgIkEzIEEzIiwgCiAgIkEzIEYgRSBEIiwKICAiRyBHIEcgRyBBIEcgRiBEIiwKICAiQyBDNSBCIEEgRyBGIEciLAogICJFIEUgRSBHIEMgRCIsCiAgIkUgRSBFIEcgQyBEIiwKICAiRSBGIEcgQSBDIEUgRCBGIiwKICAiRSBDIEQgRSBGIEcgQSBHIiwKICAiRiBGIEYgRiBGIEYiLAogICJGIEUgRSBFIEUgRSIsCiAgIkUgRCBEIEQgRCBFIiwKICAiRCBEIEUgRiBHIEYgRSBEIiwKICAiRSBFIEUgRyBDIEQiLAogICJFIEUgRSBHIEMgRCIsCiAgIkUgRiBHIEEgQyBFIEQgRiIsCiAgIkUgQyBEIEUgRiBHIEEgRyIsCiAgIkYgRiBGIEYgRiBGIiwKICAiRiBFIEUgRSBFIEUiLAogICJHIEM1IEIgQSBHIEYgRSBEIiwKICAiQyBDIEUgRyBDNSIKKQoKCmpiZWxsc19waXRjaCA8LSBzdHJzcGxpdChqYmVsbHNfcGl0Y2gsICIgIilbWzFdXQoKamJlbGxzX2R1cmF0aW9uIDwtIGMoCiAgMSwgMSwgMiwgCiAgMSwgMSwgMiwgCiAgMSwgMSwgMS41LCAwLjUsIAogIDQsIAogIDEsIDEsIDEsIDEsIAogIDEsIDEsIDEsIDEsIAogIDEsIDEsIDEsIDEsCiAgMiwgMiwKICAxLCAxLCAyLCAKICAxLCAxLCAyLCAKICAxLCAxLCAxLjUsIDAuNSwgCiAgNCwgCiAgMSwgMSwgMSwgMSwgCiAgMSwgMSwgMSwgMC41LCAwLjUsIAogIDEsIDEsIDEsIDEsCiAgNCwKICAxLCAxLCAxLCAxLCAKICAzLCAuNSwgLjUsIAogIDEsIDEsIDEsIDEsIAogIDQsCiAgMSwgMSwgMSwgMSwgCiAgNCwKICAxLCAxLCAxLCAxLCAKICA0LAogIDEsIDEsIDEsIDEsIAogIDQsCiAgMSwgMSwgMSwgMSwgCiAgMywgMSwKICAxLCAxLCAxLCAxLAogIDEsIDEsIDEsIDEsIAogIDEsIDEsIDEsIDEsIAogIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LCAKICAxLCAxLCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsCiAgMSwgMC41LCAwLjUsIDEsIDAuNSwgMC41LCAKICAxLCAwLjUsIDAuNSwgMSwgMC41LCAwLjUsIAogIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgMSwKICAxLCAwLjMzLCAwLjMzLCAwLjMzLCAxLCAwLjMzLCAwLjMzLCAwLjMzLAogIDEsIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LAogIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LAogIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LAogIDEsIDAuNSwgMC41LCAxLCAwLjUsIDAuNSwgCiAgMSwgMC41LCAwLjUsIDEsIDAuNSwgMC41LCAKICAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwKICAxLCAwLjMzLCAwLjMzLCAwLjMzLCAyCikKCgpSbXVzaWM6OnBsYXlfbXVzaWMoamJlbGxzX3BpdGNoLCBqYmVsbHNfZHVyYXRpb24pCgpSbXVzaWM6OnNhdmVfbXVzaWMoamJlbGxzX3BpdGNoLCBqYmVsbHNfZHVyYXRpb24sIG91dHB1dF9maWxlID0gImpiZWxscy53YXYiKQpgYGAKCiMgQ29uY2x1c2lvbgpIYWNlciBtdXNpY2EgZW4gKiJSIiogZXMgcG9zaWJsZSB5IHNlIGRlbW9zdHLDsyBjb24gbGEgY2FuY2nDs24gYW50ZXJpb3IuIEVudHJlIG3DoXMgY29tcGxlamEgbGEgY2FjbmnDs24sIG3DoXMgY29tcGxlam8gZWwgY8OzZGlnby4g