Deep DJ Learning

Data Collection and Feature Extraction

We utilize Librosa, NumPy, MatPlotLib, LyricsGenius, OpenAI, TinyTag, Pandas, Ast, NLTK, and Plotly to extract audio and textual features, conduct dimensionality reductions, and visualize distinctions.

A final data frame is created and stored.

Audio Exploratory Data Analysis

We utilize NumPy, MatPlotLib, Pandas, NLTK, Seaborn, and Plotly to conduct dimensionality reduction, analyze central tendencies, and visualize distinctions.

A principal component analysis is conducted and visualized to observe distinctions between playlists in terms of audio features.

Textual Exploratory Data Analysis

We utilize NumPy, MatPlotLib, Pandas, NLTK, Seaborn, and Plotly to conduct dimensionality reduction, analyze central tendencies, and visualize distinctions.

A t-SNE is conducted on 3 principal components on the lyrical features of the songs. These are visualized to identify differences across playlists. Distinctions are observed, particularly between Hindi, Dance, and Rap music.

Supervised Learning Approaches

We utilize NumPy, Pandas, XGBoost, and Scikit-Learn to explore different supervised techniques to classify the songs into their respective playlists.

An overview of model performances

Final Supervised Model Design

We utilize PyTorch to create a 7-layered neural network trained with cross entropy loss, ReLU activation, and a 0.3 dropout rate.

Unsupervised Approaches

We use Gaussian Mixture Models to explore whether the corpus can be clustered differently than how it was categorized in its supervised counterpart.

We note that clusters are not as distinct as expected, with songs of different playlists between clubbed together into the same clusters.

Conclusions

Given the high F1-score of our supervised model, it suffices to say that it has achieved our objectives of being able to classify songs into specific genres based on specific DJ preferences. If deployed, this model will save substantial amounts of time analyzing and categorizing songs.

It is important to note that the implementation of our model was limited by certain factors, such as the lack of data available and large computing resources. We hope to address these issues in our next steps.

Next Steps – Questions to Answer