Some Advice for Intro Synth Programming with ZERO experience

DSP, Plug-in and Host development discussion.
KVRist
87 posts since 1 Sep, 2011

Post Thu Sep 01, 2011 8:25 am

I am seriously thinking about throwing my hand into the VST/VSTI development and would appreciate and really use some beginners advice. Also please forgive any naivety.

1.What synth programming language or software is most unique and dynamic so that anything I think of can be created? I have heard of only synth maker and synth edit, so please let me know of any and all available programing formats?

2.I also want to be able to create a nice gui , how do I go about with that?

3.Is it necessary to learn the coding or is it easy like drag and drop icons.. guess I should spend more time learning the apps to learn myself.

4.Is it possible to create unique coding structure for vsti's.


Here's what I have in mind

I really like tone 2 style synths and with Ueberschalls Liquid Instruments (especially the way they program the formant filters- incredible sounding when tweaked right)

What i basically have in mind is a wavetable synth to play any part of a wave file like native instruments Kompakt synths, adjustable starting positions and lfo trigger to adjust wave playback speed like in gladiator with multiply formant filters as in Liquid Instruments to create that unique vocal fx found in trcks like younger brother, also a simple and only good sounding pitch modulation

I also want to add multipoint everything, via filters envelopes,, so when you adjust the modulation of filter or amp envelope in can restructure the wave file like in waldorf ppg wave and sylenth filters.

Synth I have in mind would be for goa trance lead and bass sounds like in new divergence and ksk one synth, also especially unique for vocal type choirs and sounds like Humbox.
Last edited by Tjivory on Tue Apr 28, 2015 12:53 pm, edited 1 time in total.

User avatar
KVRAF
2535 posts since 4 Sep, 2006 from 127.0.0.1

Post Thu Sep 01, 2011 1:02 pm

so, you wanna cross-breed some of the best* synths around into a hybrid?
if you really want what you described i think you cannot avoid the need to learn two things:
1) C++ (or C at least)
2) the VST SDK

* actually i haven't tryied any of the mentioned synths myself but i only see them too frequently around the forums so i assume each is very good at what it does
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr

KVRAF
2457 posts since 3 Oct, 2002 from SF CA USA NA Earth

Post Thu Sep 01, 2011 1:14 pm

Start with SynthMaker or SynthEdit - I would lean you toward SynthMaker. It's primarily a visual environment, but allows limited programming as well. Learning to program direct to VST-SDK will likely be discouraging.
Image
Don't do it my way.

KVRAF
2866 posts since 28 Jan, 2004 from Da Nang, Vietnam

Post Thu Sep 01, 2011 4:04 pm

Reaktor is another option for a beginner. I learned synthesis by building stuff in Reaktor and was able to translate most of the concepts fairly directly to my first native synth.

Reaktor also has good sample manipulation tools so you could experiment with some of your ideas without spending a lot of time building a native prototype first.

KVRist

Topic Starter

87 posts since 1 Sep, 2011

Post Tue Sep 06, 2011 9:42 am

I always wondered how new type synthesis were developed, is it through new algorythms or dynamic audio and fx pathways. Will check out synthmaker and edit more and grab the reaktor demo to get a basic grasp of the developement.

but in learning the C++ (or C at least) and vst sdk it seems could give me more freedom. Id like to be able to create my own formant alogrythm and understand how some sound good and others lack something,, ie carries.??

KVRAF
2866 posts since 28 Jan, 2004 from Da Nang, Vietnam

Post Tue Sep 06, 2011 9:00 pm

If you're really serious about developing plugins you will certainly have to learn C++ and the VST API. However, since this is very low-level stuff you're going to be distracted by a ton of details that have nothing to do with DSP. If you first want to explore some of your own ideas in DSP or just learn the basics of synthesis you're better off starting off in one of the higher-level prototyping environments mentioned above until you have a pretty clear idea of what you want to do.

You *can* just dive in with C++ if you want but this is going to require a lot of patience and persistence, particularly if you haven't done any programming before. VSTi coding is one of the more demanding programming disciplines.

KVRAF
2457 posts since 3 Oct, 2002 from SF CA USA NA Earth

Post Tue Sep 06, 2011 10:37 pm

Tjivory wrote:but in learning the C++ (or C at least) and vst sdk it seems could give me more freedom. Id like to be able to create my own formant alogrythm and understand how some sound good and others lack something,, ie carries.??
You're talking about flying before you know how to walk, but you can create your own algorithms in Synthmaker, and far easier than with straight C++/VST.
Image
Don't do it my way.

KVRian
995 posts since 25 Apr, 2005

Post Tue Sep 06, 2011 11:12 pm

