Gráfico 1 - Nuvem de Palavras: mostra as palavras mais recorrentes nas músicas do Chico buarque. As palavras consideradas são aquelas que tem uma frequência mínima (>5) nos textos, para não “poluir” a nuvem.
Gráfico 2 - Rede de Associações: mostra as palavras mais comumente associadas, ou seja, que mais aparecem conjutamente (antes ou depois) com a palavras “amor”. O “amor” foi escolhido como referência, mas a rede pode ser feita com outras palavras, inclusive mais de uma.
Gráfico 3 - % de Polaridades por Música: em análise de texto, podemos atribuir polaridades (-1, 0, 1) que corresponde aos sentimentos “Negativo”, “Neutro” e “Positivo”, respectivamente, às palavras das letras. O gráfico exibido mostra as porcentagens de cada sentimento nas músicas de Chico Buarque, considerando palavra a palavra.
Gráfico 1 - Quantidade de acordes distintos: este gráfico mostra as quantidades de acordes diferentes, desconsiderando as repetições, que aconteceram em cada música considerada aqui.
Gráfico 2 - Densidades de Variáveis Extraídas: com os acordes em mão, podemos realizar a extração de algumas covariáveis legais. Os exemplos aqui são de porcentagens de acorde com sétima, quinta, quarta, nona, acordes menores, entre outros, tudo isso por música. o gráfico mostra as densidades destas variáveis.
Gráfico 3 - O Diagrama de Cordas: este gráfico representa as frequências que cada transição entre os acordes ocorreram no total de músicas trabalhadas aqui. No caso, considera-se apenas a versão “simples” do acorde, ou seja, sem notas extras. O diagrama está na ordem do círculo das quintas,
C C# D D# E F F# G G# A A# B
C 1537 0 358 87 807 41 0 436 172 371 0 87
C# 0 0 0 0 0 0 0 0 0 0 0 0
D 0 77 291 77 0 154 231 154 0 0 0 77
D# 83 0 83 0 83 0 0 0 0 0 0 0
E 0 0 176 51 528 0 176 176 0 148 0 148
F 152 238 247 70 0 222 119 689 119 82 201 790
F# 0 0 0 85 0 0 0 0 0 0 0 0
G 0 0 0 0 47 0 0 255 0 0 0 321
G# 0 0 0 0 0 0 0 0 0 0 0 0
A 159 0 194 97 360 216 34 2103 0 515 144 0
B 0 0 0 0 0 0 0 0 0 0 0 0
As variáveis mostradas nos gráficos sobre as músicas do Chico Buarque podem ser definidas simplificadamente como:
Dançabilidade: descreve o quanto uma música é “dançável”. Esta é uma medida que considera elementos como o ritmo, a batida, o tempo e a regularidade da música.
Energia: é uma midade que representa a intensidade e atividade da música. Músicas mais energéticas são rápidas, altas e ruidosas, por exemplo. Por outro lado, músicas clássicas são consideradas de pouca energia.
Sonoridade: é uma medida em decibéis sobre o quanto as canções são “altas”, no sentido sonoro. Essa variável tem relação com com força física, ou amplitude, das músicas.
Fala: essa é a variável que mostra o quanto da música são palavras faladas. Se esta medida estiver acima de 0.66, há grande chances dela ser inteiramente falada. De forma análoga, valores abaixo de 0.33 indicando músicas que provavelmente tem pouco ou quase nada de palavras.
Vivacidade: detecta a presença de audiências nas gravações. Se este valor estiver acima de 0.8, por exemplo, existe uma alta probabilidade da música ser ao vivo.
Duração: é a duração da música em milisegundos.
Acusticidade: é uma medida de confiança sobre o quanto uma música é acústica.
Gráficos - Os gráficos apresentados são da variável dançabilidade contra as outras explicadas acima, com uma reta de regressão linear simples sobre os pontos. Podemos observar o quanto as relações explicitadas fazem sentido. Por exemplo, quanto mais temos de energia em uma música, maior é seu nível de dançabilidade. Da mesma forma, quanto mais acústica, ela é menos dançável também, e assim por diante.
Tabela - A tabela apresentada nessa seção representa as escalas obtidas através do Cifraclub versus as escalas do Spotify. Um dos grandes problemas do Cifraclub é a quantidade de informações incorretas que os usuários inserem. Esta comparação demonstra o quanto os dados de um software diferem do que foi escrito no Cifraclub.
# install.packages(“vagalumeR”)
library(vagalumeR)
chave <- "sua-api-key"
artista <- "chico-buarque"
ids <- songNames(artista)
# todas as letras
letra <- purrr::map(ids$song.id, lyrics,
artist = artista, key = chave, type = "id") %>%
purrr::map_dfr(data.frame)
# letras por nome da música
letra <- lyrics("a-banda", artist = "chico-buarque",
key = chave, type = "name")
library(tidyverse)
# install.packages(“chorrrds”)
library(chorrrds)
nomes <- get_songs(artista)
# todos os acordes
acordes <- get_chords(nomes$url)
head(acordes)
# letras por música específica
musica <- nomes %>% dplyr::filter(
stringr::str_detect(name ,pattern = "a banda"))
# devtools::install_github("tiagomendesdantas/Rspotify")
library(Rspotify)
busca <- unique(acordes$music) # do objeto anterior
chave <- spotifyOAuth("app_id","client_id","client_secret")
# buscando os ids das músicas dentro do Spotify
possibly_track <- purrr::possibly(searchTrack, otherwise = "mensagem")
ids <- purrr::map(busca, possibly_track, token = chave) %>%
purrr::map_dfr(data.frame) %>%
dplyr::select(id, display_name)
# buscando as features dos ids anteriores
info <- purrr::map_dfr(ids$id, getFeatures, token = chave)
spotify <- dplyr::inner_join(ids, info, "id") %>%
group_by(id, display_name) %>%
slice(1) # mantendo apenas a primeira linha de cada nome de música
acordes <- acordes %>%
dplyr::mutate(acorde = stringr::str_extract(chord,
pattern = "^([A-G]#?b?)"),
song = stringr::str_remove(music, "chico buarque "))
letra <- letra %>%
dplyr::mutate(song = stringr::str_to_lower(song),
song = abjutils::rm_accent(song))
spotify <- spotify %>%
dplyr::mutate(song = stringr::str_to_lower(display_name),
song = abjutils::rm_accent(song))
match <- dplyr::inner_join(letra, acordes, by = "song") %>%
dplyr::inner_join(spotify, by = "song") %>%
dplyr::select(-c(uri, analysis_url))