Skip to content

Unofficial PyTorch implementation of Differentiable Wavetable Synthesis by Shan et al., ICASSP 2022.

Notifications You must be signed in to change notification settings

gudgud96/diff-wave-synth

Repository files navigation

Differentiable Wavetable Synthesis

Unofficial PyTorch implementation of Differentiable Wavetable Synthesis by Shan et al.

Pretrained checkpoints to be added.

Dataset

Download the full NSynth dataset and filter the subset following the filtering logic stated here.

// Download the full dataset as instructed. The file structure should look like:

// nsynth
// |-- nsynth-train
//    |-- audio
//        |-- xxxx.wav
//        |-- ...
//    |-- examples.json
// |-- nsynth-valid     // same for validation set
// |-- nsynth-test      // same for test set


// Then run the script below to generate the filtered subsets
python nsynth_subset.py

The subsets files keys_xxx.txt are already used in my dataloader script.

Alternatively, you can directly head to this link to get the subset, but you might need slight changes on the dataloader.

Train and Test

Configure config.yaml and run python train.py should work.

train_local.py is added to validate the training and implementation on just one example.

Results

Partial results in test_audio, to be updated.

Trumpet:

Flute:

Acknowledgement

Most of the DDSP code is adapted from the DDSP PyTorch implementation by @acids_ircam.

About

Unofficial PyTorch implementation of Differentiable Wavetable Synthesis by Shan et al., ICASSP 2022.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages