A project that helps identify the genre of an mp3 music file and discover music of similar genres. See the demo at: https://www.youtube.com/watch?v=6ErHy6OuTg4
- /docs/: Component specification, functional specification, and project presentations.
- /musical_robots/data/: Raw data that was used for training the ML model and data containing track and genre information.
- /musical_robots/tests/: Unit tests.
- /musical_robots/demo.py: Musical Robot User Interaction
- /examples/: Tutorial notebooks for SVM training and genre prediction.
- Download full repository.
- Download the training dataset 'fma_small.zip' and the datasets 'fma_metadata.zip" from https://github.com/mdeff/fma into the data folder.
- Set up the conda environment with "conda env create -f environment.yml"
- Activate the conda environment with "conda activate data-exploration"
- To use the service to identify an mp3 music file's genre and explore similar music:
- Run the command "streamlit run musical_robots/demo.py" in terminal from the main repository.
- The interaction will look as follows.
- To replicate the ML model:
- Follow the tutorial in 'examples/GenrePredictionTutorial.py'
- To train your own ML model:
- Follow the tutorial in "examples/TrainSVMTutorial.ipynb".
- To run the unit tests:
- Run
python -m unittest discover -s musical_robots
in the main directory.
- Run
Thanks to Prof. David Beck and Anant Mittal at the University of Washington for teaching the course and guiding us during the execution of this project.