This repo contains the code for the paper: Symbolic Music Representations for Classification Tasks: A Systematic Evaluation
It contains the models and experiments for evaluating three symbolic music representations:
- Matrix-like (Pianoroll)
- Graph-like
- Sequence-like (Using Tokenized representations mainly from MidiTok)
We use two datasets for evaluation:
To use please download the corresponding datasets and refer to the path in conf/config.yaml
- Python 3.6 or newer
To install all python dependencies, run:
pip install -r requirements.txt
To run the experiments, run the following command and change the parameters:
./experiments/crossval_run.sh
The configurations regarding experiment, task, dataset, as well as the three representations, can be modified in conf/config.yaml
. The parameters management are supported by Hydra.
Experiments for this repository are logged using Weights and Biases.
The code is organized into the following folders:
conf
: configuration filesmodel
: contains the code for the models used in the paperexperiments
: contains the code for the experiments in the paperconverters
: contains the code for converting each symbolic representationmiditok
: contains the custom tokenizers for musicxml