JosueMA / Trance-music-classification-with-CRNN

This repository contains an exploratory analysis, along with 3 different models, for music label classification. Particularly, 6 important trance music labels were analysed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Trance music classification with CRNN

This repository contains an exploratory analysis, along with 3 different models, for music label classification. Particularly, 6 important trance music labels were analysed.

Description

This repository contains an analysis I made for the Data Science conference The Dataday 2019 and for the Data Pub both in Mexico City, Mexico. The principal model that is used is based on the paper Musical Artist Classification with Convolutional Recurrent Neural Networks by Nasrullah, Z. et al. [1] and good part of the funcionts that are used are based on the code available in the github repository of the paper that can be found here.

The aim of the analysis is to explore the posibility of training a model that can classify new songs into one out of 4 (6) important trance music labels: Anjunabeats, FSOE, WAO138 and Coldharbour recordings (plus Pure Trance and Armind). Three different models were compare: a multinomial logistic regresion that uses the songs metadata, a naive deep Feedfoward Neural Network and the CRNN used by Nasrullah, Z. et al. [1]. The CRNN showed best results compare to the other two models given the limitations the logistic regression has as it uses only the song metadata and not information of how the actual song sounds like.

Notebooks

There are two jupyter notebooks in this repository:

  • CRNN_audio_classificaton_4 contains a brief introduction to the problem and what is trance music, an exploratory analysis of the metadata of 4 labels, the results of the models trained, and multiple visualizations of the results.
  • CRNN_audio_classificaton_6 an extension of the model analysis were 6 labels were compared instead of 4.

Data

The data that was used were all the realized songs from 1st of january 2018 to March 2019 from this 4 (6) labels and that were available on Beatport. All songs that were not label as Trance by Beatport were not used.

As I don't own the rights of these songs the data was not uploaded, just the results.

Results

One of the main results that were found was that the way CRNN learned how to do the classification shows a possibility in using this information for music recomendation sistems, particularly if you are interested in Djing or you want your customers to explore new labels that are related to the labels they are currently listening.

Other Links

You can watch the talk I gave in the Data Day 2019 here

References

[1] Nasrullah, Z. and Zhao, Y., Musical Artist Classification with Convolutional Recurrent Neural Networks. International Joint Conference on Neural Networks (IJCNN), 2019.

About

This repository contains an exploratory analysis, along with 3 different models, for music label classification. Particularly, 6 important trance music labels were analysed.


Languages

Language:Jupyter Notebook 99.1%Language:Python 0.9%