Skip to main content

Parameter inference of music synthesizers to simplify sound design process.

Project description

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:

  • :heavy_check_mark: Vital is supported
  • Dexed is work-in-progress

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 😅

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syntheon-0.1.0.tar.gz (10.9 MB view hashes)

Uploaded Source

Built Distribution

syntheon-0.1.0-py3-none-any.whl (10.9 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page