The Audio Programming Book
This comprehensive handbook of mathematical and programming techniques for audio signal processing will be an essential reference for all computer musicians, computer scientists, engineers, and anyone interested in audio. Designed to be used by readers with varying levels of programming expertise, it not only provides the foundations for music and audio development but also tackles issues that sometimes remain mysterious even to experienced software designers. Exercises and copious examples (all cross-platform and based on free or open source software) make the book ideal for classroom use. Fifteen chapters and eight appendixes cover such topics as programming basics for C and C++ (with music-oriented examples), audio programming basics and more advanced topics, spectral audio programming; programming Csound opcodes, and algorithmic synthesis and music programming. Appendixes cover topics in compiling, audio and MIDI, computing, and math. An accompanying DVD provides an additional 40 chapters, covering musical and audio programs with micro-controllers, alternate MIDI controllers, video controllers, developing Apple Audio Unit plug-ins from Csound opcodes, and audio programming for the iPhone.The sections and chapters of the book are arranged progressively and topics can be followed from chapter to chapter and from section to section. At the same time, each section can stand alone as a self-contained unit. Readers will find The Audio Programming Book a trustworthy companion on their journey through making music and programming audio on modern computers.
Why Read This Book
You should read this book if you want a hands-on bridge between audio DSP theory and real code: it shows how to implement synthesis and signal-processing algorithms with working examples and free/open-source tools. You will gain practical recipes for filters, FFT-based effects, spectral processing, and real-time audio I/O that you can drop into projects or classroom exercises.
Who Will Benefit
Intermediate audio engineers, DSP programmers, and computer musicians who want to implement and prototype audio algorithms in real code and open-source environments.
Level: Intermediate — Prerequisites: Basic signals and systems (sampling, Nyquist), familiarity with complex numbers and the DFT/FFT, and programming experience in at least one language (C/C++ or a high-level scripting language).
Key Takeaways
- Implement common audio DSP building blocks (oscillators, envelopes, FIR/IIR filters) in code.
- Use the FFT and STFT for spectral analysis and build spectral effects and processing chains.
- Design and tune practical digital filters for audio applications and understand implementation trade-offs.
- Apply synthesis techniques (additive, subtractive, FM, physical modeling) to create sounds programmatically.
- Integrate real-time audio I/O using cross-platform libraries and work with audio file formats and MIDI.
- Optimize and structure audio programs for real-time performance and classroom-ready examples.
Topics Covered
- Introduction & Getting Started with Audio Programming
- Digital Audio Fundamentals (sampling, quantization, aliasing)
- Discrete-time Systems and Unit Generators
- Digital Filters: FIR and IIR design and implementation
- Fourier Analysis and the FFT for Audio
- Spectral Processing and the Short-Time Fourier Transform
- Time‑domain Effects: Convolution, Delay, Reverb
- Synthesis Techniques: Subtractive, FM, Additive
- Physical Modeling and Advanced Synthesis
- Realtime Audio I/O, MIDI and Host Integration
- Programming Environments: Csound and SuperCollider examples
- Practical Topics: File formats, plugins, and performance considerations
- Appendices: Math references, example code, and libraries
Languages, Platforms & Tools
How It Compares
Broader and more code-oriented than DAFX (Zölzer), which focuses deeply on effects algorithms and their DSP derivations; complements Julius O. Smith's more theory-centric online texts by emphasizing practical programming and ready-to-run examples.












