So a few months ago, I decided that I was going to actually study audio programming and make a real effort to get better at it. I've always been interested in coding (I made lots of terrible games as a kid), and I wanted to get into audio programming after seeing a couple of really killer presentations at GDC in 2014 about cool audio implementation things, but for some reason I just never did anything with it. I think I was sort of intimidated, to be honest. Coding to me looked like some kind of crazy magic that made computers do cool things, and I had no idea where to begin learning it.
I am happy to say that I have now learned enough to make my own plug-ins, and I have finished making my very first synthesizer, called the Foscillizer. I know that you all have been wanting more weird, mint green, sort-of additive synthesizers for the cool music you've been writing, so here it is.
How I Made this Terrible Mint Green Monstrosity
I made this using a combination of Csound and Cabbage. Cabbage makes it really easy to create a GUI for your plug-in and export it as a .vst, while Csound is an audio programming language that acts as the "brains" and does all of the audio processing. Both are free and easy enough to learn, and you can get some really neat sounds from Csound once you get up and running. (I've included links below if you're interested in checking them out!)
The very first synth I made was way too complicated and wouldn't export correctly, so I wanted to try making something much simpler that I knew I could get to work reliably. I started by making a very simple additive synthesizer using a fun opcode (the building blocks of Csound that you connect to each other to make things happen) called buzz. By changing just one variable, you can add more partials. That's what the "Harmonics" knob does - it lets you add harmonic partials to the fundamental, in sequential order.
After that, I added a couple of other things just to prove to myself that I could. The "Chorus" knob controls the send level to the chorus effect that I added. You can't change anything about the effect itself (yet), just how much there is. The "Waveform" knob lets you select what type of waveform you'd like to use as a base. As you can imagine, the sawtooth and square waves become rather dissonant as you turn up the "Harmonics" knob, especially in the upper octaves. Buzz is (reasonably) built to handle sine waves, so it starts getting pretty angry when you ask it add another sawtooth or square wave at the frequency where the next partial would normally be. It does make some pretty amazing bass sounds, though, especially when you turn the chorusing all the way up.
Where to Download It
If you're interested in trying it out, I've added a page to my website where you can download it for free! Unfortunately, I can only make .vsts at the moment, so if you use Logic or Garageband, you'll need to find a wrapper that converts .vst to .au to use it. Note that the folder that you'll need to put the .vst into will vary depending on the OS and the DAW that you're using, so just keep that in mind.
Also keep in mind that YOU MUST DOWNLOAD CSOUND IN ORDER FOR THE PLUG-IN TO WORK PROPERLY. You can do that here. If you're interested in finding more about Cabbage, you can check that out here.
As always, if you have any questions or suggestions, feel free to get in touch with me directly, or leave a comment below! I'd love to hear what you've made if you end up using this!