component-id | name | brief-description | type | release-date | release-number | work-package | licence | links | credits | ||
---|---|---|---|---|---|---|---|---|---|---|---|
root_note_detection |
Root Note Detection |
Work-in-progress on root note detection on a corpus of monophonic Irish folk tunes. |
Repository |
20/05/2022 |
v0.7.0.1-dev |
|
|
The files in this folder are related to the Root note detection task. The notebook exploits monophonic Irish folk tunes processed data (that can be found in cre_root_detection.csv
file) and with help of machine learning models predicts the root note of a tune. Determination of the root note of each piece of music in the corpus under investigation is a key foundational step in FONN. Accurate root note data allows reliable calculation of key-invariant chromatic pitch class sequences, which have been the primary input for our pattern analysis and melodic similarity work.
NOTE: Deliverable 3.3 of the Polifonia project describes the context and research in more detail.
To use the best trained model for root-note prediction tasks, follow the demo notebook ./RootNoteDemo.ipynb.
This component requires the cre_root_detection.csv
. This file contains the processed data for each tune in the Ceol Rince na hÉireann (CRE) corpus. please see: /.root_key_detection/cre_root_detection.csv
In this deliverable, we employed a factorial design experiment for Decision Tree, Random Forest, and Naive Bayes algorithms. We used a comprehensive list of hyperparameters to select the top-performing models. We also conducted experiments using SMOTE to generate a synthetic balance dataset. Finally, evaluation was done on an unseen dataset, and the obtained results are superior to state-of-the-art models.
Following is the summary of the current work. The experiment notebook ./root-note-detection.ipynb reads the Ceol Rince na hÉireann (CRE) corpus CSV file and then performs the following steps:
- 1- Exploratory Data Analysis, such as null value, classes count, correlations, etc.
- 2- Global settings are defined to control feature selection
- 3- Multiple dataset are created for model development and its evaluation
- 4- Minority classes are balanced with help of SMOTE
- 5- Classification report of state-of-the-art models for root note detection are generated for comparison
- 6- Factorial design experimental setup is developed to evaluate different classification algorithms such as Decision Tree, RandomForest, NaiveBayes
- 7- The best models are selected, and finally they are compared with SOA models, and the best model is saved.
The demo notebook ./RootNoteDemo.ipynb shows how to use the best trained model for new prediction tasks.
If you use the code in this repository, please cite this software as follow:
@software{danny_diamond_2022_6566379,
author = {Danny Diamond and
Abdul Shahid and
James McDermott},
title = {{polifonia-project/folk\_ngram\_analysis: FONN
v0.5dev}},
month = may,
year = 2022
}
This work is licensed under CC BY 4.0, https://creativecommons.org/licenses/by/4.0/