Unofficial PyTorch dataset for Slakh
Project description
Slakh PyTorch Dataset
Unofficial PyTorch dataset for Slakh.
This project is a work in progress, expect breaking changes!
Roadmap
Automatic music transcription (AMT) usecase with audio and labels
- Specify dataset split (
original
,splits_v2
,redux
) - Add new splits (
redux_no_pitch_bend
, ...) (Should also be filed upstream) (implemented byskip_pitch_bend_tracks
) - Load audio
mix.flac
(all the instruments comined) - Load individual audio mixes (need to combine audio in a streaming fashion)
- Specify
train
,validation
ortest
group - Choose sequence length
- Reproducable load sequences (usefull for validation group to get consistent results)
- Add more instruments (
eletric-bass
,piano
,guitar
, ...) - Choose between having audio in memory or stream from disk (solved by
max_files_in_memory
) - Add to pip
Audio source separation usecase with different audio mixes
- List to come
Usage
-
Download the Slakh dataset (see the official website). It's about 100GB compressed so expect using some time on this point.
-
Install the Python package with pip:
pip install slakh-dataset
-
Convert the audio to 16 kHz (see https://github.com/ethman/slakh-utils)
-
You can use the dataset (AMT usecase):
from torch.utils.data import DataLoader
from slakh_dataset import SlakhAmtDataset
dataset = SlakhAmtDataset(
path='path/to/slakh-16khz-folder'
split='redux', # 'splits_v2','redux-no-pitch-bend'
audio='mix.flac', # 'individual'
instrument='electric-bass', # or `midi_programs`
# midi_programs=[33, 34, 35, 36, 37],
groups=['train'],
skip_pitch_bend_tracks=True,
sequence_length=327680,
max_files_in_memory=200,
)
batch_size = 8
loader = DataLoader(dataset, batch_size, shuffle=True, drop_last=True)
# train model on dataset...
Acknowledgement
-
This code is based on the dataset in Onset and Frames by Jong Wook Kim which is MIT Lisenced.
-
Slakh http://www.slakh.com/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file slakh-dataset-0.1.10.tar.gz
.
File metadata
- Download URL: slakh-dataset-0.1.10.tar.gz
- Upload date:
- Size: 47.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.5 CPython/3.7.2 Darwin/20.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01658ac5e06773502325973e92eec43e02802c09af51c917cb83310dd2e8a340 |
|
MD5 | 1182f2555a1e4c0b1f0b1862b1ef21eb |
|
BLAKE2b-256 | 777d61b6f0adae0320491320ad90dc2215f72a8e0d473e7be8291d87601a56fd |
File details
Details for the file slakh_dataset-0.1.10-py3-none-any.whl
.
File metadata
- Download URL: slakh_dataset-0.1.10-py3-none-any.whl
- Upload date:
- Size: 48.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.5 CPython/3.7.2 Darwin/20.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bfea751ba3c73ad915ceb51c3fa1f60129f591cf3ee5c564a096996dc88658b |
|
MD5 | 69a9720fb3670604cbd022a58ed8099a |
|
BLAKE2b-256 | c9ffd13bfed4af22a032c46c4e45f076309a2e9a14e35e0e16e7ea968fff028c |