Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/farzanmrz/music-genre-classification
🎵 Music Genre Classification using Machine Learning 🚀 A Python project that leverages machine learning algorithms to classify music tracks into genres based on audio features. Explore KNN, SVM, Decision Trees, and more. Checkout the plotted graphs for model comparison!
https://github.com/farzanmrz/music-genre-classification
kaggle-dataset keras machine-learning music-classification neural-networks tensorflow
Last synced: 6 days ago
JSON representation
🎵 Music Genre Classification using Machine Learning 🚀 A Python project that leverages machine learning algorithms to classify music tracks into genres based on audio features. Explore KNN, SVM, Decision Trees, and more. Checkout the plotted graphs for model comparison!
- Host: GitHub
- URL: https://github.com/farzanmrz/music-genre-classification
- Owner: Farzanmrz
- License: mit
- Created: 2024-01-22T15:06:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-16T02:14:08.000Z (12 months ago)
- Last Synced: 2024-12-16T08:34:26.451Z (2 months ago)
- Topics: kaggle-dataset, keras, machine-learning, music-classification, neural-networks, tensorflow
- Language: Python
- Homepage:
- Size: 486 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Music Genre Classification Using Discriminative ML Algorithms
## Overview
This repository is the home of the music genre classification project for the CS4824 Machine Learning course at Virginia Tech. The aim of this project is to leverage various discriminative machine learning algorithms to accurately classify music tracks into genres based on audio features.
## Objective
The goal of this project is to develop a Python application capable of classifying 30-second music tracks into their respective genres. To facilitate user interaction, a graphical user interface (GUI) is provided, allowing users to select among different models, compare their performance, and visualize the results in an accessible format.
## Methods Used
### Data Collection
The [original dataset](https://www.kaggle.com/datasets/andradaolteanu/gtzan-dataset-music-genre-classification) from Kaggle consists of 10 music genres, each represented by 100 tracks. The features extracted from these tracks provide the basis for differentiating between genres.
### Machine Learning Models
Several machine learning models were explored:
- k-Nearest Neighbors (KNN)
- Support Vector Machines (SVM)
- Decision Trees
- Logistic Regression
- Neural Networks (NN)### Evaluation Strategy
Model performance is evaluated through cross-validation and feature selection techniques. The GUI displays meaningful figures to compare the efficacy of the various models.
## Technologies
- Python
- Jupyter Notebook
- Libraries: pandas, numpy, scikit-learn, matplotlib, tensorflow, kerasThe 'MusicGenreClassifiers' project is an exploration into the application of machine learning for classifying music by genre. Through rigorous testing and evaluation, we aim to demonstrate the capability of discriminative models in understanding and categorizing music based on its intrinsic features. The project's GUI enhances the user experience by offering interactive elements to engage with the models' outcomes actively.
## Methodology
Our approach is methodical and user-centric:
1. The dataset is prepared by extracting significant audio features.
2. Various machine learning models are trained and fine-tuned on the dataset.
3. A GUI is provided for users to interact with the models and visualize results.
4. Performance metrics are computed and presented for each model.## Getting Started
To get started with this project:
1. Clone the repository to your local machine.
2. Ensure you have the required libraries installed.
3. Run the main application to train/test models and use the GUI for interaction.## Contributing Members
- **Farzan Mirza:** [email protected] (https://www.linkedin.com/in/farzan-mirza13/)
- **Mayank Hirani**
- **Enzo Saba**## Background
This project was initially completed in May 2022 as part of the CS4824 ML course at Virginia Tech. It has been brought back to life to share the work and findings with the community. Please note that this project is not actively maintained, but feel free to explore, use, or contribute to it. While the original project was a collaborative effort, I have lost contact with the other team members, and their GitHub accounts are not linked in this repository. Despite this, I acknowledge their initial contributions to the project. For reference, the original project repository can be found [here](https://github.com/sabaenzo/MusicGenreClassifiers). Please note that the improvements and modifications made to this codebase are independent of the original contributors.