Profile Picture Martijn Van Vreeden
New Playlist
Number of followers
Calculation of this playlist
This playlist is compiled based on genre filters and multiple characteristics of tracks. I have selected all tracks from artists with a genre that contains "rock", "punk" or "metal". I have excluded tracks from artists with genres containing "pop", "mellow", "hip hop" or "soul". After this, I have created a subset excluding tracks shorter than 80000 milliseconds (interludes and intros).
There are several audio features available in the Spotify API for each individual track. I have based my playlist on the following audio features:
  • Track Tempo
  • Track Liveliness
Based on the new list of tracks, I have selected tracks with the highest tempo (first 150 tracks) and selected tracks with a high level of liveliness based on the new 150 track list. I sorted the list to get the top listened tracks first. The list is made more interesting by ensuring that each artist can only be added to the list once.
R code used to compile the playlist
df5[grepl('rock|metal|punk', df5$artist_genres),] -> pl_rock
pl_rock[!grepl('pop|hip hop|soul|mellow', pl_rock$artist_genres),] -> pl_rock
subset(pl_rock, track_duration_ms > 80000) -> pl_rock
head(pl_rock %>% arrange(desc(track_tempo)),150) -> rock_arr
head(rock_arr %>% arrange(desc(track_special_liveliness)),100) -> rock_arr2
rock_arr2 %>% arrange(desc(count)) -> rock_arr3
head(rock_arr3[!duplicated(rock_arr3$artist_id), ],40)[,1] -> rock_tracks1
paste(as.character(rock_tracks1$track_id),collapse="|",sep="") -> rock_tracks
0:01
3:07
Lyrics Devices Available