Practical Digital Audio for C++ Programmers

Whoa! I’m writing book! Or at least, I’m trying to.

When I first started trying to build audio software using C++, I became extremely discouraged at the lack of solid introductory material on the topic. The books I found usually fell into one of two buckets. The first bucket contained books that focused on some fantastically awesome third-party, possibly open-source, library that was more about explaining the library than explaining digital audio. The second bucket contained books written using a brain-melting level of math only physicists and PhD-level computer scientists could understand.

The book aims to bridge the gap. It’s an attempt at creating the book I wish I had when I first started down the path of audio programming. It covers the fundamentals, common digital effects, basic synthesis, and platform-specific APIs. And it attempts to make the math involved in it all a bit more palatable (I hope).

This book is in its very early stages. I reserve the right to reorder chapters, rename things, delete things, add entirely new content, rename the book, or completely scrap the project altogether. As I write this, I’m making early drafts of the chapters for sale to those who are interested or simply can’t wait until the book is finished. If you’re interested in any particular chapter, email me. However, please note that if you purchase an early draft of a chapter, I cannot provide you with updates if/when they occur.

Table of Contents

Part 1: Digital Audio Basics

  • Chapter 1: Understanding Digital Audio – In Progress
  • Chapter 2: File Formats – Pending
  • Chapter 3: Volume & Mixing – Pending
  • Chapter 4: Transcoding – Pending
  • Chapter 5: High Performance C++ – Pending

Part 2: Effects

  • Chapter 6: Introduction to Digital Audio Effects – Pending
  • Chapter 7: Reverb – Pending
  • Chapter 8: Compression – Pending
  • Chapter 9: Filters & EQ – Pending
  • Chapter 10: Distortion – Pending

Part 3: Synthesis

  • [TBA]

Part 4: MIDI

  • [TBA]


  • Appendix A – The Book’s Audio Library – Pending
  • Appendix B – Introduction to Windows Core Audio – Draft Complete, 171 pages, Excerpt, Source Code
    Available for early purchase for $5. See FAQ Below.
    *The Windows Audio Architecture, *Core Audio Concepts, *Device Discovery and Activation, *Windows Audio Formats, *Introduction to WASAPI, *Rendering Audio, Capturing Audio
  • Appendix C – Introduction to Linux Audio – Pending
  • Appendix D – Introduction to Digital Audio on OSX and iOS – Pending


When will this book be published?

No target date has been set. I’m writing this in my spare time, which is in short supply as of late. Keep watching this page and/or the blog for updates. I hope it’s not the case, but it’s even possible the book may never see the light of day.

Who will be publishing this book?

No clue. I may self-publish. I may reach out to a few publishers and gauge their interest. At this point, I’m waiting to get a few chapters under my belt before deciding on a direction. Anything could happen.

How do I buy draft copies of individual chapters?

Email me at shane ‘at’ shanekirk ‘dot’ com.

In what formats are the draft copies of chapters available?

Non-encrypted, non-password-protected PDF, as the good Lord intended.

If I purchase draft copies of chapters, will I receive a discount on the published book?

Nope. I agree that it’d be nice, but the logistics of such a thing are beyond me.

I found an error! How do I let you know?

Email me – shane ‘at’ shanekirk ‘dot’ com.

I have a suggestion for how to make the book better!

Email me – shane ‘at’ shanekirk ‘dot’ com.