This is a simple GUI tool for chord detection developed from the example in librosa.sequence.viterbi_discriminative, with the ability to detect some seventh chords by using the k-NN algorithm.
The main idea is using the k-NN algorithm to tell some triads and sevenths chords apart after the result of librosa.sequence.viterbi_discriminative
. Chroma features of audio files generated by MIDI chord templates are used as the dataset.
This is only a project for my coursework which does not guarantee the accuracy. It would be better not to use it to do chord detection in practice.
- Timidity++
- Qt
- joblib
- librosa
- matplotlib
- numpy
- pandas
- scikit_learn
- scipy
- tqdm
First, install Python requirements.
pip install -r requirements.txt
Then generate data. It may take a while.
cd observado/
python generate.py
You may directly use main.py
, or build the GUI tool with CMake.