NEO MOON PRESENTS
Getting Started in HISE: Create a VST in 10 Minutes
In this tutorial we’ll create a basic synth, generate sounds and add a little UI which our users can control from the main VST intereface.
Neo Moon Studios is a VST development agency that helps audio companies build software. We also run a no-code VST development course.
Get Started in HISE In 10 Minutes – Without Code
In a previous tutorial, we looked at the best no code and low code VST creation tools on the market. In this tutorial we’re going to take this a step further by diving into one of the tools from that list. Today, we’re going to learn how to create a virtual instrument or VST within HISE, without code, in as little time as possible.
So let’s jump in.
After downloading and installing HISE on your computer, and then opening the program, you’ll see the following layout.

If, by default, you’re on the “interface designer” click on it to bring up the “code editor” panel. By default you might see a line of code which is responsible for creating your VSTs default interface. If you don’t see that line of code, you can copy what I have here, or you can copy and paste it from the description below. What this line of code does is it creates your front-end user interface. Changing these numbers within the code will change the size of our VSTs interface. Now, with this code written out we can click on “compile” in the bottom right corner and then click over on “code editor” again to bring up the interface designer.
On this page, if you don’t see the same layout you see on my screen here, it might be because some panels are closed. To open and close panels you can click on these little icons here. So let’s ensure our “module tree” panel is open, our “interface designer is open and our property editor panel is open.
So in this quick tutorial we’re going to make a simple synth. However, keep in mind, if you want to learn to build much more complex virtual instruments as well as learn how to design VST User Interfaces like the ones you see in front of you now, at Neo Moon we have two courses available over on NEO Moon that you can check out. One course focuses on no code VST development and the other course focuses on VST UI design. Check those courses out if you’re interested in taking your understanding of VST development even further.
But let’s jump in and start building something simple.
With the “module tree” open, let’s click on this “edit” button here. With this selected, we can add a new processor to our module tree. Let’s add a processor which can generate sound. Beside “master chain” click on this “plus” button and then select the option for “waveform generator”. With this completed, you’ll notice a new processor added into the module tree.
If you were to click on “waveform generator” you’d bring up a page with two oscillators. In simple terms an oscillator is how synth generate sound. So we can control the sound that is created by modifying the settings of the oscillator to the right and left.
However, currently we have no way of triggering a sound to play through this “waveform generator”. So let’s fix that.
Over on our interface designer’s canvas, we first need to ensure the “edit” option is selected here. If this option isn’t selected, we won’t be able to add anything new to our canvas. ONce that’s selected, we’ll right click on our canvas and then select the option for “add new floating tile”. Then, under the “property editor” window to the right we’ll look under “component specific properties’ and we’ll find the setting which controls “content type”. From that drop down list we’ll select “keyboard”. Then with that selected, we’ll stretch out our keyboard out on our canvas and position it where we want it.
With the edit button selected, we’re not able to play our keyboard, but with it deselected, we can play our keyboard and now we can hear the sound generated from our “waveform generator”.
Now, if we were to click our waveform generator, we could change around the oscillator settings to generate a new sound. Here is the default sound…. And now I’ll set this oscillator to an octave down and ensure that “saw” is selected here. And then on the second oscillator, I’ll turn it up an octave and set this dropdown to “sine”. Now when I play a key on the keyboard, you’ll notice that I’m generating a new sound.
Okay, so far so good. But now let’s add some movement to the sound. To do this we’ll select the “plus” icon beside “gain modulation”, then we’ll hover over “time variant” and then we’ll select “LFO modulator”. Now when we play a key on our keyboard we’ll notice that the sound generated has a bit of movement to it. YOu’ll hear it pulsing. In order to change the sounds movement, we’ll select the LFO modulator we just added over in the left sidebar. Then we can turn down the frequency to make the modulation slower…. Or increase the frequency to speed it up. I’m going to set mine to 3.5 here.
Now let’s say we want to change the attack and release times of the sound by modifying its envelope. To do that, let’s click on “default envelope”. By default we have a sound which is very punchy. It has fast attack and release times, But imagine we were trying to build a cinematic pad, for that we’d want to increase the attack and release times. When you do that, you can play the sound again and you’ll notice that the sound has been modified based on the changes to the envelope that you’ve just made.
Now, let’s add a filter to our sound. Let’s add some reverb. To do this, click on the “plus” icon to the right of “FX”, then select “simple reverb”. Now when you play a key and let go you’ll notice you’ve added reverb to your sound. Again, to change your reverb settings, click on “simple reverb” and then you can modify the quality of the reverb here.
Okay, so we’ve created a sound. And sound creation in HISE can go much deeper than this. You can sample real world instruments and you can even create much more complicated synths by using the “wavetable synthesizer option”. But right now, we’re just trying to get started, so let’s stick with our simple instrument.
Up until this point, we’ve been making the changes to the sound by modifying the modules in the left sidebar here. But what if you wanted to give control over these settings to your VST users?
For example, what if you wanted to give your users control over the oscillators in your “waveform generator”. Let me show you how to do that now.
Go back to your canvas and ensure this edit button is selected. Now right click on the canvas and select “add new slider”. Here you’ll see a slider added to your canvas. If you don’t see your slider it could have been placed on the wrong layer. Notice to the left of my canvas I have a “component list”. If you can’t see that list, you might need to expand it by clicking on this little icon here.
Since we have two components on our canvas, we’ll see them both here. If you can’t see your knob it might have been placed behind your keyboard, or made into a child of your keyboard. In that case, you can just drag and drop a component and position them on the layer you want. In our case, we’ll place our knob on this layer here. Now, we can run our VST by clicking off “edit”, or a better way is to select this “show plugin preview” icon “here”. Now you’ll notice that we have a knob which can be controlled. Let’s close down the plugin preview and ensure that our edit button is still selected. Lets click on our knob and then in the right sidebar we’ll change the “id” to “osc1” and then we’ll hit enter. If you don’t hit enter, your changes won’t save.
Now with that done, let’s open up our “waveform generator” and let’s look at what we have here. Let’s imagine we want our “oscillator 1 knob” to control the octave of our first oscillator here. So as you can see, this knob goes from -5 to zero and then from zero to 5. So now that we know this, let’s go back to our oscillator one knob and select it. Now in the property editor panel we need to adjust some settings. First, let’s make the connection. We need to link this knob to the property we want it to control. Over in the left sidebar we want this knob to control a property within the “waveform generator” and that property will be the “octave1” setting. So in the property editor under “parameter properties” look for the “processor id” field. WE’ll set this field to “waveform generator1” because that the name of the processor over to the left. Now under “parameter id” we need to select the parameter within this processor we want to control. And in our case it’s “octave transpose1”. Now with that selected, we could deselect this edit button and test our our knob or run a preview of our VST. And, if at the same time, I opened the “waveform generator window” you’d see that as I move my knob I’m now able to control the backend parameter. But you’ll also see the the problem here. The buttons aren’t synched. As I move this knob on my canvas, you’ll see that the two knobs are showing different numbers. So to fix that, let’s go back to our property editor, scroll to the bottom, and under “mode” ensure that “linear” is selected. Under “min” set that to -5 and under max so that to 5, because remember, that was the range of this parameter. Under “step size” change that to 1, and under middle position, change that to zero. Now we can run our VST again, then open up our waveform generator and we’ll see that now the knob is properly synched.
I’ll play a couple of sounds and you’ll see that I can now control the sound from the VST’s user interface.
Lastly, if we wanted to control our synth using an external midi player, we could easily do that, by plugging our midi player in and then going over to our canvas. Ensure that the edit button is selected, then right click and select “add new floating tile”. Again, just ensure everything is layered properly, and then with that floating tile selected, you can go over to the properties panel and select “midi sources” under content type. Now, when you run your VST, you’ll be able to select your midi player and then you can play your instrument on an external keyboard.
Now, there is a lot more that can go into it. In this tutorial I just wanted to get you started, but if you want to learn how to create VSTs without code, and transform them from looking like this, to looking like THIS, I encourage you to check out the two courses we have on VST creation. One is a No code VST creation course, and the other is a VST UI design course. I’ll link to both below.
Or alternatively, if you’re trying to create a virtual instrument, and you’d like to outsource the work to a third party, take a look at the services offered by our VST development and design agency. Again, a link to that service can be found below.
So that’s all I have for you today, I hope you found this enjoyable and I hope you learnt something. Also, don’t forget to check out the other posts we have over on our VST development blog.
Thanks for stopping by today.
Neo Moon Studios is a VST development agency that helps audio companies build software. We also run a no-code VST development course.
Want to Make Your Onw VSTs?
Do you love sound design? So do we! For this reason, we created a no-code VST development course that walks you through the process of bringing your virtual instrument visions to life without needing to know how to program and without having to be an artist. We will teach you how to bring your VST to life in our 8 hour 50 + module no-code VST development course.