Jingle Bells, la tan famosa canción de navidad de todos los tiempos, creada por James Pierport y renovada por diversos artistas actuales, ha sido un single que no envejece.

library("vembedr")
embed_youtube("GlWkUGjoLRY")

Los pasos para crearlo son:

1. Instalar paquetes de música

#install.packages("devtools")

library(devtools)
## Loading required package: usethis
devtools::install_github("keithmcnulty/Rmusic", build_vignettes = TRUE)
## WARNING: Rtools is required to build R packages, but is not currently installed.
## 
## Please download and install Rtools 4.2 from https://cran.r-project.org/bin/windows/Rtools/ or https://www.r-project.org/nosvn/winutf8/ucrt3/.
## Skipping install of 'Rmusic' from a github remote, the SHA1 (07d3c027) has not changed since last install.
##   Use `force = TRUE` to force installation

2. Crear las notas como string

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. Se crea el vector de duración

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.Se reproduce y se crea un archivo WAV

Rmusic::play_music(jbells_pitch, jbells_duration)
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.
Rmusic::save_music(jbells_pitch, jbells_duration, output_file = "jbells.wav")

Comentarios:

No se puede correr en la versión 4.1.1 debido a que sale cierto error dentro del programa.

Conclusión y Aprendizajes:

Dentro de esta corta y divertida actividad, pudimos comprender acerca de los mil y un usos que se le puede dar a R Studio junto con su librería conectada a github que permite crear este tipo de funciones siempre y cuando tengas las notas en estadar americano.

Como apasionada por la música se aprecia que puedan meter este tipo de funciones dentro de programas en la actualidad, según lo aprendido, al saber las notas y tempos de cada canción se podría lograr este tipo de desarrollo de programas fácilmente.

