Abstract • Project Setup • Data • Run Experiments • License
- Usage instructions included!
- The paper was accepted at ISMIR 2024!
Music classification is a prominent research area within Music Information Retrieval. While Deep Learning methods can adequately perform this task, their classification space remains fixed once trained, which conflicts with the dynamic nature of the ever-evolving music landscape. This work explores, for the first time, the application of Continual Learning (CL) in the context of music classification. Specifically, we thoroughly evaluate five state-of-the-art CL approaches across four different music classification tasks. Additionally, we showcase that a foundation model might be the key to CL in music classification. To that end, we study a new approach called \emph{Pre-trained Class Centers}, which leverages pre-trained features to create fixed class-center spaces. Our results reveal that existing CL methods struggle when applied to music classification tasks, whereas this simple method consistently outperforms them. This highlights the need for CL methods tailored specifically for music classification.
This implementation has been developed in Python 3.10, and CUDA 11.
To setup a project, run the following configuration instructions:
Create a virtual environment using uv run the following:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
uv pip install -e .
In order to indicate where the data has to be read from you need to set a environment variable:
DATASETS_PATH=<datasets_path>
In order for everything to work smoothly, please save all datasets in the same folder and leave the folder structure as it was when they were downloaded.
The datasets used for our experimentation are currently publicily available at:
We follow an experimentation protocol where the experiments are defined as python configurations, you can find these configurations in the experiments folder.
In order to launch all experiments for MERT:
bash run_experiments_mert.sh
In order to launch all experiments for CLMR:
bash run_experiments_clmr.sh
This work is under a MIT license.