Music Genre Classification Project
import jovian
project_name= 'Music genre classification project'
# Execute this to save new versions of the notebook
jovian.commit(project=project_name)
[jovian] Creating a new project "augustineadah67/Music genre classification project"
[jovian] Committed successfully! https://jovian.ai/augustineadah67/music-genre-classification-project
Music Genre Classification Project
Dataset Description
So according to Vera Nazarin, if music was a place, then Jazz is the city, Folk is the wilderness, Rock is the Road and classical is a temple. We have all used apps or some streaming app to listen to music. What is the apps logic for creating a personalized playlist of genres for us. One example is to have a Music Genre classification System. The aim of conducting this project is to see how to handle audio files in python, create audio features from them, and run deep learning algorithm on them to see the results.
Furthermore, I wanted to create a machine learning model which classifies music samples into different genres. It aims to predict the genres using an audio signal as its input. The objective of automating the music classification is to make the selection of songs quick and less cumbersome. If one has to manually classify the songs or music, one has to listen to the whole lot of songs and then select the genre. This is not only time consuming but also difficult.
DATASET
For this project, the dataset we will be working with is the www.kaggle.com/andradaolteanu/gtzan-dataset-music-genre-classification/activity (GTZAN) Genre classification dataset which consists of 1000 audio tracks, each 30 second long. It contains 10 genres each represented by 100 tracks
The 10 genres are:
- Blues
- Classical
- Country
- Disco
- Hip-hop
- Jazz
- Metal
- Pop
- Reggae
- Rock
Data Analysis and exploration
Information about the dataset
This dataset contains audio files belonging to 10 classes. There are certain challenges with this dataset in the sense that the data is continuous data and computers can only store discrete data so in what way do we digitize the data in such a way that we can easily store.
So the only solution is that we find a way to store the data that is discrete yet continuous. We sample the data at fixed duration like 0.02 second apart or less or more. The rate at which the data is sampled is known as sampling rate.
When we are sampling the data, what we are actually doing is recording the amplitude at that point.