LS0tDQp0aXRsZTogPHNwYW4gc3R5bGU9IkNvbG9yOnJlZCI+IEppbmdsZSBCZWxscyA8L3NwYW4+IA0KYXV0aG9yOiAiRGFuaWVsYSBDw6FyZGVuYXMgWiAvLyBBMDE3MjA1MzUiDQpkYXRlOiAiMjAyMi0wOS0wOSINCm91dHB1dDogIA0KICBodG1sX2RvY3VtZW50Og0KICAgICAgICB0b2M6IHRydWUNCiAgICAgICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCi0tLQ0KDQojIDxpbWcgc3JjPSAiQzpcXFVzZXJzXFxkYW55Y1xcRG93bmxvYWRzXFxiZWxscy5wbmciIC8+DQoNCioqSmluZ2xlIEJlbGxzKiosIGxhIHRhbiBmYW1vc2EgY2FuY2nDs24gZGUgbmF2aWRhZCBkZSB0b2RvcyBsb3MgdGllbXBvcywgY3JlYWRhIHBvciAqSmFtZXMgUGllcnBvcnQqIHkgcmVub3ZhZGEgcG9yIGRpdmVyc29zIGFydGlzdGFzIGFjdHVhbGVzLCBoYSBzaWRvIHVuIHNpbmdsZSBxdWUgbm8gZW52ZWplY2UuDQpgYGB7cn0NCmxpYnJhcnkoInZlbWJlZHIiKQ0KZW1iZWRfeW91dHViZSgiR2xXa1VHam9MUlkiKQ0KYGBgDQoNCg0KIyBMb3MgcGFzb3MgcGFyYSBjcmVhcmxvIHNvbjoNCg0KIyA8c3BhbiBzdHlsZT0iQ29sb3I6IzAwODAzNyI+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgZGUgbcO6c2ljYTwvc3Bhbj4gDQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpDQoNCmxpYnJhcnkoZGV2dG9vbHMpDQpkZXZ0b29sczo6aW5zdGFsbF9naXRodWIoImtlaXRobWNudWx0eS9SbXVzaWMiLCBidWlsZF92aWduZXR0ZXMgPSBUUlVFKQ0KYGBgDQoNCg0KIyA8c3BhbiBzdHlsZT0iQ29sb3I6IzAwODAzNyI+Mi4gQ3JlYXIgbGFzIG5vdGFzIGNvbW8gc3RyaW5nPC9zcGFuPg0KPGltZyBzcmM9ICJDOlxcVXNlcnNcXGRhbnljXFxEb3dubG9hZHNcXG4ucG5nIiAvPg0KYGBge3J9DQoNCg0KamJlbGxzX3BpdGNoIDwtIHBhc3RlKA0KICAiRSBFIEUiLA0KICAiRSBFIEUiLA0KICAiRSBHIEMgRCIsDQogICJFIiwNCiAgIkYgRiBGIEYiLA0KICAiRiBFIEUgRSIsDQogICJFIEQgRCBFIiwNCiAgIkQgRyIsDQogICJFIEUgRSIsDQogICJFIEUgRSIsDQogICJFIEcgQyBEIiwNCiAgIkUiLA0KICAiRiBGIEYgRiIsDQogICJGIEUgRSBFIEUiLA0KICAiRyBHIEYgRCIsDQogICJDIiwNCiAgIkczIEUgRCBDIiwNCiAgIkczIiwNCiAgIkczIEczIEczIEUgRCBDIiwNCiAgIkEzIiwNCiAgIkEzIEYgRSBEIiwNCiAgIkIzIiwNCiAgIkcgRyBGIEQiLA0KICAiRSIsDQogICJHMyBFIEQgQyIsDQogICJHMyIsDQogICJHMyBFIEQgQyIsDQogICJBMyBBMyIsIA0KICAiQTMgRiBFIEQiLA0KICAiRyBHIEcgRyBBIEcgRiBEIiwNCiAgIkMgQzUgQiBBIEcgRiBHIiwNCiAgIkUgRSBFIEcgQyBEIiwNCiAgIkUgRSBFIEcgQyBEIiwNCiAgIkUgRiBHIEEgQyBFIEQgRiIsDQogICJFIEMgRCBFIEYgRyBBIEciLA0KICAiRiBGIEYgRiBGIEYiLA0KICAiRiBFIEUgRSBFIEUiLA0KICAiRSBEIEQgRCBEIEUiLA0KICAiRCBEIEUgRiBHIEYgRSBEIiwNCiAgIkUgRSBFIEcgQyBEIiwNCiAgIkUgRSBFIEcgQyBEIiwNCiAgIkUgRiBHIEEgQyBFIEQgRiIsDQogICJFIEMgRCBFIEYgRyBBIEciLA0KICAiRiBGIEYgRiBGIEYiLA0KICAiRiBFIEUgRSBFIEUiLA0KICAiRyBDNSBCIEEgRyBGIEUgRCIsDQogICJDIEMgRSBHIEM1Ig0KKQ0KYGBgDQoNCmBgYHtyfQ0KamJlbGxzX3BpdGNoIDwtIHN0cnNwbGl0KGpiZWxsc19waXRjaCwgIiAiKVtbMV1dDQpgYGANCg0KIyA8c3BhbiBzdHlsZT0iQ29sb3I6IzAwODAzNyI+My4gU2UgY3JlYSBlbCB2ZWN0b3IgZGUgZHVyYWNpw7NuPC9zcGFuPg0KPGltZyBzcmM9ICJDOlxcVXNlcnNcXGRhbnljXFxEb3dubG9hZHNcXHQucG5nIiAvPg0KYGBge3J9DQoNCg0KamJlbGxzX2R1cmF0aW9uIDwtIGMoDQogIDEsIDEsIDIsIA0KICAxLCAxLCAyLCANCiAgMSwgMSwgMS41LCAwLjUsIA0KICA0LCANCiAgMSwgMSwgMSwgMSwgDQogIDEsIDEsIDEsIDEsIA0KICAxLCAxLCAxLCAxLA0KICAyLCAyLA0KICAxLCAxLCAyLCANCiAgMSwgMSwgMiwgDQogIDEsIDEsIDEuNSwgMC41LCANCiAgNCwgDQogIDEsIDEsIDEsIDEsIA0KICAxLCAxLCAxLCAwLjUsIDAuNSwgDQogIDEsIDEsIDEsIDEsDQogIDQsDQogIDEsIDEsIDEsIDEsIA0KICAzLCAuNSwgLjUsIA0KICAxLCAxLCAxLCAxLCANCiAgNCwNCiAgMSwgMSwgMSwgMSwgDQogIDQsDQogIDEsIDEsIDEsIDEsIA0KICA0LA0KICAxLCAxLCAxLCAxLCANCiAgNCwNCiAgMSwgMSwgMSwgMSwgDQogIDMsIDEsDQogIDEsIDEsIDEsIDEsDQogIDEsIDEsIDEsIDEsIA0KICAxLCAxLCAxLCAxLCANCiAgMSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwNCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LCANCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LA0KICAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwNCiAgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsDQogIDEsIDAuNSwgMC41LCAxLCAwLjUsIDAuNSwgDQogIDEsIDAuNSwgMC41LCAxLCAwLjUsIDAuNSwgDQogIDEsIDAuNSwgMC41LCAwLjUsIDAuNSwgMSwNCiAgMSwgMC4zMywgMC4zMywgMC4zMywgMSwgMC4zMywgMC4zMywgMC4zMywNCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LCANCiAgMSwgMSwgMC41LCAwLjUsIDAuNSwgMC41LA0KICAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwNCiAgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsDQogIDEsIDAuNSwgMC41LCAxLCAwLjUsIDAuNSwgDQogIDEsIDAuNSwgMC41LCAxLCAwLjUsIDAuNSwgDQogIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LCAwLjUsIDAuNSwgMC41LA0KICAxLCAwLjMzLCAwLjMzLCAwLjMzLCAyDQopDQpgYGANCg0KIyA8c3BhbiBzdHlsZT0iQ29sb3I6IzAwODAzNyI+NC5TZSByZXByb2R1Y2UgeSBzZSBjcmVhIHVuIGFyY2hpdm8gV0FWPC9zcGFuPiANCmBgYHtyfQ0KUm11c2ljOjpwbGF5X211c2ljKGpiZWxsc19waXRjaCwgamJlbGxzX2R1cmF0aW9uKQ0KDQpSbXVzaWM6OnNhdmVfbXVzaWMoamJlbGxzX3BpdGNoLCBqYmVsbHNfZHVyYXRpb24sIG91dHB1dF9maWxlID0gImpiZWxscy53YXYiKQ0KYGBgDQoNCg0KIyMgPHNwYW4gc3R5bGU9IkNvbG9yOiMwMDgwMzciPkNvbWVudGFyaW9zPC9zcGFuPjogDQpObyBzZSBwdWVkZSBjb3JyZXIgZW4gbGEgdmVyc2nDs24gNC4xLjEgZGViaWRvIGEgcXVlIHNhbGUgY2llcnRvIGVycm9yIGRlbnRybyBkZWwgcHJvZ3JhbWEuDQoNCiMgPHNwYW4gc3R5bGU9IkNvbG9yOiMwMDgwMzciPiBDb25jbHVzacOzbiB5IEFwcmVuZGl6YWplczwvc3Bhbj46DQoNCkRlbnRybyBkZSBlc3RhIGNvcnRhIHkgZGl2ZXJ0aWRhIGFjdGl2aWRhZCwgcHVkaW1vcyBjb21wcmVuZGVyIGFjZXJjYSBkZSBsb3MgbWlsIHkgdW4gdXNvcyBxdWUgc2UgbGUgcHVlZGUgZGFyIGEgKlIgU3R1ZGlvKiBqdW50byBjb24gc3UgbGlicmVyw61hIGNvbmVjdGFkYSBhIGdpdGh1YiBxdWUgcGVybWl0ZSBjcmVhciBlc3RlIHRpcG8gZGUgZnVuY2lvbmVzIHNpZW1wcmUgeSBjdWFuZG8gdGVuZ2FzIGxhcyBub3RhcyBlbiBlc3RhZGFyIGFtZXJpY2Fuby4gDQoNCkNvbW8gYXBhc2lvbmFkYSBwb3IgbGEgbcO6c2ljYSBzZSBhcHJlY2lhIHF1ZSBwdWVkYW4gbWV0ZXIgZXN0ZSB0aXBvIGRlIGZ1bmNpb25lcyBkZW50cm8gZGUgcHJvZ3JhbWFzIGVuIGxhIGFjdHVhbGlkYWQsIHNlZ8O6biBsbyBhcHJlbmRpZG8sIGFsIHNhYmVyIGxhcyBub3RhcyB5IHRlbXBvcyBkZSBjYWRhIGNhbmNpw7NuIHNlIHBvZHLDrWEgbG9ncmFyIGVzdGUgdGlwbyBkZSBkZXNhcnJvbGxvIGRlIHByb2dyYW1hcyBmw6FjaWxtZW50ZS4=