Csound is worth a look too. It is a simple programming language designed for creating synths and effects and comes with lots of built in dsp algorithims to get you started. You can also create GUIs for it and even run it as a VST if you want.

KVRAF
6232 posts since 12 Feb, 2006 from Helsinki, Finland

Post Wed Sep 07, 2011 12:54 am

Borogove wrote:
Tjivory wrote:but in learning the C++ (or C at least) and vst sdk it seems could give me more freedom. Id like to be able to create my own formant alogrythm and understand how some sound good and others lack something,, ie carries.??
You're talking about flying before you know how to walk, but you can create your own algorithms in Synthmaker, and far easier than with straight C++/VST.
Well, yeah. You can even write C-like code (or drop down to assembler) if you want to. As far as the audio code goes, there really isn't that much difference whether you do it in Synthmaker or C++ except with C++ you need to handle all the "mundane details" yourself.

For a typical C++ project without GUI expect to have at least as much support code as actual audio code. Once you add a GUI, the situation gets far worse, and you're probably looking at about 5-10% audio code at best. Much of the glue can be made reusable between plugins, but it's still a lot of work. You do gain some flexibility in user interface and features, and maybe some performance in audio, but if you count even $1/hour for the (non audio algorithm) work you do, it's probably cheaper to get a license for SynthMaker professional. ;)

edit: this is not supposed to read like an advertisement for SynthMaker, and I do not use it myself; I write raw C++ as I've been doing for some 15 years. It's just that learning to write good C++ takes about 10 years (I'm still learning something new about the language every once in a while) and if you only care about audio algos it's not necessarily worth the trouble.
Preferred pronouns would be "it/it" because according to this country, I'm a piece of human trash.

KVRist

Topic Starter

87 posts since 1 Sep, 2011

Post Thu Sep 08, 2011 9:25 am

Is it possible to open a vsti or vst in any of these applications to get a look at some of the program features? Would be great if I could cut,paste, and mix specific features together to create my own personal vsti for non commercial use. Seems pretty cool if you were the only one who had a custom vsti, but not sure if its legal (probably not). At the very least It could give me some insights..

As for now I think I will stick to the prototyping environments mentioned and see how far these can get me. Its seems there a few formant filters in reaktor which could get me started,though it has way too many features in it that Im not looking for; plus the demo is quite large (500)mb.

Is anyone familiar with Uberschall Liquid Instruments synth, If you check out the formant page there are like 8 plus formants lined up with only a few knobs which record midi data from sliders or mouse, it doesn't have vowel aeiou options etc.. Plus Im prettty sure they developed the formant filters from Celemyne Melodyne Vsti Application, I think they really improved it also.. bad thing is you cant use it as a seperate fx or load any samples into it which is one of the things Im after....

KVRist
111 posts since 22 Jul, 2010

Post Wed Sep 14, 2011 2:01 pm

VB6 & DirectSound = both quick prototyping and quick production of a final app. Downside: depending on how much Microsoft changes Directsound in subsequent versions of Windows, your app may or may not be compatible

KVRian
646 posts since 18 Feb, 2006 from California

Post Wed Sep 14, 2011 4:25 pm

Have a look at MaxMSP. IMO it's the best visual development platform in the sense that it's easy to get started as a beginner and is sufficiently advanced to do just about anything.

KVRist

Topic Starter

87 posts since 1 Sep, 2011

Post Tue Apr 21, 2015 6:10 pm

Any new programming environments developed since then that are worth to take a look at? Also, just checked out maxdsp and it looks good. Thanks.

KVRian
985 posts since 1 Dec, 2004

Post Tue Apr 21, 2015 6:47 pm

Tjivory wrote:Any new programming environments developed since then that are worth to take a look at? Also, just checked out maxdsp and it looks good. Thanks.
Rapid prototyping environments (synthedit etc) are still the same. Pro development is still done in C++. There's a couple new options for script language stuff I think (like streaming audio in HTML5), but the overall landscape is the same.

User avatar
KVRist
162 posts since 19 Apr, 2014 from London

Post Tue Apr 28, 2015 12:43 pm

Well there is Reaper, which has Javascript Scripting, allowing you to quickly try out algorithms. You could experiment easily with Java or C++.

Really all that matters is that you are taking progressive steps.

Learn a little synthesis as well so that you are familiar with the terms and what is involved. Even before I got into DSP I was very familiar with synthesis because the Game Boy that I was coding for had all these modes like tone sweeping, envelopes and pulse widths (IIRC). Anyway, the more familiar with the concepts involved the better your road is.

Mystran is right about the time it takes to really know C++, but having taken a look at my code as a teenager just the other day I really don't think any of that is a problem.

Personally I found writing C++ code easier than putting together Reaktor modules, since C++ put me right at the driver's seat. YMMV

Return to “DSP and Plug-in Development”