- This project is to classy style of music which are Progressive and non-Progressive. First, the songs of music are transferred into images by Libros. Then, the classifiers such as CNN, GoogLeNet, and ResNet-50 try to identify the style of the song by the transferred images from songs.
- Python3
- librosa
- matplotlib
- pandas
- opencv-python
- pydub
- torch
- torchvision
- openpyxl
- tensorflow
- keras
-
ffmpeg
- Clone repository
git clone https://github.com/ryonakennedy/CAP6610-Project
- Change to working directory from clone
cd CAP6610-Project
- Install project requirements (linux example)
pip3 install -r requirements.txt
apt-get install ffmpeg
- Create folder for music files used to extract features from
mkdir Dataset
- Copy music files into Dataset folder retaining music folder hierarchy (make sure only audio files are in directories or script may halt/fail)
Dataset
├── Not_Progressive_Rock
└── Progressive_Rock_Songs
Dataset/Not_Progressive_Rock/
├── Other_Songs
└── Top_Of_The_Pops
For extracting features from sound files
./ExtractFeatures.py
- CNN2_BCELoss
./CNN2_BCELoss.py
- Fisher Discriminant, Random Forests, Linear SVM, Regression Tree
./SciKitLearnClassifiers.py
Extract Raw Data
./save_data.py
Extract snippets from Raw Data
./save_snippets.py
- Classifier-Attention-Based CNN
Train
./train.py
Evaluate
./evaluate.py