What are the most important parts of C++ for coding plug-ins?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

Hi
I don't know if this is the right thread to ask in; if not, let me know, i'll delete it - I know it's a sticky and all.

I come from a web programming background (JS, AS2+3, PHP,(Ajax methods),Java), and am a novice C++ coder.

The main roadblock for me, as far as I can tell, is mathematics. I am hoping that someone can point me in the right direction here.
What is the area of mathematics which is most relevant to audio DSP?
If you taught yourself, as I intend to some extent to do, are there any books on mathematics that you found particularly effective?

for some background, I was kicked out of my math class in middle school and not allowed back, and dropped out at the end of grade nine; however, I have gone to university, and college (yes, in that order :lol:) and have at least the mental faculties to teach myself C++ and Java, which weren't covered in college. But, obviously, I will have some serious catching up to do.
Once I do, though, I really don't know where to begin in regards to the more advanced maths topics required for Audio DSP.

Thanx for any help. This thread has been an interesting read so far. :)

-:z
resistors are futile you will be simulated
Soundcloud
T4M

Post

Z3R0T0N1N wrote:Hi
I don't know if this is the right thread to ask in; if not, let me know, i'll delete it - I know it's a sticky and all.

I come from a web programming background (JS, AS2+3, PHP,(Ajax methods),Java), and am a novice C++ coder.

The main roadblock for me, as far as I can tell, is mathematics. I am hoping that someone can point me in the right direction here.
What is the area of mathematics which is most relevant to audio DSP?
If you taught yourself, as I intend to some extent to do, are there any books on mathematics that you found particularly effective?

for some background, I was kicked out of my math class in middle school and not allowed back, and dropped out at the end of grade nine; however, I have gone to university, and college (yes, in that order :lol:) and have at least the mental faculties to teach myself C++ and Java, which weren't covered in college. But, obviously, I will have some serious catching up to do.
Once I do, though, I really don't know where to begin in regards to the more advanced maths topics required for Audio DSP.

Thanx for any help. This thread has been an interesting read so far. :)

-:z
My personal opinion is that maths isn't important at all (assuming you have basic math skills).
One example: I've read tons of articles about Fourier Transforms and i did'nt understand one bit of it. It was a complete mystery to me. Now i've studied maths at the University (Algebra,Calculus,etc:) and those articles are still a complete mystery to me.

However i stumbeled upon Stephan Bernsee's excellent DFT a pied and it was clear as day. It's piss easy.

I think that finding an article that explains it so a normal human being can understand is much more important. Most DSP stuff is pretty easy to understand. It's the explanation that's hard.

Maybe some stuff like approximations of functions is useful but there's still tons of stuff on sites as musicdsp that'll get you thru the night.

That is if you plan to keep it on a hobby level. Or maybe i'm much better at maths than i give myself credit for.

Post

Hey, thnx, Jup' :D

that's encouraging, for sure.
I'm still planning to sign up for maths upgrading this coming summer semester, just 'cause frankly I find it so damned interesting.
Strangely, and I don't really apply any significance to this - I'm sure it was coincidence, the only teacher who was ever able to teach me maths was left-handed like me; he was the only one who would attempt an explanation when I would invariably find myself asking, "why?". All the other teachers would look at me like I was from Mars, and say, "what do you mean 'why'? because it's the rule, that's why!" I hope he's still at the college.

cheers

PS: still interested, though, in any recommendations or pointers (not *pointers :lol:) regarding specific areas of study, or good books for flaky artist types.
resistors are futile you will be simulated
Soundcloud
T4M

Post

Z3R0T0N1N, do you understand the "nature" of digital audio streams? If you do, you're good to go. Some people entering DSP land doesn't understand how the audio actually is represented (questions like "but all I see is one value? how can the filter know the frequency???") and that seems like the biggest obstacle of them all.
Stefan H Singer
Musician, coder and co-founder of We made you look Web agency

Post

