Resources for Audio Programmers

If you are currently an audio programmer or you’re looking to become an audio programmer, this page is a resource repository of information specifically for you.

Below you fill find links to books, frameworks, courses, audio programming languages, software, and other interesting/relevant information.  I keep it updated regularly with new information as it’s shared and/or found.

This information is and was originally compiled via an open Google document, which is edited via the users at the audiocoders Slack channel.  If you wish to join the conversation – ping me!

Books

The Theory and Technique of Electronic MusicMiller Puckette (FREE)

Julius O. Smith’s Books/Courses (Intro to DSP, DSP Mathematics)

Super Collider Book

Real Sound Synthesis for Interactive ApplicationsPerry R. Cook

The Study of Counter Point – Alfred Mann (Music Theory Book)

Designing Audio Effect Plugins in C++ – Will Pirkle

Game Audio Programming: Principles and Practices – Guy Somberg

Think DSP: Digital Signal Processing in Python – Allen B. Downey

The Audio Programming Book – Richard Boulanger, Victor Lazzarini

Designing Sound – Andy Farnell

The Definitive C++ Book Guide and List

Game Engine Architecture, Second Edition (in-depth section on audio engines and technology) – Jason Gregory

Frameworks/API/Libraries

Description of Windows Core Audio APIs

JUCE (C++ Based Audio Plugin Framework)

WDL-OL (Oli Larkin’s fork of WDL – enhanced version of Cockos’ iPlug)

RackAFX (C++ Based Framework, can export to VST.  Accompany with Will Pirkle’s Book)

Epic Games Unreal Audio Engine Mixer Source

Librosa (audio and music processing in Python)

Essentia (re-usable C++ audio algorithms)

Microsoft XAudio2 (low-level audio API that provides signal processing and mixing foundation for developing high performance audio engines for games)

Microsoft AudioGraph

DirectSound

Naudio (C#)

WASAPI (Windows Audio Session API)

Howler.js (HTML 5)

PortAudio (C++)

Maximilian (C++)

RTAudio (C++)

ASIO (C++)

WAAPI (Wwise Authoring API, various languages)

CSCore (C#)

Courses

Introduction to Programming for Musicians and Digital Artists

Creating Interactive Audio Applications Using Pure Data

Audio Signal Processing for Music Applications

Digital Signal Processing Course (Coursera)

School Of Video Game Audio, Pure Data Course

Generative Art and Computational Creativity (Kadenze)

C++ for Complete Beginners

Programming Languages

Super Collider

Lua (Can be used for extending Reaper with ReaScript)

ChucK

Reaper JSFX

Software

Max/MSP

Pure Data

Madrona Labs (Virta, Kaivo, Aalto)

Math Resources

Tecmath (YouTube)

3Blue1Brown (Youtube)

Khan Academy: Linear Algebra

Music Programming

HTML5 ByteBeat (example)

Blogs/Articles

float AudioProgramming

Blog at the Bottom of the Sea

Chris Tammik – Sounds Rather Technical

Chris Tammik – Introduction to Game Audio Scripting in Unity

EarLevel Engineering

Implementing Real-Time Granular Synthesis

Writing Plugins for Wwise

Videos

How to Build Digital Filters, a Simplified Explanation

CPPCon Talks

JUCE/Audio Developers Con Talks

Handmade Hero (Developing a game from scratch)

Handmade Hero – Audio Episodes


Copyright 2016-2017, Adam T. Croft, all rights reserved.