The purpose of this project is to analyze how different or how similar is the music that different artists on Spotify produce. The focus will be placed on disentangling the musical taste of 50 different artists from a wide range of genres. Throughout the process, I also identify different clusters of artists that share a similar musical style.
For the study, I will access the Spotify Web API, which provides data from the Spotify music catalog and can be accesed via standard HTTPS requests to an API endpoint. The Spotify API provides, among other things, track information for each song, including audio statistics such as danceability, instrumentalness or temp. I will focus on retrieving this audio feature information from 50 different 'This Is' Playlists of 50 different artists . Each feature measures an aspect of a song. Detailed information on how each feature is calculated can be found in the Spotify API Website.
An accompanied Medium blog post has been written up and can be viewed here: Spotify's "This Is" Playlists: The Ultimate Song Analysis for 50 Mainstream Artists
Here are the different files in the project:
- This Is Playlist URI: The initial .csv file with artists and playlist URI I prepared for this project.
- Spotify Artists Analysis: The complete R Markdown that details my whole process throughout this project.
- Data Processing: The R code I did for getting the data.
- Data Visualization: The R code I did for visualizing the data.
- RStudio (get the latest version)
Here are the R packages I used for the project:
- Rspotify
- httr
- jsonlite
- readr
- knitr
- kableExtra
- dplyr
- gdata
- radarchart
- tidyr
- ggfortify
- ggthemes
- stringr
- ggplot2
MIT. See the LICENSE file for the copyright notice.