4 ms·
DSP Programming for VST Instruments and Effects?
Hey,
I currently work in distributed computing especially in the video domain and primarily have been interested in functional programming in the last few years - I'm currently a scala developer.
I'm wondering a couple things:
1) If I wanted to play with producing VSTs/AUs - especially instruments - are there any decent resources for getting into this specific problem domain? It seems a bit aloof relative to more prolific areas like distributed computing.
2) Are there any functional programming approaches - eg languages and libraries - that are widely used in audio DSP? I don't think imperative languages would fit quite as well as functional programming as you can just string a signal through a series of functions, and re-arrange them to produce some sort of signal path - that seems logical to me from what I know of analog signal processing circuitry.
3) What sort of math would i want to get up to speed with if I was to venture in this direction? I'm assuming that there is a lot more mathematics that become apparent when working with digital audio and processing/altering it.
Thanks in advance for any insight - it's hard to research the field as very little information appears to be available. I can see this one book here:
http://www.amazon.ca/Designing-Audio-Effect-Plug-Ins-Processing/dp/0240825152
I honestly do not really want to work in C - I'd much prefer to work in a higher level language as it's for interest and enjoyment atm.
I also found some Haskell bits: http://hackage.haskell.org/package/csound-expression-0.3.4/docs/CsoundExpr-Opcodes-Plugin-Vst4cs.html
- T-A 11y agoA couple of links to get you started: http://www.musicdsp.org/links.php http://www.musicdsp.org/links.php http://www.polyhedric.com/software/amazon/dsp.htm http://www.polyhedric.com/software/amazon/dsp.htm Last time I looked (a few years ago now) everybody serious was still using C/C++. I suppose Haskell could be a good choice for you, or you could be hip and pioneer the use of Rust for this stuff. :) For math, you need to understand complex analysis and Fourier transforms. If poles and residues don't faze you, you know enough to read a good DSP textbook like http://www.amazon.com/Discrete-Time-Signal-Processing-Edition-Prentice-Hall/dp/0131988425 http://www.amazon.com/Discrete-Time-Signal-Processing-Editio...
- ninjakeyboard 11y agopoles don't phase me but I guess you don't mean the dancing variety. Okay thanks very much for the resources!!
- strangecasts 11y agoPersonally, I've found the JUCE framework to be fairly clean and really nice for setting up simple MIDI effects: http://www.juce.com/learn/tutorials-code-examples/create-basic-audio-midi-plugin-part-1-setting-up http://www.juce.com/learn/tutorials-code-examples/create-bas... If you really cannot stomach C++, though, VST.NET ( https://vstnet.codeplex.com/ https://vstnet.codeplex.com/ ) is meant to let you do audio plugins in .NET languages - couldn't get it to work myself, though.