RustFest workshop: Writing VST audio plugins in Rust

Would anyone be interested in an (unofficial) RustFest workshop about writing VST audio plugins in Rust?

I'm interested in teaching this workshop if enough people are interested in this topic,
so please reply to this if you'll be at RustFest and you are interested :slight_smile:

The workshop would show how to make an audio VST plugin from start to finish, e.g. a simple synth or effect (e.g. kickdrum synth).
Afterwards you'll be able to build on what you learned to build more complex VST plugins.
And you'll be able to hear the result of your VST plugin by loading it in a VST host.
There are free hosts available, depending on your platform.
The VST will be cross-platform (Win, Mac, Linux) so you can participate if you run any of these OSes.
You don't need to know any DSP math for the workshop.


Btw, I'm not sure how much spare time there will be for unofficial events like this.
It seems that all workshops will be at the same time on Sunday, so everyone can only attend one workshop at that time. I also want to attend another workshop, so I'd do this VST workshop when we have some spare time.

4 Likes

Can't be there but I would watch the video!!

1 Like

totally! delving into audio is next on my list for a personal project. A VST plugin from start to finish sounds like an amazing workshop. I would both be there and try to get others to go :stuck_out_tongue:

1 Like

Count me in. I love kvraudio and have used all different kinds of VST plugins in my music. I've wanted to write my own plugins for years, and writing them in Rust sounds even more exciting.

2 Likes

By the way, if you stick around for the impl days, it's perfectly fine to just gather around a table and teach people things. :+1:

(It's just going to be a bit cosy)

2 Likes

Great, I'm staying for impl Days, so we could do it then, if you guys will also stay for impl Days :slight_smile:
If you bring any midi controllers we can also do some fun things in Rust with them..
(I'm bringing my Launchpad Pro, which I'm using in my music performance software (written in Rust).)
If you're interested, we could also implement some effects to visualize music with glium + shaders + midi controllers..


For the VST stuff we'll be working with our vst crate, if you have time before RustFest you can already familiarize yourself with it a bit by looking at the vst examples (e.g. the sine_synth example). You can already verify that the examples build on your machine and you can load them in a VST host to test them.

The vst crate provides the FFI bindings for the VST standard (for plugins and hosts).
I wrote the easyvst crate to make it easier to work with it on a higher level, which I'm using for when I'm writing VSTs. We can use that if you want, or the pure vst crate..

E.g. here is an example of a vst with a gain parameter (from -48 to +12 dB):
https://github.com/Boscop/easyvst/blob/master/examples/easygain.rs

I also invite you to join our Rust VST community channel on telegram :slight_smile:

1 Like

I would be very interested in playing with VSTs and visualizing music with glium etc during the impl days!

1 Like

I wish I could be there for the talk, definitely take a video and upload it somewhere.

I really recommend our telegram group if you're into any of this stuff! Boscop (and a lot of other people there) are very knowledgeable about Rust and DSP. It's also a very welcoming and fun community.

I also have this crate if you're thinking of building a synthesizer. It's barebones (I'm trying to find more time to work on it) and also my first rust project (so there's probably a lot of mistakes) but I thought it's worth mentioning. Utimately, I want to provide something similar to JUCE in functionality.

1 Like

Count me in! It won't probably be possible to complete this during the workshop, but I'd like to implement an Oberheim VCF (see also this & analog electronic circuit here).

Where will OP go for the impl day tomorrow (Monday)? Since it seems the impl days will be split into two locations it might be nice to have everyone interested in this topic in one location. I'm going to the Mozilla office to begin with, unless someone replies the VST people will hang out at Formeret space clery.

We are at the mozilla office now, who else of you is here? :slight_smile:

I am :wink: