Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 1.83 KB

File metadata and controls

38 lines (32 loc) · 1.83 KB

music-genre-classification-using-CNN

libraries

  • Tensorflow
  • Matplotlib
  • Librosa
  • Numpy
  • Pandas

dataset

  • fma_small
    • 8,000 tracks of 30s, 8 balanced genres (7.2gb)

methodoloy

  • Mel Spectrograms were created from the first 10 seconds of each song in the dataset Example of Mel Spectrogram
  • As these spectrograms are images, we can treat this as an immage classification problem
  • We train a CNN to classify these spectrograms into their genres
    CNN model summary

training

  • An adam optimizer was used for training
  • Categorical Crossentropy loss was used since it was a classification problem
  • We noticed overfitting, to reduce this we
    • Removed instrumental songs from our data since it showed the highest misclassification
    • Reduced complexity of our CNN model
    • Added regularization and a dropout layer
  • We got the following Accuracy and Loss graphs (blue = validation | orange = training)
    Accuracy graph Loss graph

results

  • 626/994 songs were classified correctly 
  • Accuracy of 62.97% was obtained
  • Hip Hop and Folk songs were classified well
  • The model had trouble classifying Pop and Rock songs
    test confusion matrix