I've been very interested in the last few months about getting in to audio programming (I'm from a musical background). I've been a .NET developer for two years and have also done some objective c for an iPhone app recently. I realise I would probably need to work on my C++ chops and have been having a play around with FMOD EX and doing a lot of research into the industry.

I was just wondering if anyone could suggest some good resources for audio programming (be they websites, podcasts, books, videos, online courses etc). Anything from Fourier analysis, low level coding, audio engine creation to audio APIs. I just want to learn as much as possible!

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

Really liking the look of the game audio gems series so I've ordered a couple. Thanks.
–
rashleighpMay 20 '12 at 8:56

@rashleighp I really like the game programming gems series, not only for audio but for all the different topics covered. I've got all of the volumes, and I frequently pick one random article out of all of them to read, and expand my knowledge. But I think the books are quite expensive, so I'd recommend doing the same I did, and buy them used. Took me two years of waiting for good deals to come up, but I managed to buy some of them at 20% of the original price from amazon used book vendors.
–
David GouveiaMay 20 '12 at 13:27

DSP is about filters and fourier transforms and HRTF and all that fun stuff.

Good DSP Resources:

Rab already mentioned this, but it's so good I have to repeat it. The Audio Programming Book by Richard Boulanger and Victor Lazzarini is probably the best place to start. Also functions as a pretty thorough introduction to C. The beginning may be a little slow for you, but it discusses some (occasionally outdated, occasionally not, but always useful and interesting) C idioms as well as introduces some sound fundamental things about sound you may not have gotten before.

Who Is Fourier?: A really interesting book written to give you real fundamental understanding of the fourier transform. Written purely with the intention of exploring how to explain complex mathematical concepts to young students. As a result, if you're a little weak on your higher level math, this will help you grok everything.

On the other side of things, "asset management" is a little vague and mostly has to do with dealing with container formats, codecs, and streaming. Perceptual codecs is the real meat to study here. Fortunately I don't have much to offer there (seems like you need a PhD to understand most of that stuff). But there's plenty of libraries/APIs for getting the job done:

Intelligent audio playback is other fun stuff. This isn't terribly mathy like DSP is, and what you end up doing a lot of the time is dealing with voice management and music cues. There's not as much specific technical knowledge, it's more about design, and creating the tools and playback systems to support that design.

Download Wwise and just start reading their docs for both the authoring tools and the API. Do the same for FMOD Designer and FMOD Studio.These give you an idea of "upper tier" tools that game sound designers use to implement content.

Another good one to check out is Fabric. Basically, Unity's audio pipeline kinda sucks, and this plugin tries to make it better. You can get an evaluation version for free.

As a musician, imagine the ideal interface you want to describe interactive game music and sound effects with, that's what these tools aim to provide. If you're familiar with what's already out there and how it supports sound designers and composers, then you can start to think of your own solutions for how to do things better.

Other resources:

Peter "pdx" Drescher wrote an awesome article about implementing the FMOD Designer API on Android with JNI.

IASIG and iXMF, the as-yet-unfinished interactive music specification standard with some interesting ideas.

The Game Audio Tutorial A book aimed at teaching sound designers to implement sound in UDK while teaching game sound design principles. A lot of it is about fighting UDK's audio and Kismet, but once again it's useful to see things from the non-programmer side.

Be careful with OpenAL on iOS there are gotchas and bugs. e.g. prefer the extension function alBufferDataStatic over alBufferData because the latter is buggy. Also the whole library implementation is fairly leaky under iOS.
–
jherikoMay 19 '12 at 15:02

OpenAL has been mentioned - the other big library is XAudio 2 which you can use for x360 and pc development - although I believe OpenAL is supported on x360 as well it will undoubtedly be a layer over the top of XAudio 2