Skip to content

gudgud96/syntheon

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

syntheon_logo

Syntheon

Syntheon - Pantheon for music synthesizers.

Syntheon provides parameter inference for music synthesizers using deep learning models. Given an audio sample, Syntheon infers the best parameter preset for a given synthesizer that can recreate the audio sample.

**Check out this presentation on the recent advances of synth parameter inference.

For now:

  • ✔️ Vital is supported
  • Dexed is work-in-progress

Try it out on our Colab notebook demo.

Installation

python3 -m pip install syntheon

Usage

from syntheon import infer_params

output_params_file, eval_dict = infer_params(
    "your_audio.wav", 
    "vital", 
    enable_eval=True
)

Testing

python3 -m pytest

Structure

For each synthesizer, we need to define:

  • converter for preset format conversion:

    • serializeToDict: convert preset file to a Python dictionary to be handled by inferencer
    • parseToPluginFile: convert Python dictionary back to preset file, to be loaded by the synthesizer
  • inferencer for model inference:

    • convert: define the workflow of load_model -> inference -> convert_to_preset

Contribution

Syntheon is actively under development, and contributions are welcomed. Some TODOs we have in mind include:

  • Replicating state-of-the-art approaches
  • Improving current model performance
  • Incorporating new synthesizers
  • Code refactoring 😅

About

Parameter inference of music synthesizers to simplify sound design process. Supports Vital.

Resources

License

Stars

Watchers

Forks

Packages

No packages published