Programming my own VSTs
You are Unregistered, please register to gain Full access.    
Advertisements


Modular software & programming MaxMSP, Reaktor, Pure Data, Jeskola BUZZ, and other modular programs. Any questions relating to these programs (patching, favorite ensembles) should be posted in this forum.

Reply
Thread Tools
Old 19-02-2012, 02:49 PM   #1
Feral_P
Radial Developer
Feral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MCFeral_P is a savage MC
Posts: 133
MC Status: 967577
Thanks: 0
Thanked 2 Times in 2 Posts
Programming my own VSTs

I'm not really sure where to put this; it's quite an unusual question...

Basically, it occured to me that it might be fun to try to code my own VST (I have prior programming knowledge, so the learning curve shouldn't be impossibly steep). It would probably be some kind of 'glitch' effect or some kind of customizable - and probably glitchable - distortion. Hopefully I'd end up with something fairly unique (if very niche) at the end of it.

The thing is, even though I'd be doing this for fun, I'd find it hard to maintain motivation if I knew that there was a much easier way to do it; So my question is:
What are the pros and cons of doing something like this in a) a pure programming environment, like C++ b) a specifically audio programming environmend, like Pure Data or c) a modular synthesis environment, like NI Reaktor?

How 'deep' into the code can I go with each of these, and does NI Reaktor (or similar) cover everything I'd need to, say, make a custom distortion effect?

EDIT: A second, probably more to the point, question is: What can't modular environments do, that I could do by programming?

EDIT: Since when was there a "Modular Systems and Programming" forum?! This clearly should have gone in there, my apologies...

Last edited by Feral_P; 19-02-2012 at 03:06 PM..

Advertisements

Feral_P is offline   Thanks Reply With Quote
Old 19-02-2012, 05:50 PM   #2
Delinquent Dialect
Sample Destroyer
Delinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MC
Unregistered's music is self indulgent nonesense!
Posts: 283
MC Status: 25172146
Thanks: 8
Thanked 35 Times in 27 Posts
Re: Programming my own VSTs

IDM Forums prob isnt the best place to ask this kind of question. There are dedicated sites for Audio Plugin programming. Dont ask me where as I never 'bookmarked' them. suffice to say that If i found them in the past you ought to be able to. i think there are even books out there for this nowadays:

The Audio Programming Book: Amazon.co.uk: Richard Boulanger, Victor Lazzarini, Max Mathews: Books [Only registered and activated users can see links. Click here to register]

Amazon.com: BasicSynth (9780557022120): Daniel Mitchell: Books [Only registered and activated users can see links. Click here to register]


Digital Signal Processing: A Practical Guide for Engineers and Scientists (IDC Technology): Amazon.co.uk: Steven Smith: 9780750674447: Books [Only registered and activated users can see links. Click here to register]

Understanding Digital Signal Processing: Amazon.co.uk: Richard G. Lyons: 9780137027415: Books [Only registered and activated users can see links. Click here to register]



You should also consider Supercollider which is an audio specific textual programming language [Only registered and activated users can see links. Click here to register]


The difference is, that in visual modular enviroment, if you wanted a 1000 osc, you have to draw each one and connect it up with a mess of visual cabling, but with supercollider (or C++ if you choose to go that route) you merely type it in. text coding is way faster than visual and is less bloated. but visual is arguable more intuitive if youre not used to programming.

Last edited by Delinquent Dialect; 19-02-2012 at 06:08 PM..

------------------
<< dont listen >>
if ( mind == open ) {""}
Latest vinyl "Purging the Pious" EP from Earwiggle Records https://www.facebook.com/earwigglelabel
Delinquent Dialect is offline   Thanks Reply With Quote
Old 19-02-2012, 05:52 PM   #3
NeuralPunk
Old skool lurka
NeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MCNeuralPunk is a savage MC
NeuralPunk's Avatar
Ruins of a fallen empire.
Age: 34
Posts: 3,826
MC Status: 231093978
Thanks: 64
Thanked 121 Times in 98 Posts
Re: Programming my own VSTs

This is the right place to ask this...

it just might take a while for the members who know about this stuff to reply. Patience.

