Skip to content
/ TB-303 Public

Time-varying subtractive synth experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

License

Notifications You must be signed in to change notification settings

DiffAPF/TB-303

Repository files navigation

Differentiable All-pole Filters for Time-varying Audio Systems

Chin-Yun Yu, Christopher Mitcheltree, Alistair Carson, Stefan Bilbao, Joshua D. Reiss, and György Fazekas

arXiv Listening Samples Plugins License

Time-varying Subtractive Synthesizer (Roland TB-303 Bass Line) Experiments

Instructions for Reproducibility

  1. Clone this repository and open its directory.
  2. Initialize and update the submodules (git submodule update --init --recursive).
  3. Install the requirements using
    conda env create --file=conda_env_cpu.yml or
    conda env create --file=conda_env.yml
    for GPU acceleration.
    requirements_pipchill.txt and requirements_all.txt are also provided as references, but are not needed when using the conda_env.yml files.
  4. The source code can be explored in the acid_ddsp/ directory.
  5. All models from the paper can be found in the models/ directory.
  6. All eval results from the paper can be found in the eval/ directory.
  7. All Neutone files for running the models and the acid synth implementations as a VST in a DAW can be found in the neutone/ directory.
  8. Create an out directory (mkdir out).
  9. All models can be evaluated by modifying and running scripts/test.py.
    Make sure your PYTHONPATH has been set correctly by running a command like
    export PYTHONPATH=$PYTHONPATH:BASE_DIR/acid_ddsp/,
    export PYTHONPATH=$PYTHONPATH:BASE_DIR/torchlpc/, and
    export PYTHONPATH=$PYTHONPATH:BASE_DIR/fadtk/.
  10. CPU benchmark values can be obtained by running scripts/benchmark.py.
    These will vary depending on your computer.
  11. (Optional) All models can be trained by modifying configs/abstract_303/train.yml and running scripts/train.py.
    Before training, scripts/preprocess_data.py should be run to create the dataset.
  12. (Optional) Custom Neutone models can be exported by modifying and running scripts/export_neutone_models.py or scripts/export_neutone_synth.py.
  13. The source code is currently not documented, but don't hesitate to open an issue if you have any questions or comments.

Citation

@inproceedings{ycy2024diffapf,
  title={Differentiable All-pole Filters for Time-varying Audio Systems},
  author={Chin-Yun Yu and Christopher Mitcheltree and Alistair Carson and Stefan Bilbao and Joshua D. Reiss and György Fazekas},
  booktitle={International Conference on Digital Audio Effects (DAFx)},
  year={2024}
}

About

Time-varying subtractive synth experiments source code for "Differentiable All-pole Filters for Time-varying Audio Systems".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published