Getting Started

Hi to everyone!
I discovered Elk Audio Platform and ordered a Raspberry Pi 4 with the HiFiBerry bundle.
For getting started I want to make an hardware version of a VST that I created with JUCE framework.

The best approach is to recompile the plugin for Elk OS, right?
Or is there a way to create a host inside Elk OS and load a normal VST3?

The other question I have is:
How to connect potentiometers and buttons? Must I have a custom midi controller to connect to raspberry or Is there another way to connect potentiometers, buttons, switches etc in a direct way to Raspberry Pi?

Any help will be appreciated :slight_smile:
Thank you in advance!

Hi Francesco94, welcome to the forum and nice to hear you want to start developing for Elk Audio OS.

Have you looked at the docs here https://elk-audio.github.io/elk-docs/html/index.html ? I think it should answer most of your questions. In short, your vst3 plugin can run in Sushi, the daw in Elk Audio OS. Though it needs to be recompiled for the Pi Arm architecture and needs to be able to run headless (without the gui running).
While it is possible to build plugins on the Pi itself, I would recommend spending the time setting up a cross-compiling toolchain on either a native linux machine or a virtual machine, as that is very useful and has much quicker turnaround times when testing and debugging.

Hi Gustav!
Thank you for the answer, in this way everything seems simpler. Any version of linux can be ok? My thought is to make a VM with Ubuntu.

After I have compiled the vst3 I will want to try to connect a USB midi controller made with Teensy, must I configure Sushi for midi or modify my plugin to expect midi data on determinate CC?

And with a dac like HiFiBerry, can I setup a stereo input and a stereo output to use it like a standalone hardware?

I’m buying all the potentiometers etc… It’s Exciting!! :smile:
Thank you

Ubuntu would be a good choice imo. I’m personally using Mint (based on Ubuntu) for most of the Elk development.

In the json config file for Sushi you can map for instance midi cc-mesages to parameters on plugins. though connecting midi devices to Sushi needs to be done through Alsa Midi using the aconnect command. You can look at how it’s done in some of our examples https://github.com/elk-audio/elk-examples/blob/master/blackboard/controller-examples/run_sequencer_minimal

1 Like

Thank you Gustav!
It’s clear.
I’m seeing this:
https://elk-audio.github.io/elk-docs/html/documents/how_elk_works.html#elk-core-components
If it’s not a synth, my plugin will receive audio input from DAC as expected?

Elk Audio OS runs Sushi, which is the host software that loads plugins in Elk. And yes your plugin will receive audio from the DACs provided that you route the audio inputs to the track with your plugin(s).
Have a look at the examples and their configuration files for sushi and I’m sure you’ll understand how it all fits together.

1 Like

Okay Gustav, thank you for all suggestions!
You clarified all my doubts!

1 Like