__________ _____
/ ____/ __ \/ ___/
/ / / /_/ /\__ \
/ /___/ _, _/___/ /
\____/_/ |_|/____/
Chord Recognition System
MUSI 6201 final project.
The only thing that should be set up first is the machine-learning-based chord recommendation. The dataset we use is McGill Billboard dataset.
The current chord prediction is using third-order Markov chain.
You can adjust the order by changing the variable MARKOV_ORDER
in configs.py
.
If this is the first time running the program, setup.py
should be executed first. The program will automatically download and split the McGill Billboard dataset, and create trained machine learning model files. Execute python setup.py rnn
for training RNN model, python setup.py markov
for training Markov chains. The model files will be placed in cache/
directory. Run python setup.py clean
to remove the cache/
directory.
For now the trained RNN model files are not properly named, so the program won't work unless you change the value of RNN_MODEL_PATH
in configs.py
to the RNN model you are going to use.
Run main.py
, which is the entrance to the whole program. The system is using 5 as step size for chord recommendation. Onset detection is disabled by default.
Run chroma_chord_detection.py
.
Change the file name in main in function argument.
Run chord_recommendation.py
to get prediction and evaluation.