Git Product home page Git Product logo

flow_synthesizer_ale's Introduction

Universal audio synthesizer control with normalizing flows

This repository hosts code and additional results for the paper Universal audio synthesizer control with normalizing flows. You can check out the video demonstration of the FlowSynth on Youtube

https://www.youtube.com/watch?v=UufQwUitBIw

Installing the flow synthesizer plugin

In order to try out the Flow synthesizer plugin, you must

  1. Have an installed version of the Diva VST (The system works with the free tryout version but will produce noise every now and then). For simplicity, please ensure that it is located here
/Library/Audio/Plug-Ins/VST/u-he/Diva.vst
  1. Install the latest (bleeding-edge) version of both the Bach and Dada library for MaxMsp
  2. Install the Mubu library for MaxMsp
  3. Have an updated version of Python 3.7
  4. Install the Python dependencies by running the following line at the root of this folder
$ pip install -r requirements.txt
  1. Put the plugin/flow_synth.amxd device inside a MIDI track in Ableton Live
  2. Optionally, if you happen to have a LeapMotion sensor, you can install the Leap framework to enjoy it with the synth.
  3. ???
  4. Profit

NB: If the device seems non-responding, you can try to run the server manually

$ cd code && python osc_launch.py

Note that the plugin has only been tested on MacOS X High Sierra (10.13.6)

Supporting webpage

For a better viewing experience, please visit the corresponding supporting website.

It embeds the following:

  • Supplementary figures
  • Audio examples
    • Reconstruction
    • Macro-control learning
    • Neighborhood exploration
    • Interpolation
    • Vocal sketching
  • Real-time implementation in Ableton Live

You can also directly parse through the different sub-directories of the main docs directory.

Dataset

The dataset can be downloaded here: https://nubo.ircam.fr/index.php/s/nL3NQomqxced6eJ

Code

Dependencies

Python

Code has been developed with Python 3.7. It should work with other versions of Python 3, but has not been tested. Moreover, we rely on several third-party libraries, listed in requirements.txt. They can be installed with

$ pip install -r requirements.txt

As our experiments are coded in PyTorch, no additional library is required to run them on GPU (provided you already have CUDA installed).

RenderMan

For people interested in the research aspects of this repository, if you want to try new models or evaluate variations of the existing ones, you will need at one point to render the correponding audio. We rely on the great RenderMan library to batch generate audio output from synthesizer presets.

Usage

The code is mostly divided into two scripts train.py and evaluate.py. The first script train.py allows to train a model from scratch as described in the paper. The second script evaluate.py allows to generate the figures of the papers, and also all the supporting additional materials visible on the supporting page) of this repository.

train.py arguments


Pre-trained models

Note that a set of pre-trained models are availble in the code/results folder.

Models details

As discussed in the paper, the very large amount of baseline models implemented did not allow to provide all the parameters for reference models (which are defined in the source code). However, we provide these details inside the documentation page in the models details section

flow_synthesizer_ale's People

Contributors

acids-ircam avatar romeodespres avatar dbraun avatar esling avatar domhawken avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.