juancopi81/mutopia_guitar_dataset
Mutopia Guitar Dataset Dataset Summary Mutopia guitar dataset consists of the soloist guitar pieces of the Mutopia Project. I encoded the MIDI files into text tokens using the excellent implementation of Dr. Tristan Beheren of the paper: MMM: Exploring Conditional Multi-Track Music Generation with the Transformer. The dataset mainly contains guitar music from western classical composers, such as Sor, Aguado, Carcassi, and Giuliani. Supported Tasks and… See the full description on the dataset page: https://huggingface.co/datasets/juancopi81/mutopia_guitar_dataset.
Mutopia Guitar Dataset
Table of Contents
- Dataset Card Creation Guide
- Table of Contents
- Dataset Description
- Dataset Summary
- Supported Tasks and Leaderboards
- Dataset Structure
- Data Instances
- Data Fields
- Data Splits
Dataset Description
- Homepage: Mutopia Project
- Repository implementation of the paper: MMM: Exploring Conditional Multi-Track Music Generation with the Transformer and the Johann Sebastian Bach Chorales Dataset
- Based on Paper: MMM: Exploring Conditional Multi-Track Music Generation with the Transformer
- Point of Contact: Juan Carlos Piñeros
Dataset Summary
Mutopia guitar dataset consists of the soloist guitar pieces of the Mutopia Project. I encoded the MIDI files into text tokens using the excellent implementation of Dr. Tristan Beheren of the paper: MMM: Exploring Conditional Multi-Track Music Generation with the Transformer.
The dataset mainly contains guitar music from western classical composers, such as Sor, Aguado, Carcassi, and Giuliani.
Supported Tasks and Leaderboards
Anyone interested can use the dataset to train a model for symbolic music generation, which consists in treating symbols for music sounds (notes) as text tokens. Then, one can implement a generative model using NLP techniques, such as Transformers.
Dataset Structure
Data Instances
Each guitar piece is represented as a line of text that contains a series of tokens, for instance:
PIECESTART: Where the piece begins PIECEENDS: Where the piece ends TIMESIGNATURE: Time signature for the piece BPM: Tempo of the piece BARSTART: Begining of a new bar NOTEON: Start of a new musical note specifying its MIDI note number TIMEDELTA: Duration until the next event NOTE_OFF: End of musical note specifying its MIDI note number
{
'text': PIECE_START TIME_SIGNATURE=2_4 BPM=74 TRACK_START INST=0 DENSITY=4 BAR_START NOTE_ON=52 TIME_DELTA=2.0 NOTE_OFF=52 NOTE_ON=45 NOTE_ON=49 TIME_DELTA=2.0 NOTE_OFF=49 NOTE_ON=52 TIME_DELTA=2.0 NOTE_OFF=45 NOTE_ON=47 NOTE_OFF=52 NOTE_ON=44 TIME_DELTA=2.0,
...
}Data Fields
text: Sequence of tokens that represent the guitar piece as explained in the paper MMM: Exploring Conditional Multi-Track Music Generation with the Transformer.
Data Splits
There are, at this moment, 395 MIDI guitar files in the Mutopia Project. I removed files of pieces that were not music for soloist guitar. After this removal, there were 372 MIDI files.
I used an 80/20 split and augmented the training dataset by transposing the piece 1 octave above and below (24 semitones). The final result is then:
Train dataset: 7325 pieces Test dataset: 74 pieces
