Skip to content

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

License

Notifications You must be signed in to change notification settings

gabrielle-ohlson/syntheon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

syntheon_logo

Syntheon

Syntheon - Pantheon for music synthesizers.

Syntheon aims to provide parameter inference for major 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:

Installation

Syntheon needs python 3.9. Clone this repo and install the dependencies using:

python3 -m pip install -r requirements.txt

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 😅

This repo will only host the serving code, training code shall be released on a separate repo.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 96.3%
  • Python 3.7%