GitHub - r-music/vagalumeR: R package to access the Vagalume API (original) (raw)

Travis-CI Build Status

vagalumeR: Access the Vagalume API via R

This package allows you to access the Vagalume API via R. You can get information about specific artists/bands, as their related artists, and information about the lyrics, as the top lyrics of an artist/band and the text of a song itself.

The vagalumeR package is developed under version control using Git and is hosted in GitHub. You can download it from GitHub using devtools:

If you enjoy this work, consider buying me a coffee in Ko-Fi, or Paypal:

so I can keep developing and maintaining this package :)

vagalumeR: Access the Vagalume API via R

This package allows you to access the Vagalume API via R. You can get information about specific artists/bands, as their related artists, and information about the lyrics, as the top lyrics of an artist/band and the text of a song itself.

The vagalumeR package is developed under control version using Git and is hosted in GitHub. You can download it from GitHub using devtools:

install.packages("devtools")

devtools::install_github("brunaw/vagalumeR")

For exploring the content of the package, you may try:

library(vagalumeR) packageVersion("vagalumeR") ls("package:vagalumeR") help(package = "vagalumeR")


Some examples of the usage of this package are below:

First of all, you'll need one API key, that can be obtained at theVagalume Website. You'll need to register at the Website for that.

library(tidyverse)

Copy and paste your api key at the following object:

key <- "putyourapikeyhere"

artists <- c("the-beatles", "madonna", "chico-buarque", "the-rolling-stones", "molejo")

artists %>% map_dfr(artistInfo)

id name views pos period uniques points

1 3ade68b3gce86eda3 The Beatles 68965 15 201902 30269 42.9

2 3ade68b3g1f86eda3 Madonna 16728 130 201902 7992 11.9

3 3ade68b4g66c6eda3 Chico Buarque 23478 95 201902 9634 14.3

4 3ade68b6g28c9eda3 Rolling Stones 8406 140 201901 4528 11.7

5 3ade68b5g2f48eda3 Molejo 1410 1078 201902 712 1.5

Where:

rel <- artists %>% map_dfr(relatedInfo)

rel[sample(nrow(rel), 10), ]

id name rel.id related

22 3ade68b4g66c6eda3 Chico Buarque 3ade68b5gf7e7eda3 Gilberto Gil

5 3ade68b3gce86eda3 The Beatles 3ade68b6g28c9eda3 Rolling Stones

40 3ade68b6g28c9eda3 Rolling Stones 3ade68b5g1bf7eda3 Queen

6 3ade68b3gce86eda3 The Beatles 3ade68b5gc5a8eda3 Elvis Presley

38 3ade68b6g28c9eda3 Rolling Stones 3ade68b5gc5a8eda3 Elvis Presley

16 3ade68b3g1f86eda3 Madonna 3ade68b7g424c1ea3 Jessie J

8 3ade68b3gce86eda3 The Beatles 3ade68b5g1bf7eda3 Queen

26 3ade68b4g66c6eda3 Chico Buarque 3ade68b5g7d48eda3 Maria Bethânia

39 3ade68b6g28c9eda3 Rolling Stones 3ade68b5gd237eda3 Kiss

42 3ade68b5g2f48eda3 Molejo 3ade68b3g9d86eda3 Art Popular

Where:

library(network) df <- data.frame(rel$name, rel$related) net <- network(df) plot(net, label = network.vertex.names(net))

songs <- artists %>% map_dfr(songNames)

songs[sample(nrow(songs), 10), ]

id name song.id song

789 3ade68b4g66c6eda3 Chico Buarque 3ade68b8gf2982fa3 Deixa A Menina

236 3ade68b3gce86eda3 The Beatles 3ade68b6g1bddfda3 Rock and Roll Music

1650 3ade68b5g2f48eda3 Molejo 3ade68b8g65559fa3 Tiro Onda

64 3ade68b3gce86eda3 The Beatles 3ade68b6gf2edfda3 Don't Ever Change

832 3ade68b4g66c6eda3 Chico Buarque 3ade68b8g1562eea3 Festa Imodesta

1096 3ade68b4g66c6eda3 Chico Buarque 3ade68b6gbcc1fda3 Vai Passar

1415 3ade68b6g28c9eda3 Rolling Stones 3ade68b6g310feda3 Rock And A Hard Place

1276 3ade68b6g28c9eda3 Rolling Stones 3ade68b7g3f4b3ea3 Honest I Do

861 3ade68b4g66c6eda3 Chico Buarque 3ade68b7g48388ea3 Imagina Só

152 3ade68b3gce86eda3 The Beatles 3ade68b6g47ddfda3 In Spite Of All The Danger

Where:

lyr <- songs %>% filter(name == "The Beatles") %>% sample_n(5) %>% pull(song.id) %>% map_dfr(lyrics, artist = "The Beatles", type = "id", key = key, message = FALSE)

glimpse(lyr)

Observations: 5

Variables: 8

$ id "3ade68b4g7d96eda3", "3ade68b7g585fbea3", …

$ name "the beatles", "the beatles", "the beatles…

$ lang 2, 2, 2, 2, 2

$ text "I don't want to spoil the party so I'll g…

$ song.id "3ade68b4g7d96eda3", "3ade68b7g585fbea3", …

$ song "the beatles", "the beatles", "the beatles…

$ language 1, 1, 1, 1, 1

$ translation "[Eu não quero estragar a festa] Eu não q…

Where:

library(tidytext)

count_words <- lyr %>% unnest_tokens(word, text) %>% count(word) %>% arrange(desc(n)) %>% slice(1:30)

Shows the most common words in songs from The Beatles

count_words %>% ggplot(aes(word, n)) + geom_bar(stat = "identity", fill = "pink", colour = "black", alpha = 0.7) + coord_flip() + theme_bw()