Cabbage Logo
Back to Cabbage Site

The 3xVCO Subtractive Synthesizer

Hello Cabbage Community,

I am very happy to announce I have finished my first Cabbage synthesizer, the 3xVCO!

I chose Cabbage and CSound for my senior capstone project in an attempt to combine my passion for Music and the knowledge I’ve accumulated from the past 4 years studying Computer Science.

What I ended up creating was the 3xVCO!

As the name might suggest, and as you’ll see in the opening comment of the .csd, I set out on an attempt to remodel the 3xOsc plug-in by image-line, the company behind FL Studio.

My first thoughts were that there were enough features in this plugin to keep me busy an entire semester while not being too complex. I was correct in some ways! I was able to get a number of the same features working, such as a number of the waveforms, a detune slider, pitch control etc. But I wasn’t ever able to do a phase offset or the AM Oscillator 3 option, which makes for some awesome-sounding effects by turning the third oscillator into an amplitude modulator of the other two. You can read more about the 3xOsc here https://www.image-line.com/fl-studio-learning/fl-studio-online-manual/html/plugins/3x%20Osc.htm

Instead, after implementing the basic functionality, I began going in my own direction exploring the numerous opcodes available for different sounds and additional effects. I ended up with 20 total sound sources! Almost the entire FM Family of opcodes is present, along with some percussion instruments and more. So the 3xVCO name is really just for the homage to this project’s inspiration, there are many more opcodes used than the vco.

Here is an instrumental my musically-gifted friend made using the 3xVCO:

3xVCO Beat

We were able to get the project ported over to his Windows machine and into FL Studio ( I’m on Mac ) by having him install Cabbage on his own machine and exporting the code to a .vst himself. Rory, I promise I will eventually figure out that Azure cross-platform distribution, but for now, this worked for a demo track.

Finally, here is a link to the whole folder, artwork and all ( obtained from https://www.g200kg.com/en/webknobman/gallery.php )

https://drive.google.com/drive/folders/1l14nEaigWkVQQjTd28SnFLvY6RPFAKR2?usp=share_link

And here is a link to the GitHub repo https://github.com/brendan1129/Oscillator

Thanks a ton to this community, I have had an absolute blast learning CSound through Cabbage, and may have found my new favorite hobby. Feel free to leave any feedback as it is greatly appreciated!

Take Care,

Brendan Hannum

Congratulations @brendan1129, this is great stuff. I had a very quick look over the source and I’m happy to report it was very accessible and readable, which is not often the case with Csound code :rofl: It sounds very nice. :clap:

1 Like

That means so much to me, thank you! The heaps of comments were more for reminding myself of certain opcode behaviors, that was by far my biggest hurdle for this project was thoroughly understanding CSound syntax. But I’m glad they make the code easier to understand! :joy: