Skip to content

tianw52/Trend_in_Music_Popularity_from_Global_Phenomena

Repository files navigation

CMPT 732 Final Project: Trends in Song Popularity from Global Phenomena

Welcome to our repository! Our project is an exploration of recent trends in song popularity based on global phenomena.

Instructions to run our project

Please see RUNNING.md.

Pre-ETL Data

All the raw data about economic factors and happiness scores can be found in the pre-etl_data directory, which contains:

  • gdp_per_capita directory: Contains an Excel file for each country that contains their annual GDP per capita in USD (source: Statista).
  • inflation directory: Contains an Excel file for each country that contains their annual inflation rate (source: Statista).
  • unemployment directory: Contains an Excel file for each country that contains their annual unemployment rate (source: Statista).
  • happiness.xls: An Excel file that contains the annual happiness scores out of 10 for each country (source: World Happiness Report).

Note: There are two datasets for Spotify tracks which are too big for GitHub and must be downloaded from Kaggle:

  • Song Dataset: Database with details about top songs in each country per week in each year.
  • Lyrics Dataset: Database with some lyrics from the Genius website.

We use the Genius API to grab songs with lyrics.

Then, we use two language libraries in Python to detect the language of the lyrics: langdetect and pycld2by using language_etl

Sentiment Analysis

We use Hugging Face models to predict the mood of our lyrics, by separating them into three categories. All the related code in this directory is to run the sentiment analysis portion of our project and store in moods data.

PowerBI Visualization

We also have a PowerBI dashboard to show what we found based on our cleaned data. You can download the file and upload it to your SFU PowerBI workspace to view and interact with it.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages