OB-Xd Synthesizer - headless build for Elk

The wonderful OB-Xd synthesizer works well on Elk!

We built it using our JUCE-fork for creating headless builds. The repository of the OB-Xd setup for building for Elk is available here:

Binaries for Elk Pi 32 bit available to download here - built as a VST 2 plugin.

Post here to discuss this particular plugin on Elk!


Would you be able to change presets on the OB-Xd with a midi signal?


Certainly, Sushi forwards program change messages to plugins, OB-Xd included. The example configuration files show how - both the ones on the board, and those in the additional examples repository (docs for those here).

See here for the documentation on the needed sushi configuration.

We have discovered that unfortunately some of the MDA plugins that we include as examples by default are buggy, and do not properly respond to Program Change messages, for example the JX10 plugin. That is not in any way due to Elk, but the MDA plugins themselves.

For OB-Xd program change will not be a problem.

Ilias of Elk

Hi Ilias!

I have built OB-Xd and dexed for Elk and scp-ed over the .so files to the plugins folder.
It seems the next step would be to make a .config file for sushi for them?
I have not found any documentation on making these config files, maybe am I looking in the wrong place?

PS it was good meeting you at ADC last November!

Hi @kcoul,
you can find the reference for SUSHI’s format here:


and several examples of configuration in this repository:

By the way, OB-xd together with various other plugins pre-built at the repository here:

@Stefano thanks!

I was curious, for these examples, do we need to make our own config file for every one?
I suppose the Elk team has these config files, to be able to verify them working on Elk?

If not, does someone have a config file for OB-Xd, or should I try and make my own?

Oh I am also wondering, are there more .json files available for Open Stage Control besides MDA? Like one for OB-Xd?

Thanks again!

HI @kcoul,

We actually don’t have a different config file for everything… but usually you just need to edit the “path” to the plugin and you’re done, apart from mapping MIDI CCs and so on.

We have proof-of-concepts implementations of a Python QT GUI that runs on Desktop platforms and that can add tracks / plugins on-the-fly and change parameters, plus a python script that generates a “default config” for a given plugin binary. But unfortunately currently we are very busy on other fronts and these will need the next Elk release to work.

Both of them are actually available in the example repository here:

Great I got it set up! The low latency is a great feeling, really is just like playing hardware synths!

Right now the last small issue before I start working on Dexed is that the Open Stage Control GUI looks like some things are missing, mainly the labels! I am trying on macOS right now, but I think it was working fine from Ubuntu.

I noticed when I open them, it said it was created in an earlier version of Open Stage Control. Maybe I should try using the older version to get the labels?