- Description:
The Groove MIDI Dataset (GMD) is composed of 13.6 hours of aligned MIDI and (synthesized) audio of human-performed, tempo-aligned expressive drumming captured on a Roland TD-11 V-Drum electronic drum kit.
Additional Documentation: Explore on Papers With Code
Homepage: https://g.co/magenta/groove-dataset
Source code:
tfds.datasets.groove.BuilderVersions:
2.0.1(default): No release notes.
Supervised keys (See
as_superviseddoc):NoneFigure (tfds.show_examples): Not supported.
Citation:
@inproceedings{groove2019,
Author = {Jon Gillick and Adam Roberts and Jesse Engel and Douglas Eck and David Bamman},
Title = {Learning to Groove with Inverse Sequence Transformations},
Booktitle = {International Conference on Machine Learning (ICML)}
Year = {2019},
}
groove/full-midionly (default config)
Config description: Groove dataset without audio, unsplit.
Download size:
3.11 MiBDataset size:
5.22 MiBAuto-cached (documentation): Yes
Splits:
| Split | Examples |
|---|---|
'test' |
129 |
'train' |
897 |
'validation' |
124 |
- Feature structure:
FeaturesDict({
'bpm': int32,
'drummer': ClassLabel(shape=(), dtype=int64, num_classes=10),
'id': string,
'midi': string,
'style': FeaturesDict({
'primary': ClassLabel(shape=(), dtype=int64, num_classes=18),
'secondary': string,
}),
'time_signature': ClassLabel(shape=(), dtype=int64, num_classes=5),
'type': ClassLabel(shape=(), dtype=int64, num_classes=2),
})
- Feature documentation:
| Feature | Class | Shape | Dtype | Description |
|---|---|---|---|---|
| FeaturesDict | ||||
| bpm | Tensor | int32 | ||
| drummer | ClassLabel | int64 | ||
| id | Tensor | string | ||
| midi | Tensor | string | ||
| style | FeaturesDict | |||
| style/primary | ClassLabel | int64 | ||
| style/secondary | Tensor | string | ||
| time_signature | ClassLabel | int64 | ||
| type | ClassLabel | int64 |
- Examples (tfds.as_dataframe):
groove/full-16000hz
Config description: Groove dataset with audio, unsplit.
Download size:
4.76 GiBDataset size:
2.33 GiBAuto-cached (documentation): No
Splits:
| Split | Examples |
|---|---|
'test' |
124 |
'train' |
846 |
'validation' |
120 |
- Feature structure:
FeaturesDict({
'audio': Audio(shape=(None,), dtype=float32),
'bpm': int32,
'drummer': ClassLabel(shape=(), dtype=int64, num_classes=10),
'id': string,
'midi': string,
'style': FeaturesDict({
'primary': ClassLabel(shape=(), dtype=int64, num_classes=18),
'secondary': string,
}),
'time_signature': ClassLabel(shape=(), dtype=int64, num_classes=5),
'type': ClassLabel(shape=(), dtype=int64, num_classes=2),
})
- Feature documentation:
| Feature | Class | Shape | Dtype | Description |
|---|---|---|---|---|
| FeaturesDict | ||||
| audio | Audio | (None,) | float32 | |
| bpm | Tensor | int32 | ||
| drummer | ClassLabel | int64 | ||
| id | Tensor | string | ||
| midi | Tensor | string | ||
| style | FeaturesDict | |||
| style/primary | ClassLabel | int64 | ||
| style/secondary | Tensor | string | ||
| time_signature | ClassLabel | int64 | ||
| type | ClassLabel | int64 |
- Examples (tfds.as_dataframe):
groove/2bar-midionly
Config description: Groove dataset without audio, split into 2-bar chunks.
Download size:
3.11 MiBDataset size:
19.59 MiBAuto-cached (documentation): Yes
Splits:
| Split | Examples |
|---|---|
'test' |
2,204 |
'train' |
18,163 |
'validation' |
2,252 |
- Feature structure:
FeaturesDict({
'bpm': int32,
'drummer': ClassLabel(shape=(), dtype=int64, num_classes=10),
'id': string,
'midi': string,
'style': FeaturesDict({
'primary': ClassLabel(shape=(), dtype=int64, num_classes=18),
'secondary': string,
}),
'time_signature': ClassLabel(shape=(), dtype=int64, num_classes=5),
'type': ClassLabel(shape=(), dtype=int64, num_classes=2),
})
- Feature documentation:
| Feature | Class | Shape | Dtype | Description |
|---|---|---|---|---|
| FeaturesDict | ||||
| bpm | Tensor | int32 | ||
| drummer | ClassLabel | int64 | ||
| id | Tensor | string | ||
| midi | Tensor | string | ||
| style | FeaturesDict | |||
| style/primary | ClassLabel | int64 | ||
| style/secondary | Tensor | string | ||
| time_signature | ClassLabel | int64 | ||
| type | ClassLabel | int64 |
- Examples (tfds.as_dataframe):
groove/2bar-16000hz
Config description: Groove dataset with audio, split into 2-bar chunks.
Download size:
4.76 GiBDataset size:
4.61 GiBAuto-cached (documentation): No
Splits:
| Split | Examples |
|---|---|
'test' |
1,873 |
'train' |
14,390 |
'validation' |
2,034 |
- Feature structure:
FeaturesDict({
'audio': Audio(shape=(None,), dtype=float32),
'bpm': int32,
'drummer': ClassLabel(shape=(), dtype=int64, num_classes=10),
'id': string,
'midi': string,
'style': FeaturesDict({
'primary': ClassLabel(shape=(), dtype=int64, num_classes=18),
'secondary': string,
}),
'time_signature': ClassLabel(shape=(), dtype=int64, num_classes=5),
'type': ClassLabel(shape=(), dtype=int64, num_classes=2),
})
- Feature documentation:
| Feature | Class | Shape | Dtype | Description |
|---|---|---|---|---|
| FeaturesDict | ||||
| audio | Audio | (None,) | float32 | |
| bpm | Tensor | int32 | ||
| drummer | ClassLabel | int64 | ||
| id | Tensor | string | ||
| midi | Tensor | string | ||
| style | FeaturesDict | |||
| style/primary | ClassLabel | int64 | ||
| style/secondary | Tensor | string | ||
| time_signature | ClassLabel | int64 | ||
| type | ClassLabel | int64 |
- Examples (tfds.as_dataframe):
groove/4bar-midionly
Config description: Groove dataset without audio, split into 4-bar chunks.
Download size:
3.11 MiBDataset size:
27.32 MiBAuto-cached (documentation): Yes
Splits:
| Split | Examples |
|---|---|
'test' |
2,033 |
'train' |
17,261 |
'validation' |
2,121 |
- Feature structure:
FeaturesDict({
'bpm': int32,
'drummer': ClassLabel(shape=(), dtype=int64, num_classes=10),
'id': string,
'midi': string,
'style': FeaturesDict({
'primary': ClassLabel(shape=(), dtype=int64, num_classes=18),
'secondary': string,
}),
'time_signature': ClassLabel(shape=(), dtype=int64, num_classes=5),
'type': ClassLabel(shape=(), dtype=int64, num_classes=2),
})
- Feature documentation:
| Feature | Class | Shape | Dtype | Description |
|---|---|---|---|---|
| FeaturesDict | ||||
| bpm | Tensor | int32 | ||
| drummer | ClassLabel | int64 | ||
| id | Tensor | string | ||
| midi | Tensor | string | ||
| style | FeaturesDict | |||
| style/primary | ClassLabel | int64 | ||
| style/secondary | Tensor | string | ||
| time_signature | ClassLabel | int64 | ||
| type | ClassLabel | int64 |
- Examples (tfds.as_dataframe):