Cabbage Logo
Back to Cabbage Site

Arduino VST Integration

Hi all,

Hope everyone on here is keeping safe and healthy. Just wanted to share something that some people might have some fun with.

For a project with @reezmaize we’re using this code to get values from multiple sensors on an Arduino in to Csound. Well, I discovered that it still works when you export the Csound instrument/effect as a VST from Cabbage!

I have attached the resources for a simple synth I made where two pots control the filter cutoff and vibrato depth of a synth, while the X and Y axes on a joycon control pitch bend and pulse width, respectively. These can be changed to any analog or digital sensor. To add sensors, you must add another case to the switch statement in the Arduino script and add another byte ID and integer for the value, then initialise a new variable in Csound and add another elseif at line 153. The string after the serialBegin opcode will have to be changed to whatever the USB port on your own machine your Arduino is plugged in to of course.

If the Arduino is running the code, the VST will take the sensor inputs while running in a DAW. I know there is a Max for Live device that works with Standard Firmata, but not everyone has Live Suite - this is a cool tool for making custom VSTs with tactile control if you’re in to Arduino. Enjoy!
arduino_vst.csd (5.5 KB) (2.5 MB) (1.8 KB)

Edit: clarification

1 Like

That’s neat!