
That was the year both Nirvana’s “Nevermind” and “Silence of the Lambs” entered pop culture. And for this, I had to go back to 1991.ġ991 – Windows Multimedia Extensions (aka MME, aka WinMM): Ahhh…1991. I needed a bit more information and context in deciding how I was going to spend my time. But which one makes the most sense? What are the differences between them all? And why are there so many options? There are a lot different paths a developer could take. This includes weird sounding things like MME, WASAPI, DirectSound, WDM/KS, and XAudio2. I’m talking about the APIs baked into Windows itself. I’m not just talking about third party libraries. The trick was wading through the information and sorting it all out.ĭevelopers new to Windows audio application development, like me, are often overwhelmed by the assortment of APIs available.

It seemed the best sources of information were blogs, forums, and StackOverflow. I also spent some time digging through back issues of Windows Developer’s Journal, MSDN Magazine, Dr. As of this writing, I could find no books dedicated to Windows audio programming. There’s not a lot in the way of introductory material here. What I found was a dark, mysterious corner in the Windows platform. So I looked to the platform I already use for all of my audio recording – Windows. But as with anything, you must use it to learn it. I absorbed quite a bit of theoretical material in a relatively short amount of time.

Then my nightstand began accumulating books with titles like “The Theory of Sound” and “Who Is Fourier? A Mathematical Adventure”. Somehow, with all of the time I’ve spent in front of tools like Cakewalk Sonar and FruityLoops, it never occurred to me that I might be able to learn what these applications are doing under the hood. But somehow these worlds never converged.

And much of my software development career has been built on a giant mass of C/C++ code. I’ve been recording and mixing music since college. I’m not entirely sure why it took so long really. A few months ago, the audio programming bug bit me pretty hard.