------------------
NeuralPunk is offline   Thanks Reply With Quote
Old 19-02-2012, 06:06 PM   #4
Delinquent Dialect
Sample Destroyer
Delinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MCDelinquent Dialect is a savage MC
Unregistered's music is self indulgent nonesense!
Posts: 283
MC Status: 25172146
Thanks: 8
Thanked 35 Times in 27 Posts
Re: Programming my own VSTs

useful info: [Only registered and activated users can see links. Click here to register]

------------------
<< dont listen >>
if ( mind == open ) {""}
Latest vinyl "Purging the Pious" EP from Earwiggle Records https://www.facebook.com/earwigglelabel
Delinquent Dialect is offline   Thanks Reply With Quote
Old 20-02-2012, 05:14 PM   #5
Blank^
Digital Surfer
Blank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MCBlank^ is a savage MC
Posts: 536
MC Status: 3839694
Thanks: 0
Thanked 7 Times in 6 Posts
Re: Programming my own VSTs

Quote:
Originally Posted by Feral_P View Post
The thing is, even though I'd be doing this for fun, I'd find it hard to maintain motivation if I knew that there was a much easier way to do it; So my question is:
What are the pros and cons of doing something like this in a) a pure programming environment, like C++ b) a specifically audio programming environmend, like Pure Data or c) a modular synthesis environment, like NI Reaktor?

How 'deep' into the code can I go with each of these, and does NI Reaktor (or similar) cover everything I'd need to, say, make a custom distortion effect?
You need to define what you want to do and then look at which of the solutions work out best for that. Which is the fastest, which is the easiest in terms of learning curve, which is the most flexible, how much time are you prepared to spend on learning and building.

Coding in a general purpose language would be most flexible, because then you aren't necessarily bind to proprietary frameworks. And if you want to distribute the code, you can package it as you want (e.g. a VST). But DSP programming is an extremely hardcore field.

Reaktor's Core technology can afaik build complex DSP, but maybe in a bit nicer way than using a general purpose language. The limitation is that it's a Reaktor ensemble then, tied to Reaktor and usable just by Reaktor users.

Pure Data is very flexible in the sense that it can integrate external code as "externals". So you have the immediacy of dataflow/visual programming, but can add low-level functionality using externals written in e.g. C++. The distribution is again difficult, because what you're making is a PD patch, which can be run as VST though using PdVST. With Max/MSP you could develop for Max4Live.

Then there's Faust ([Only registered and activated users can see links. Click here to register]
), which I feel stands in the middle. You can write plug-ins/externals for e.g. Pd, Max/MSP and SuperCollider using it, but you can also export to VST. And I believe it can do quite a bit of crunching in terms of DSP. And the compiler translates Faust code to C++.

I guess SynthMaker and such could also be viable options, but I'm not familiar with them.

Quote:
Originally Posted by Feral_P View Post
EDIT: A second, probably more to the point, question is: What can't modular environments do, that I could do by programming?
I'd put it this way: Modular environments & audio programming languages can do a lot. Think whether you want to go through the trouble of doing something from scratch with C++, VST SDK and digging into digital signal processing theory. Or whether you'd do the same in a more abstracted environment where you can possibly find much of the stuff you need already abstracted and pre-built and you spend much less time building and studying DSP and more time in the actual implementation of your idea and functionality.

Last edited by Blank^; 20-02-2012 at 05:21 PM..
Blank^ is offline   Thanks Reply With Quote
Old 22-02-2012, 01:52 AM   #6
gbsr
gbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MCgbsr is a savage MC
gbsr's Avatar
gothenburg, sweden.
Posts: 2,273
MC Status: 33141603
Thanks: 122
Thanked 343 Times in 271 Posts
Re: Programming my own VSTs

what's good about synthmaker is that it can be as highlevel or as lowlevel as you want, although not cross platform. it's also very easy to port from c/c++, it supports asm and it's got it's own incredibly easy script language. unlike most other graphical object oriented programming languages, synthmaker is really not that hard to learn either, nor that confusing.

Advertisements


------------------
gbsr is offline   Thanks Reply With Quote
Reply


Thread Tools

Forum Jump


All times are GMT +1. The time now is 02:38 AM.


Electronic Music Forums

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.