Posted on

How to learn DSP basics for $20

I started programming seriously (for the 2nd time in my life) because I wanted to make audio plugins.

However, there was one very large problem with that – though I didn’t realize it at the time.

To do that, you need to know at least a little DSP.

(and that’s completely ignoring the programming part)

For those of you uninitiated – “know a little DSP” is a nice way of saying “know a little math beyond statistics and calculus – like linear algebra”.

Not exactly something you can pick up in a weekend.

And for me?  Well… I had some trouble when I was in high school, and quite literally got put in the “special” math class they made for kids who couldn’t pass Algebra II.

(Don’t worry, I’m a little better than that now.)

But here’s the thing – with a lot of audio-related subjects, you only truly need to know a subset of a discipline to get started and create really neat and functional things.

You don’t need to know how every single plugin works to be able to begin playing with (and be completely fascinated by) a 7-band EQ or simple compressor.  You also don’t need to know the whole of all the math involved with DSP, or every bit of C++ to begin manipulating digital audio through code.

In fact, if you know a little code – you’re a hell of a lot closer than you think to truly being able to manipulate audio with code in real time.

ChucK your Sounds

ChucK is a “music programming language” created by Ge Wang, a PhD who teaches at Standford University (it was introduced to me by Aaron McLeran, of Epic Games – wonderful guy that he is).

In my opinion – ChucK is quite literally the best way to learn DSP for any audio professional who dabbles in programming.  Hands down.

Yes, you can use Max/MSP or Pd.  Yes, you can go crazy with MATLAB.  There’s nothing wrong with any of that.  But ChucK is an infinite sandbox that I’ve never quite seen anywhere else before.

Instead of giving you a huge explanation – I’m going to link you to two videos that only scratch the surface of what ChucK can do.

If you’re still asking yourself “what does this have to do with interactive audio?” consider these few things:

  • ChucK has a Unity integration already
  • ChucK has shipped live in an iOS app, and is natively “interactive”

I’ve already created a utility that automatically generates me variations on sounds I’ve created, and can re-record the output back into my DAW as well.  No more tweaking on plugins, trying to find the right sounds, and printing – I can churn out a few variations on a theme extremely quick.

The software is also already cross-platform – it will work on both Windows and Mac.  Your setup does not matter.

The only downside of the whole thing?  The programming syntax is super weird.  So if you’ve never programmed before, I wouldn’t suggest you start here.  Pick up Lua first (https://adamtcroft.com/reascript-book) and then jump to ChucK.

So What about the $20

Well, ChucK is free.  But I highly recommend you learn with a course.

You could even audit the course for free – but I think it’s a better idea to pay the fee, get graded, and get a certificate of completion.

You can get this at Kadenze (https://www.kadenze.com/courses/introduction-to-programming-for-musicians-and-digital-artists-iv-i/), where a subscription will cost you $20 a month.  The videos are so short, I powered through most of the course on 1.5x video speed and completed everything in a month.

Worst case, you pay $40 for two months and you have an incredibly epic new tool in your sound design arsenal.

It can also easily be the launching pad for you to learn and put serious DSP concepts to test.

Go, have fun with it.  If I haven’t convinced you yet, I’m sure I’ll be sharing more about ChucK with you, very very soon.


Copyright 2016-2021, NIR LLC, all rights reserved.