Set-up Guide

Introduction

For now, the host part and the Python part should be set up and run separately. Users should start the Python program before opening up the plugin host program.

To start with, go to https://github.com/yilin-zhang/Ideator and download the source code, or simply clone the git repository:

$ git clone https://github.com/yilin-zhang/Ideator.git

All the source files are in the src/ folder. The C++ code for the host is in src/host/and the Python code is in src/backend/.

Diva synthesizer is also a requirement. Currently, all the presets are for the VST2 version (with the extension .vst) of Diva. Go to https://u-he.com/products/diva/, download and install it. The VST2 version (listed as "VST" in the installation process) should be installed by default. It is OK to just use the demo version.

Configurations

Plugin Host

(TODO: these are temporary links)

Unzip the file you download. If you want to use the AU version, put it under <your user directory>/Library/Audio/Plug-Ins/Components . If you want to use the VST version, put is under<your user directory>/Library/Audio/Plug-Ins/VST. Then go to your DAW and rescan your plugins, and you should be able to see the Ideator plugin.

Build from the Source Code

The plugin host is written in C++ and based on JUCE framework. Go to https://juce.com/get-juce, download and install JUCE and Projucer. Version 6.0.8 is supported.

Since JUCE does not come with VST2 SDK, you have to download the SDK and set it up by yourself. Although Steinberg does not publish VST2 SDK on their website anymore, some links are still valid. The 3.6.12 version can be downloaded here. After you decompress the zip file, the actual VST2 SDK is the directory called VST2_SDKin the VST_SDK directory. You should then set up the global path to the VST2 SDK in JUCE's global path setting. The entry is called VST (Legacy) SDK.

Open src/host/Ideator-Plugin.jucer with Projucer, select an exporter and click on the button with and IDE icon to generate and open the project. You can choose to build the release version or the debug version in the IDE.

If you want to debug, set the executable as your DAW in the IDE, and click on the debug button. The DAW will start automatically once it is built. (The plugin host is also a plugin, so it is supposed to run in a DAW.)

You can also find your build in src/backend/Builds. If you are using macOS, put it under <your user directory>/Library/Audio/Plug-Ins/Components . Then go to your DAW and rescan your plugin, and you should be able to see the Ideator plugin.

Machine Learning Back-end

It recommended to use Anaconda and Miniconda to create a new Python environment. Python 3.8 is supported. (It does not support Python 3.9 due to the building issue of bcolz.)

$ conda create -n ideator python=3.8

Make sure your environment is activated, and run the following commend to install all the requirements:

$ pip install torch torchaudio tensorboard python-osc scipy numpy tqdm bcolz

Creating the GloVe Cache

This step has to be done only if this is your first time running the software.

Create a folder glove/ under src/backend/ in the project directory. Download the zip file from here. Unzip the file and put the glove.6B.50d.txt into src/backend/glove/ . Go to src/backend/ then run cache_glove.py to create the GloVe cache.

$ python cache_glove.py

Some extra files will show up after executing the command above.

The directory structure after creating the GloVe cache

Now you can start the back-end program. The entry point is src/backend/main.py. Go to src/backend/ and run this script, the back-end should be running correctly:

$ python main.py

Creating the Preset Library Cache

This step has to be done only if this is your first time running the software, or you have changed the path to the preset library.

Once the back-end and the host start successfully, you can download the diva presets from here. The presets are in XML format and can only be recognized by the Ideator plugin host. Notice that the presets only work on macOS, because the absolute path to the VST2 version of Diva is written in the PluginPath tag. If you want to use it in other OS, try to change the path first.

You can unzip the file and put it under any directory, but it is recommended to put it under a certain directory that will not change, because the back-end has to store the path information in its cache and treat it as a preset library. Although you can update the cache whenever you change the path, it requires to analyze the whole preset library, which takes several minutes.

If the preset library is set up, open up the host in your DAW, click on "Set Library" to set the path to the preset library. Once it is done, all the presets in the directory will be shown in the preset list. Then click on "Analyze Lib", which will analyze all the audio and create a cache file in the back-end. There will be a lot of noise coming out during this step, so please mute your computer audio in this step. This is a bug and hopefully it can be fixed later.

The back-end Python program will keep printing the preset path it is analyzing. The process takes several minutes to finish. If there is a "Finished" showing in your terminal, the process is done. Restart the main.py and the host should work properly.

The Ideator Plugin after setting the preset library
The terminal that is running the Python back-end while analyzing the library

Last updated

Was this helpful?