DSPRelated.com
Books

The Audio Programming Book

Boulanger, Richard 2010

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).

Get This Book

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

  1. Introduction & Getting Started with Audio Programming
  2. Digital Audio Fundamentals (sampling, quantization, aliasing)
  3. Discrete-time Systems and Unit Generators
  4. Digital Filters: FIR and IIR design and implementation
  5. Fourier Analysis and the FFT for Audio
  6. Spectral Processing and the Short-Time Fourier Transform
  7. Time‑domain Effects: Convolution, Delay, Reverb
  8. Synthesis Techniques: Subtractive, FM, Additive
  9. Physical Modeling and Advanced Synthesis
  10. Realtime Audio I/O, MIDI and Host Integration
  11. Programming Environments: Csound and SuperCollider examples
  12. Practical Topics: File formats, plugins, and performance considerations
  13. Appendices: Math references, example code, and libraries

Languages, Platforms & Tools

CC++CsoundSuperColliderScripting examples (conceptual / pseudocode)LinuxmacOSWindowsCross-platform audio hosts/environmentsJACK / PortAudio / ALSA (discussed)libsndfile and common audio file toolsLADSPA / plugin hosts (coverage of open toolchains)

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.

Related Books

Jurafsky, Daniel, Martin, J...
Rabiner, Lawrence, Schafer,...