This repository contains additional material for the papers:
- M. Zehren, M. Alunno, and P. Bientinesi, “ADTOF: A large dataset of non-synthetic music for automatic drum transcription,” in Proceedings of the 22st International Society for Music Information Retrieval Conference, Online, 2021, pp. 818–824.
- Zehren, M.; Alunno, M.; Bientinesi, P. High-Quality and Reproducible Automatic Drum Transcription from Crowdsourced Data. Signals 2023, 4, 768-787. https://doi.org/10.3390/signals4040042
The content of this repository is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
The easiest way to test the trained model is our Colab Notebook which produces the following example:
Example.ADTOF2.mov
Original video generously provided by Thomas Crémier: Crémier, Thomas. "Sunshine - Psygnosis [Official Drum Playthrough by Thomas Crémier]." YouTube
Alternatively, you can run the transcription locally with this Jupyter Notebook.
If you want to train your model, a copy of the ADTOF
datasets is available upon request on Zenodo. The datasets contain 359 hours of music annotated for automatic drum transcription. The data is available as mel-scale spectrograms. Once downloaded, the datasets can be loaded with this Jupyter Notebook.
We also share the cleansing procedure used to build the datasets presented in the submission. You can build your version with the following steps.
To build the datasets or use the pre-trained ADT models, you first need to install dependencies. This can be done with the script setup.py with the following command line:
pip3 install .
To build the dataset you need to download rhythm video game charts. For example, from Rhythm Gaming World.
The charts you downloaded in the previous step are in different formats meant for different rhythm games. But the automatic cleansing requires that the charts downloaded are following specifically the PhaseShift
file format (i.e. a folder containing a song.ogg and a notes.mid file). You can easily convert the charts downloaded to a good file format with the software C3 CON Tools (tested on Windows 10). After downloading and launching C3 CON Tools, the conversion is done on the graphical user interface following this procedure:
- Click on Phase Shift Converter
- Click on Change Input Folder and select the folder containing the custom charts previously downloaded
- Click on Begin
The custom charts you downloaded and transformed into the PhaseShift
file format can now be converted into a usable dataset with the script /bin/automaticGrooming.py:
automaticGrooming.py [-h] [-p] inputFolder outputFolder
Process a chart folder with the automatic cleaning procedure
positional arguments:
inputFolder Path to the chart folder.
outputFolder Path to the destination folder of the dataset.
optional arguments:
-h, --help show this help message and exit
-p, --parallel Run the cleansing in parallel
Clear mapping from different datasets (e.g., Slakh) to General MIDI has been added in the file instrumentsMapping.py