Roll Your Own VST Synths with SynthEdit
Includes some useful tips you won’t find anywhere, and some tips you’d have to look many different places to find.
by Michael W. Dean
Reflects use of SynthEdit 3.1, latest version as of publishing this article, August 28, 2018. Can be used for VST2 and VST3.
Michael W. Dean wrote the book
$30 Music School (Only 5 dollars. 2nd Edition, 2018. Cheaper than a drink in a bar, Kindle Edition).
It’s the 2018 update to the classic 2003 DIY music book $30 Music School, a 540-page paperback that retailed for $30.
This article is an excerpt from the 2018 update.
Jef McClintock, the creator of SynthEdit, looked over this article and confirmed that it’s accurate.
NOTE:VST® is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.
Info about Steinberg’s October 1st, 2018 update on licensing requirements for VST2 developers, including users of SynthEdit, is at the bottom of this article.
Please link, rather than copy, this article, in case I have to update anything. Thank you.
Get it here: SynthEdit.com
SynthEdit is an amazing program that allows you to create VSTs without learning programming. It utilizes a “drag and connect blocks” interface. (See top image on this article.)
It may seem like you couldn’t do much without learning to code, but you can. Some of the best free VSTs (and even some pay VSTs) are made with SynthEdit.
Of course, there are also some so-so synths made with it, but that’s to be expected with anything that makes entry easier on a basic level.
SynthEdit was created by Jef McClintock to bridge the gap between left-brained musicians and right-brained programmers.
By hiding the coding under the hood, SynthEdit makes it possible for the people who actually use synths to make them.
You can also make VST effects and drum machines with SynthEdit. It is not limited to synths.
The demo version is free. With the demo version you can make and output VSTs, but they have a few limitations: branding says “SynthEdit” instead of you, and have a limit to the number of presets you can add.
Registering your copy of SynthEdit:
* Gives you control over the number of presets in your VST Plug-ins.
* Removes SynthEdit advertising in the VST plug-in title and About box.
* Enables the VST nag screen feature.
* Enables multi-channel audio I/O (demo supports only 2 in, 2 out).
The full working version is 99 dollars US, + theft (tax, 4 dollars US).
I recommend buying the full working version if you like the demo. It’s worth much more than that for the fun you’ll have. And some people who get very good at making VSTs with SynthEdit actually make money selling their VSTs.
There is a 32-bit version and a 64-bit version of SynthEdit. The 32-bit can be used to make 32-bit VSTs, the 64-bit can be used to make 64-bit VSTs.
You can make a project on one version and output on the other version, with maybe a few small changes.
The 32-bit version of SynthEdit will run on 32-bit or 64-bit Windows machines.
The 64-bit version of SynthEdit will only run on 64-bit Windows machines.
32-bit VSTs made with SynthEdit will run on 32-bit DAWs (running on 32-bit or 64-bit computers), and will sometimes even run on 64-bit DAWs.
But on 64-bit DAWs, the 32-bit VSTs will have odd features, like how any presets will show in a different window in 64-bit Reaper.
Though people on 64-bit DAWs often won’t download 32-bit VSTs, thinking the VSTs won’t work at all, or will be partially incompatible. Both are possible.
Contrary to a common belief, there is no difference in sound quality between 32-bit VSTs and 64-bit VSTs.
But 64-bit bit DAWs can utilize as much memory as your computer has. Whereas 32-bit DAWs cap out at 4 GB of RAM available to the DAW.
That said, I run a 32-bit DAW (Cubase 5.1 – “vintage!”) on 64-bit Windows 10, and sometimes make complex projects with up to 35 tracks and rarely have memory issues. Even though there’s only 4 GB of RAM available for Cubase, the rest of my computer has 60 GB of RAM, so everything is running quite smoothly around Cubase, which actually makes Cubase run better.
That is, a 32-bit DAW will often run much better on a 64-bit OS with more than 4 GB RAM than it would on a 32-bit OS with less memory. Even though the 32-bit DAW cannot itself access more than 4 GB of RAM.
SynthEdit used to have an issue where VSTs made with it would crash or not run if you ran the same VST on more than one track in the same program. So if you run into that issue on older VSTs that haven’t been updated in a long time. But do know that it’s been fixed in outputting from version 1.1 (and later) of SynthEdit.
The current version, as of this writing (July 2018) is version 1.3.
One of the very cool many cool things about SynthEdit is that while making VSTs, it gives you pop-up warnings if you try to connect something that can’t be connected. It basically teaches you as you experiment.
AN EASY WAY TO LEARN SYNTHEDIT
It took me two weeks of a few hours a day to make my first two VST synths with SynthEdit. They’re not be best synths ever, but not the worst, and they’re fun. Plus they have some cool sounds.
I’ve posted the SynthEdit project file for my VST mono synth, LuckyWorm, here:
Also: here are SynthEdit projects for 2 of my Microtonal Synth VSTs (one 64-bit, one 32-bit.)
You are free to download it, examine it, output it and expand on it. Don’t just slap a new name and logo on it, do little else, and call it your own.
But if you do make substantial contributions to it, feel free to use it for the basis of your first synth, if you change the name of the synth, change the Plugin ID of the synth, and credit:
Adapted from LuckyWorm synth by BipTunia Synths https://biptunia.com/?page_id=2070
in your ReadMe file, and anywhere you post list your synth for download online.
And it would also be cool if you use the same license I used, the BipCot NoGov License.
but that’s optional.
You set the Plugin ID when you output VST from SynthEdit:
Notice I’ve set the name to “NotLuckyWorm” and put in a bunk ID of “zzzz.”
DO make sure you change the Plugin ID when you output it. Two VSTs having the same Plugin ID can cause conflicts in some DAWs.
The ID namespace for VST2 is only 4 characters long. This can lead to confusion, and crashes if two VSTs with the same ID run in the same DAW at the same time. Try to come up with a unique ID no one else would use.
You can add presets into your synth or FX made in SynthEdit.
Presets are premade settings that the developer creates and saves. Then they’re available to the end user.
Also known as “patches”, they’re useful; so someone opening the VST for the first time can get an idea as to how it sounds, and what you can do with it.
I think presets are a good thing to have. Plus they’re a lot of fun to make. They are, to me, the most fun part of making VSTs. Naming them can be a lot of fun too.
On my LuckyWorm synth, all the presets names are related to worms somehow. On ShinyDirt, the presets are related to dirt.
A lot of electronic musicians hate presets, consider them “amateur shortcuts for bedroom DJs”, and spend hours coming up with their own sounds.
But if presets are “cheating”, so is quantizing. And string synth sounds. Shouldn’t you just take the time to learn violin, cello and viola???
I almost exclusively use presets in BipTunia’s music. I have about 30 VST synths, all picked on their presets. And I still make music that sounds like no one.
People are afraid of “sounding like everyone else” but still it’s more about the music you use than the sounds you make. This is the important truth:
The most basic synthesizer VST with 8 presets probably has more variation in sound than most guitarists will make on their guitar in a lifetime.
Even if presets are “cheating” (they’re not), they’re still useful to add to your soft synths to let people “take it for a spin” easily before branching out and making their own settings.
Presets are also useful for people new to synths to not be scared off by all the knobs, even virtual knobs on VST soft synths.
All other things the same, synths with more presets get more downloads than ones that don’t have presets.
Few synths use as many presets as are available. A lot have 8 or 16 presets. 32 is not terribly common. 64 is rare. I put 128, the max possible, in my synth ShinyDirt, which you can hear here:
and can download here:
Be sure to review other people’s synths on sites where you can leave reviews. It’s almost criminal how few reviews some great and fairly popular synths have on KVR, for instance.
At LEAST click on the top right of the page if you use and like a synth. That takes even less time than a short review, to add the synth to any or all of these:
- My Perfect Studio
- My Actual Studio
- I Own This
- I Want This
Note that I make simple YouTube videos showing a run through of the presets of my synths. This is good to do, and will increase the number of people who download your workyou’re your work is good and useful.
WHERE TO LIST YOUR VSTs (and where to get free VSTs!)
Great source of free VSTs:
Those three sites are where I get almost 100% of the free VSTs I use.
Note in the LuckyWorm synth SE project file where it says “Programs”, I’ve set 32. “Programs” in that sense, is “presets”, and I pointed out to Jef that it’s confusing. So he’s going to change that to “Number of Presets” in a future update.
That place is where you set how many presets show up. The options available are
1, 8, 16, 32, 64, 128.
(I’d love to see any number possible but there’s probably some binary 32-bit reason for this doubling system.)
You can download LuckyWorm here:
(You can also just output it from the project file in SynthEdit.)
And you can hear LuckyWorm in action here:
There are a lot of free-to-use modules for SynthEdit, but I couldn’t find any completed projects that are free to reuse. So I uploaded that one.
There’s a help menu built into the program.
There is a lot online for SynthEdit info, but it’s not really all in one place.
There are also a lot of YouTube videos and online tutorials.
I’d recommend you Google questions you have before bugging people to help. But if you’re stuck, there’s a Facebook group here:
And there’s a forum here:
Both require joining before you can post.
I’ve received help both places. But only after I could not find the answer elsewhere.
Those are NOT places to promote VSTs, that’s frowned upon. But they are great places to get help, give help, and meet other VST developers.
After you get better at SynthEdit, be sure to pop in once in a while and help noobs. Don’t be a “hit and run” forum user.
SynthEdit comes with a couple default skins (GUIs).
There’s a SynthEdit-branded skin for the free version.
For the paid version, there’s a bland a grey one and a pretty blue (but bland) one.
You can easily make your own skin by copying the skin folder, and changing the look of files in Photoshop or another image editing program and replacing the files in your new skin folder.
If you make a background BPM image that’s smaller than your interface, it will tile. Or you can make it the size you want, as one file, and it will not tile. That’s what I did.
SynthEdit skins are here on Windows 10:
Keep the file names, but I made this interesting GUI for my synth ShinyDirt simply by replacing three files (the background, the horizontal slider, and the vertical slider). The Japanese site ComputerMusic.jp said it that “the GUI has lots of personality.” (If you’re on Chrome, you can translate that on the fly.)
Note that I left in a Waveform monitor – the green squiggly lines near the middle bottom – in this synth and in LuckyWorm synth.
That module is meant to be diagnostic only, but I left it in because it’s so darn cool and stoney.
Plus it’s useful to people new to subtractive music synthesis. It will help them really understand what is going on with the waveform. I’d encourage others to add these into your synths. I really think this should be a “thing.”
Here’s a video on how to make pro-looking skins.
SYNTHEDIT TIPS THAT WEREN’T EASY FOR ME TO FIND:
–If your VST doesn’t show up in your DAW after outputting the VST from SynthEdit, usually if you close a DAW and re-open, new VSTs are scanned and included, if they’re in your defined folders. I’ll add that in the doc.
If they don’t, in Cubase, go to Devices / Plug-in Information then on the VST Plug-ins tab, hit both Update and Update Plug-in Information. And on that same tab, you can add folders to be scanned, if the folder you’re outputting VSTs into isn’t being scanned, under VST2x Plug-in Paths.
All DAWs have a similar feature to add folders, and to re-scan, but it may be in a different place. Google to find it if you can’t.
You have to put the .dll AND the folder that are made by SynthEdit in that folder. With the .dll outside the folder, like this:
–You have to right-click and hit “refresh skin” on the panel view in SynthEdit before you’ll see your new skin look after changing the skin.
–Input and output I/O module connection to the rest of the project is a little tricky. I made a complete synth that worked in the SynthEdit program, but wouldn’t work in Cubase 5.1 when I output the VST.
This is because some older DAWs won’t work with mono VSTs. The workaround in SE is to make it a stereo output even if you are only outputting a mono signal. Examine and copy what I did in my downloadable example for LuckyWorm, above. It’s an inelegant fix that makes this work perfectly.
I’ve dealt with VSTs by other people that have this issue. There’s one that emulates Taurus Bass Pedals with this issue.
There is a DAW workaround with patches and MIDI channels and routing where you can make this work, but unless it’s the holy grail of VSTs, most people will just search and find the other Taurus pedal emulator that works in Cubase. lol.
So if you want your VSTs backwards compatible, and usable by the largest number of people, make ’em stereo even if they’re mono.
–Obviously, for whatever folder SynthEdit outputs to (this can be changed), you’ll need to go into your DAW’s settings and add that folder as one of your plug-in folders. And sometimes you’ll have to refresh your plug-ins in your DAW to get the changes to show up when you output a new VST version.
Sometimes, the older version will still show up. Here’s a workaround: in the DAW, change the instrument in the track with your VST to some other VSTi you have. Hit SAVE on your project in the DAW.
With your DAW still open, delete the files for the VST in the VST folder. Output your new version of the VST from SE. Hit “refresh” in the DAW’s plug-in settings.
Add the new version of the VST back in to that instrument track. Hit “refresh” in the DAW’s plug-in settings.
If THIS still shows the older version, do all of the above, but restart the DAW before these last two steps: “Add the new version of the VST back in to that instrument track. Hit “refresh” in the DAW’s plug-in settings.”
–Sometimes you have to reconnect the audio in SynthEdit for it to play sound. Especially after you have another sound program, like a DAW or Windows Media Player, open while you have SE open.
If the green button shown here is grayed out rather than green like this:
click the button once and it will turn green. Then SE will have control of the sound card again.
—In SynthEdit, Inputs are usually on the left, and outputs are usually on the right. And signal flow in the creation interface is usually from left to right. Of course, you can move anything anywhere and run the onscreen “wires” all directions, but you’ll still use inputs on the left of modules and outputs on the right of modules.
–Outputs generally wire into Inputs.
–And you can’t connect different types of modules (Inputs to GUIs, for instance), without a converter. But there are converters too. As shown in the above screenshot, they’re under “Conversion.”
–Adding presets is amazingly not well documented anywhere.
Basically you put the “Patch Automator” (MIDI/Patch Automator) into the main container.
Hook the MIDI In on the Input IO Mod to the MIDI In on the Patch Automator:
Then hook the MIDI Out on the Patch Automator to the MIDI Out on your output IO Mod:
Then twiddle the virtual knobs and sliders on your GUI Panel in SynthEdit until you have a sound you love. Then click and type type in a groovy and/or descriptive name (in the area where I put the preset “Diet of Worms” in the above pic.) Then save the SE project. Do this until you have as many presets as you’d like.
Fun fact: you can set preset values on modules lower or higher than they show in the GUI. On my synth VST, ShinyDirt, I did this a lot.
I also “wired” one of the two LFOs “wrong”, and added a drop-down picker switch to be able to do different things with the mod wheel for every preset. This makes a basic synth cool, unpredictable, and fun. People noticed. That synth was much more popular than my first synth.
–You can export and import your presets as text files. Click on File as shown in the pic above (the WORD file, not the drop-down arrow to the left of the word that reveals all the presets.) You’ll get this menu:
From there, you can “Save Bank” to output your settings. Or “Load Bank” to input settings.
This can be useful for a few things:
–If you’re working with another person on the same synth, you don’t have to stop work for your friend to make presets. (Though the presets he makes won’t include any modules you add. But for instance, two people in different locations could each make a bunch of presets, each person making half of them, then email them to the Dev, where she can import them back into the master file before outputting the VST.
–You can even edit the file with a text editor, since it’s just an XML file.
The file extension is the proprietary
but you can change that to
Then move around the order of the presets, then change the file extension back to
and re-import it into your SE project.
This is an easier way to do that than using the “COPY” function next to “File.” That’s a clunky, kinda Win 3.1 way to do it. Though it does work. And that’s probably better if you only want to move a few around.
Editing XMLs can be tricky. They’re supposed to be a little bit fault-tolerant, but in my experience, aren’t always.
–Sometimes you have to save a project to make a value change show. Especially if you change the default values on sliders and switches. Saving the project will also make an item show a name change on the VST’s panel GUI.
–To align the controls on your final VST panel to be to a grid, you need a grid. There’s a third-part grid module that’s free. Grab the “GUI” set here:
(32-bit or 64-bit, depending which SynthEdit you run.)
You unzip and add the module to your modules folder.
On Win 10, SE 32-bit, that’s here:
C:\Program Files (x86)\SynthEdit 1.3\modules
Then refresh you modules in SE (Edit / Preferences / File Locations tab / Re-Scan Modules Button.)
Then the hatch will be accessible under RH/GUI/Display/RH-Hatch:
Then drag the module onto your panel view, then right click and send “to back.” It adds a grid which you can stretch over the surface of your panel GUI:
Then you can nudge your knobs and sliders until they line up. Whatever you want nudge, click once on it to select, then use the arrows on your computer keyboard to move it.
If you like that, the guy has a tip jar. It’s always nice to tip people a few bucks if you can when they make things that make your life better.
FOR PEOPLE WHO KNOW SOME PROGRAMMING
There’s also a SynthEdit SDK (software development kit) for developing custom modules.
These are things you can make to use yourself in VST production, and also can share with others.
Some of the modules are hosted on the SynthEdit website.
Some are just linked there.
But third-party SE modules are not rolled into updates of SynthEdit.
This makes sense. Because then Jef would be expected to offer free support for other people’s work.
(And as someone who has run a software company, giving away FeenPhone, I totally understand that choice. A lot of people demand tech support NOW, even on free or inexpensive software.)
TIP: If you use someone’s third-party module in your VST, mention it and link them in your ReadMe and website listing.
And always include a short ReadMe in the zip along with your VST files. See my VSTs for an example of things that should be in the ReadMe text file.
ALL IN ALL
SynthEdit is a great resource, reasonably priced, and has a good community to make the world a better place through synthesizers.
It’s easy to use SE for basic stuff. But it’s also very robust if you really want to take time and make something with complex functions.
SynthEdit: Use it, teach it, and tell two friends.
TIP: When adding your VST on the KVRaudio site, do NOT pick the option “Powered by SynthEdit” to credit synth edit.
Instead, put “made with SynthEdit” in your description.
If you pick the “Powered by SynthEdit” from the drop-down menu, it automatically categorizes your VST as “SoundWare” and grays out the options to change that to Instrument or Effect.
I spent a lot of time and wasted effort one day going back and forth with the admins learning about this bug that they consider a feature.
I suggested to KVR that they remove that. They explained that it’s not supposed to be an option, but can come up if you search it in the drop-down list, since it shows every dev with listings on KVR. “Powered by” just made sense to me. But it actually means means “works with”, like how a plug-in that ONLY works in Reaktor would be “Powered by Reaktor.”
Michael W. Dean plays in the heavy synth rock project, BipTunia. He used to play in the Warner Brothers band, Bomb. (Produced by Bill Laswell.)
Michael directed the film Hubert Selby Jr: It/ll Be Better Tomorrow, did some of the music for that film, and for other films.
He has toured Europe lecturing on & teaching film and audio production.
Michael does the syndicated radio show, Freedom Feens. He also runs the site Creamy Radio Audio, which has tutorials on getting great spoken audio on almost no money.
He created the BipCot NoGov License (an alternative to copyright).
In his spare time Michael hangs out with his wife & cats, and makes VST synths.
He also does some other stuff that’s not music related.
LEGAL, ABOUT STEINBERG’S NEW LICENSING: Steinberg, the company that makes VST technology, has updated their licensing requirements for VST developers, and this includes those of us using SynthEdit.
The author of this article runs the boutique VST synth studio, BipTunia Synths. BipTunia Synths has been licensed for VST SDK use by Steinberg. Agreement countersigned by Steinberg on August 23, 2018. Compliance info for developers is here. There is also information on the need for use of specific language, and images, in this document: VST3_Usage_Guidelines
That’s the VST3 guidelines, but apply to the VST2 licensing also, by my reading of the VST2 License agreement that developers are supposed to sign and send to Steinberg. (This is not legal advice, and I am not an attorney. Consult an attorney if you don’t understand the documents.)
Download that PDF, fill out, sign and scan, and email to email@example.com
There is also info on the SynthEdit site, here.
I don’t make VST3s, so you’ll have to ask Steinberg what the procedure is for licensing use of that.
Also note they don’t want people to use “VST” in their company name, and they seem to not want people to use variations of VST, like “VSTi.”
You don’t need to Fax the document. I printed it, signed it, scanned it, and sent a scan. Steinberg countersigned and sent back within a few days.
Be sure to do this if you make VSTs, even with SynthEdit, as Steinberg has been sending take-down demands to sites that host VSTs by non-complainant devs.
Deadline for this is supposed to be October 1, 2018. Not sure if they’re allowing extensions. You’ll need to ask them.
You can grab the required website VST logo below:
LEGAL: VST® is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.