Ethan Lusterman & Robert Gruener
Department of Electrical Engineering, The Cooper Union
ECE414 Machine Learning, Fall 2013, Advisor: Sam Keene
This project collects and uses 30-second preview, genre-labeled raw audio data from echonest's API to train a prt (pattern recognition toolbox) classifier in MATLAB and then test it. Feature extraction is accomplished using Mel Frequency Cepstral Coefficients (MFCCs), and the default classifier used is a Treebagger (prtClassMatlabTreebagger)
. Testing of the classifier in MATLAB outputs a confusion matrix with overall percentage displayed (prtScoreConfusionMatrix)
. The front-end is written in Flask for uploading and testing of single audio files with visual output. Due to time constraints, the back-end uses a wrapper that allows MATLAB functions to be called from within Python (mlabwrap)
.
pydub
pyechonest
numpy
newfolder/PRT (https://github.com/newfolder/PRT)
rastamat (http://labrosa.ee.columbia.edu/matlab/rastamat/)
- Rename
SAMPLE_CONFIG
toCONFIG.py
and add your echonest API key data. python echonest.py
to collect training and testing data- Open MATLAB and run
butRunThisScriptDoe.m
to load the data into MATLAB and train and test the classifier. - Modify the feature collection in
loadData.m
if desired. - Test classifier on single files in MATLAB using
testFile.m
.