• Software
  • Someone Actually Wrote an Entire Book on VST Coding (p.2)
2012/10/14 16:34:31
Fog
you might find that book is "course-ware" what we had with 1 lecturer at uni.. where the author of the book wrote it and also taught us the subject.. and pretty much forced us to buy his book..

in that lecturer's case he was  bad teacher and his book was bad..

opposite to the lecturer who taught us "C" (also knew his subject) and gave us his book for free
2013/01/02 13:29:15
dmbaer
I promised a mini-review on this book when I had finished it and here ‘tis.
 
First, why I read it: I had no aspirations of writing plug-ins, but was extremely curious about what went into their writing.  To this extent the book did not disappoint.  However, beware: there is some pretty hairy math here.  The author’s main intent is to teach the particulars of DSP processing.  Very little is actually said about the specifics of VST (or other format) coding.
 
The back cover says that the reader must have a command of math at a high school level.  Well, they must be teaching considerably more advanced math in high school these days than back in the 60s when I attended.  While I could eat formulas like those in the book for breakfast back when I was studying engineering in college, it’s been a very long time … the book will challenge anyone without some serious math skills.
 
Likewise, the reader is expected to have reasonable C++ skills.  In this regard, you either have them or not.  Those with programming skills in another language, like Java, could muddle through and understand most of what’s going on at the code level, but a non-programmer shouldn’t even begin to try.
 
The author mounts his lessons around a framework we developed called RackAFX.  He developed this to aid in teaching this subject at the university level.  He found that his students spent far too much time fiddling with getting the GUI parts of projects finished, leaving too little for the DSP “meat” of the learning.  There is an appendix on how RackAFX and VST compare, and it takes fairly little effort to convert a RackAFX component to a VST.  But not everything is covered.  I was curious about how plug-ins communicated delay information to a host, for example, and that was not discussed.
 
The coverage of various types of signal processing is pretty broad.  We get filters, dynamics processors, delays, convolution processors and more.  There’s even a chapter on reverbs, which leads me to believe that developers of reverbs, like chess grand masters, must often be borderline insane.
 
What’s not covered is modeling to introduce vintage coloring characteristics.  The focus is strictly on digital implementations of pure DSP theory.
 
Was it worth the read?  For me, yes, although I confess that my eyes glazed over more than a few times and I merely skimmed more than a few sections.  But I’m definitely not sorry I spent the time reading this book.  I know appreciate how oscillators can take any waveform and play them back at any frequency with no error (hint, this requires extrapolation using a third order polynomial).  I also know understand, for example, why Camel Audio’s Alchemy has a special format for single cycle waveforms that include ten versions of the wave (hint: the higher the note, the more the single cycle starts looking like a sine wave).  So, there’s enough here for the serious music geek who’s curious as to what goes on behind those GUI plug-in windows.
 
So long story short: good book but not for the technically faint of heart.
2013/01/02 17:42:30
Linear Phase
dmbaer


I promised a mini-review on this book when I had finished it and here ‘tis.
 
First, why I read it: I had no aspirations of writing plug-ins, but was extremely curious about what went into their writing.  To this extent the book did not disappoint.  However, beware: there is some pretty hairy math here.  The author’s main intent is to teach the particulars of DSP processing.  Very little is actually said about the specifics of VST (or other format) coding.
 
The back cover says that the reader must have a command of math at a high school level.  Well, they must be teaching considerably more advanced math in high school these days than back in the 60s when I attended.  While I could eat formulas like those in the book for breakfast back when I was studying engineering in college, it’s been a very long time … the book will challenge anyone without some serious math skills.
 
Likewise, the reader is expected to have reasonable C++ skills.  In this regard, you either have them or not.  Those with programming skills in another language, like Java, could muddle through and understand most of what’s going on at the code level, but a non-programmer shouldn’t even begin to try.
 
The author mounts his lessons around a framework we developed called RackAFX.  He developed this to aid in teaching this subject at the university level.  He found that his students spent far too much time fiddling with getting the GUI parts of projects finished, leaving too little for the DSP “meat” of the learning.  There is an appendix on how RackAFX and VST compare, and it takes fairly little effort to convert a RackAFX component to a VST.  But not everything is covered.  I was curious about how plug-ins communicated delay information to a host, for example, and that was not discussed.
 
The coverage of various types of signal processing is pretty broad.  We get filters, dynamics processors, delays, convolution processors and more.  There’s even a chapter on reverbs, which leads me to believe that developers of reverbs, like chess grand masters, must often be borderline insane.
 
What’s not covered is modeling to introduce vintage coloring characteristics.  The focus is strictly on digital implementations of pure DSP theory.
 
Was it worth the read?  For me, yes, although I confess that my eyes glazed over more than a few times and I merely skimmed more than a few sections.  But I’m definitely not sorry I spent the time reading this book.  I know appreciate how oscillators can take any waveform and play them back at any frequency with no error (hint, this requires extrapolation using a third order polynomial).  I also know understand, for example, why Camel Audio’s Alchemy has a special format for single cycle waveforms that include ten versions of the wave (hint: the higher the note, the more the single cycle starts looking like a sine wave).  So, there’s enough here for the serious music geek who’s curious as to what goes on behind those GUI plug-in windows.
 
So long story short: good book but not for the technically faint of heart.

That's very funny man, "this is a well written post."


2013/01/02 21:15:25
Zo
Java, cobol,c++,ada,versant,sql.....ect ... Here ....will take the book for fun ;)
2013/01/02 22:53:56
ToneCarver
I've been coding one language or another for over 25 years (yikes!). I'm probably one of those driver/architecture wonks that bapu is referring to. :) When I get bored or uninspired with making music my interests move to creating VST plugins. Just like my tracks there are way more ideas started than are brought to completion but it's a nice diversion for a while anyway. That RackAFX sounds like an interesting approach. Have a look at Cockos/Reaper WDL library if you haven't yet. It's cross platform and abstracts a lot of the tedious parts of VST parameter handling.
2013/01/03 03:05:42
Linear Phase
ToneCarver


 I've been coding one language or another for over 25 years ...  When I get bored ...

I love your chimes!!  
2013/01/03 14:51:47
bitflipper
Have a look at Cockos/Reaper WDL library if you haven't yet. It's cross platform and abstracts a lot of the tedious parts of VST parameter handling.

Thanks for that tip, TC. I'd seen this lib and IPlug mentioned on kvr but didn't know if it was worth investigating. Now that I've had a look, I have to say it looks pretty nifty - and the price is right within my budget :)


For anyone else interested, here's the main page, the WDL forum and some additional information here  and here.
12
© 2026 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account