Music Vision

A computer vision & Machine Learning Project

Spectrogram of “Billie Jean” by Michael Jackson

Spectrogram of “Billie Jean” by Michael Jackson


Overview

The purpose of this project is to better understand what drives popularity of songs. With a better idea of the key metrics that help to shape a song’s popularity, these metrics can be used to assess historical song performance and subsequently forecast future new song performance. The problem is that there is no clear method to identify popularity metrics, measure these metrics in an accurate way and subsequently use these metrics to predict new song performance. With the help of unsupervised and supervised machine learning algorithms, I intend to develop a solution that would provide insight and statistical analysis in a non-technical format for people to understand the potential performance of new songs. I define performance in the context of streaming play counts and revenues.

 

Problem

The problem is that it is hard to forecast the success of a new song simply based on how the song sounds. Is the similarity of a new song to other historically popular songs the key to “success”? Or is it the unique qualities of the sound in the song that allow it to hit the top of the charts? What are the components of the sound in the song that are most impactful? How impactful is the sound in a song to the overall success of a song? For instance, a new Paul McCartney song will perform a certain way because of the popularity of Paul McCartney. However, how much of that new song’s success could be solely influenced by the sound itself? These are the questions I hoped to investigate.

Screen Shot 2021-07-27 at 8.39.17 PM.png
 
Screen Shot 2021-07-01 at 11.50.06 AM.png

Solution

The solution was to create a computer vision machine learning model that could accurately forecast the potential revenues of a song based on core metrics visualized in the form of a spectrogram (time, frequency). By finding similarly looking songs via their spectrograms, we could predict a similarly sounding song could potentially have similar revenue performance to historical song performance.

 

The Statistic

In order to standardize the results of the model, I used the following statistic to classify and contextualize the forecasted performance of the predicted song. I reverse engineered this statistic ultimately to develop the model.

There is a ___% chance on average that ____ song with have present value total revenues (discounted at 10% yearly) of $____ and ____ plays over the next 12 weeks.

Results

 
 

Spotify Popularity Metric Analysis

This is my research into the most important metrics to best describe the performance of a song. I looked at a dataset of top Spotify songs to see which metrics have the strongest correlation to “popularity”.

Spectrogram Classification & Regression Analysis

This research was the designing and construction of the machine learning model. This includes my script for creating my dataset of spectrograms. This research also includes my code for determining the number of clusters for my K-Means model.

Final Full Classification & Regression Analysis

This research is a combined cleaned script containing the full, unleashed model. This is the script to use for running tests with the highest accuracy. The model predicts on the entire song.

Make sure to have Google Colab downloaded

 
 

FYI: Web server might take about a minute to rev-up when the page loads