While studying I had a book roughly translated "maths for computer science" (non-english, so wouldn't be of help), which I found to be a good companion. I'm sure you could stumble across something like that while hunting for some reading material. If it's a must-have, I'm not able to tell. An option - anytime.

Post

Hi
Thank you both.
@steph' :: yeah, I have the basics. Basic digital audio theory was part of my college courses; samplerate, bit-depth / rate, nyquist, et al; I even have some understanding of DA / AD conversion (although more former than latter). so...
i think that's what you mean anyway; i get the idea behind samples, buffers, and the like. I've made a couple of low pass filters (only one successful so far) but I am really intrigued by this stuff. I want to understand it; currently I can mess about, but I don't feel like I really 'get' it. You know, like the difference between using a DX7 back in the '80s when you knew nothing about FM, and using one now? :lol: I'm still at the poking-helplessly-at-the-buttons-and-hit-a-key stage :P

@plastique :: that's actually pretty helpful to hear. I will keep my eyes out for something similar. Thanks again :)

-g
resistors are futile you will be simulated
Soundcloud
T4M

Post

xoxos wrote:hardcopy is <$20 on amazon. i found schildt easy to read - precise language, clear and concise enough for me.
That says alot! :hihi:

Post

May I ask how much will I know things when studying them at college? Generally speaking.
And what kind of "skills" do I need to know to be a useful member of the music software developers' pool? (Apart from general programming?)
Currently I'm going to study Systems Engineering (bsc, not sure if I make it to PhD or MsC :D), and curious about what kind of subjects should I take...
Just let its Sound do the talking: http://www.synthmaster.com/

Post

And what kind of "skills" do I need to know to be a useful member of the music software developers' pool?
You track down the goth gals, we'll do the rest.

Math is good. If you can get any dsp, that's great. Try to find a class where you get at least the FFT. You'll probably get C++ and Java. Knowing a bit about circuits would be good. Learning the numeric libraries for Python would be good. Also Mathematica or Maxima. And MatLab. And R. CSound or PD.

The best advice I can give you is try to slice out just a bit of time (even just Christmas break) to work on a VST or VSTi. Then let the spots where you're having trouble be your guide.

I agree with jupiter8's comment above that you don't "need" math. You need good resources (papers, books, people) and determination.

Post

I'm a bit familiar with Java as we learnt it in high school. The class I'm going to take is more of a stable foundation for "business IT", as it has economical subjects which I must take, I have to.
I'm interested in this whole high level economic IT thing as it offers relatively more stable earnings and easier to manage; so that will take priority when managing classes.
But if I can, I want to learn as many DSP related things as that area what interests me more. The heaven of music softwares, Germany isn't far to work in. :D
I'd just like to get a stable life so I can focus on my hobbies :D
Just let its Sound do the talking: http://www.synthmaster.com/

Post

How do I petition to have the "is" in the topic's question changed to an "are." It's been driving me nuts for five years now.

Post

mistertoast wrote:How do I petition to have the "is" in the topic's question changed to an "are." It's been driving me nuts for five years now.
Send Brent a pm, and ask :)
Image

Post

can i have a sample of copy a source code virtual piano??

Post

Just a thanks to everyone for this nice discussion!

Post

rectus_dominus wrote:May I ask how much will I know things when studying them at college? Generally speaking.
And what kind of "skills" do I need to know to be a useful member of the music software developers' pool? (Apart from general programming?)
Currently I'm going to study Systems Engineering (bsc, not sure if I make it to PhD or MsC :D), and curious about what kind of subjects should I take...
Odds are if you're doing Systems Engineering you're not gonna have any problem picking up DSP and plugin development. I picked it up with just college math (from Romania), and I'm pretty sure I've understood all the necessary concepts an I can write bandlimited waves, filters, etc after about two years of serious attempts at learning to write plugins. I'm also doing a Music and Audio Technology BSc course now, but they honestly haven't taught us a shred of math and there are people in our course who don't know what sin is, but they did teach us digital audio concepts, sampling, etc, just not from a very mathy standpoint.

But, if you've gone as far as derivatives/integrals in college math, odds are you can pick up a book on DSP (maybe start with DSPguide) and understand how things work. DSP is a very complicated and arcane field of engineering with some mind blowing and sometimes beautiful math, but you don't need to know every single thing to write plugins, because you're not programming satellites or MRI's, you're just making a bunch of waveforms and messing around with them, and often times it's based on intuition and being able to visualize things in your mind.

In our second year we had to write a vibrato (pitch modulation) plugin, and they barely gave us any background to do it (they did give us some basic things, but not enough to actually make it sound good, but you can't expect to just be spoonfed info, it's up to you to look around). That's where I really started learning plugin coding, and I learned things like interpolation, wavetables, etc, which I really think is the most basic and necessary stuff in this field. You have to push yourself a little to do something really cool.

Post Reply

Return to “DSP and Plugin Development”