UPDATE: After writing this intro post I spent the next few weeks writing posts about the ins and outs of making noise with AS3/Flash. You can view the whole list of posts about audio programming here: http://labs.makemachine.net/category/audio/. Also, remember to check back. I’ve got a lot more to learn and I plan to keep sharing it with you kind reader.
The notion of writing algorithms that are used to create sound is a pretty abstract concept, one I have been wanting to understand for some time now. I’ve been working with digital audio tools for over ten years and programming software for nearly six. I have the next few weeks open so it seems like a great time for these two interests to finally merge.
To gain a basic understanding of some of the principles, I’ve been experimenting with the dynamic audio capabilities of Actionscript 3.0. It’s a very simple API but I feel this is a good thing as the limitations of the language narrow the scope of distraction. Eventually, it would be great to write this kind of code in Python or C++. I might even look into writing something audio related for Android in the future. For now Flash is a great medium because it will run on the web and it is great for displaying concepts graphically.
Ultimately I’d like to build an online synthesizer that has a mobile or desktop counterpart. This would include writing an open source library for making audio programs. As I explore, I’ll be posting tutorials and snippets on how to create waveforms, filters, envelopes, modulation and other effects. In the meantime here are a few resources that I’ve found helpful.