Audio Programming - Essential Skill for a Career in Sound

Sometimes we forget that the skills we needed 50 years ago to produce a song like ‘Revolution’ by The Beatles were far more technical than the simple plug and play methods we have access to today. In 2019, we can create brilliant pieces of art at home, download a sound library, produce some beats and have 100K listeners all while learning how to do the whole process on YouTube. I first of all want to say I am and always will be in the latter group of 2019 audio kids, but history can teach you so much, especially while doing your audio degree. The jobs I wanted going into my degree were all in recording studios, and it’s a good dream to have but they don’t exist like they did 50 years ago (Not in my hometown anyway). Following this rant I just want to say the future looks bright and I have great news. Rant over, read on.

I’ve been coming to grips with this for a long time, but making it in this industry is about being smart and continuing to learn. The audio recording stuff can be fun, but what if you could code your own synth patch or make a convolution plugin for a game, or even create a DAW. A year ago I would have thought that was F’n crazy, but if we are going to be like our predecessors, than we must be F’n crazy.

Where to Start


There is so much out there and a lot that isn’t specific to audio, but I find getting an overall look and understanding of audio programming is a good place to start. I’ve just recently dived into C++ and C# because I’m interested in technical sound design for games. It shows up on a lot of job listings, because at some stage you will need to know how to make footsteps happen in a game or understand what the audio programmer is talking about. Even an entry level knowledge of these two languages can be a boost to your job prospects.

If you don’t feel like doing a computer science degree and just want to focus on the audio side of things, there is some great resources online and in books form. Here is a great place to start your reading if you want to get a good overview of the world of audio code and DSP. I think this book is great even at a complete beginner stage and as someone who still has a lot to learn. I have to finish this book or just keep reading it. In the book Guy talks about really basic level stuff and then get’s more advanced into coding your own audio engine. Great to have for reference and good to learn something so computer heavy from a book.

Screen Shot 2019-03-16 at 10.04.30 pm.png

FMOD Is My Language

First of all no FMOD is not a language and is also an essential skill in my opinion, but, you’ll be shit out of luck when you have to make a footstep work in a game engine with no code. It just doesn’t work that way. When I was first learning this concept I had so many sleepless nights thinking “why can’t it just do it”. Wrong attitude man!. I had to learn how to code in C# and Javascript to get FMOD and Unity speaking to each other. Yep that’s right C# and Javascript, two of the worlds most blessed programming languages (Prove me wrong);

It wouldn’t be wise for me to explain what all of these languages do because it would take a year, but I see them as the instructions the game needs to perform a particular set of functions. Kind of like if you dropped some rubbish in the street, I would say “please pick that up, if you don’t, I will make you regret it” then they say “yes, sir” and the object is picked up. To me, that is programming. Rant number 2 over. If you want to learn some really cool game sound design tricks using C#, you can head over to Scott Game Sound. He gives really detailed examples of the code he writes and even has videos going through the whole process. I highly recommend him and for total beginners, he has a course coming out soon which looks pretty great.

My Main Focus

Since doing a bit of research and reading up on the skills needed to fill these really elusive positions, I have decided to study the programming language C++ in JUCE using Open Frameworks Maximilian. So far what i’ve read is that it is pretty intensive and requires years to even get the basics learnt, but I think it is a great investment in my time and will help me understand C# a little better. I’m going to keep updating my blog with what i’ve learnt, and want to use it as an opportunity to share my code with the world and to learn through criticism and doing.

In my next blog I will discuss the beginning stages of building my own synth and talk about the things I found most challenging about it. Thanks for reading and I would love it if you could leave some comments or feedback if you found anything good or bad about this blog. Thank you.

cout<<“Thanks for Reading“<<endl