Thing-a-day Day 1: Single-Grain Synth

So I’ve decided to participate in Thing-a-day 2009. Which means that starting yesterday, I will create ten things over ten days, and share it with the world. Here’s a repost from my entry from yesterday:

Single Grain Presentation

Single-Grain is a simple granular synthesizer/audio processor built with Max 5.

You can download the original Max 5 Single-Grain patches here. If you don’t own Max 5, but own a Mac, you can download the stand-alone application here. Mileage may vary.

Single Grain Final Patch

ChucK => Audio Programming Language

ChucK => Audio Programming Language

Yesterday, I finally had the opportunity to check ChucK out. Early exit polls suggest that ChucK is awesome!!

What is ChucK?

ChucK is a new (and developing) audio programming language for real-time synthesis, composition, performance, and now, analysis – fully supported on MacOS X, Windows, and Linux. ChucK presents a new time-based, concurrent programming model that’s highly precise and expressive (we call this strongly-timed), as well as dynamic control rates, and the ability to add and modify code on-the-fly.

If you are anything like me, then you’ll probably want to take a look at the code. Here’s a page full of examples. If two clicks is too many, you can jump straight to

Perhaps there is a live coding performance in my future.

ShellVerb: Csound Command-Line Effects Processor

About a month ago, peiman posted a question to the Csound Mailing list about the possiblity “to batch process several audio-files with the same csound code.” Prior to this, I had never considered using Csound in this manner.

After some discussion on the list about how to do this, I presented a simple solution using the command-line. This bash call was then refined by sand-6.

I continued to work on this, as there were still a few unresolved issues. For example, designing Csound instruments that would process mono or stereo files automatically, and being able to set parameters from the command-line. I wrote ShellVerb v0.1 to demonstrate a way to build these abilities into command-line instruments. Though I wasn’t completely happy with my approach.

I revisted ShellVerb yesterday, and came up with ShellVerb v0.2. This version, in theory, works identically to v0.1 as far as the user is concerned. However, I made some changes internally that I hope are a bit more clear to those wishing to analyze the file so they can write their own Csound based command-line audio tools.

It turns out that not only can Csound be used as a batch processor, but it also makes for a damn fine one. Csound is chock full of filters, envelopes, digital siginal processors, spectral processors, etc. From these synthesizer/dsp modules, one can design very complex effects units that would be impractical to implement in most other products out in the wild. Since the original post at the mailing list, I’ve heavily incorporated Csound command-line processors into some of the projects I’m currently working on, with stellar results.


Csound for Newbies

I want to share with you a promising new site called Csound for Newbies.

“The purpose of this site is to help the feckless, the despondent, the hopeless and the overwhelmed musician, programmer, and/or composer who wants to learn about the Csound audio and music software system.”

I have no clue as to who runs this site. Though it appears we share the common goal of helping those who wish to learn more about the language. Csound is cursed with an initially steep learning curve, and it’s great to see a blog dedicated to addressing this issue.

Synth Secrets @ Sound On Sound

At any given moment, I have at least four synthesis/audio books sitting on my desk for quick reference. Sometimes up to eleven. However, there are only a handful of websites I consider to be true tomes of synthesis knowledge. One of these is Sound On Sound’s Synth Secrets.

Here is a sample of topics you will find there:

Sample and Hold
Formant Synthesis
and much more…

Have a Csound Halloween

Halloween by Hans Mikelson:


You’ll need to download Csound to render these two text files into an audio file. And in case you are wondering what Csound is:

Csound is an incredibly powerful and versatile software synthesis program. Drawing from a toolkit of over 450 signal processing modules, one can use Csound to model virtually any commercial synthesizer or multi-effects processor. Csound literally transforms a personal computer into a high-end digital audio workstation — an environment in which the worlds of sound-design, acoustic research, digital audio production and computer music composition all join together in the ultimate expressive instrument.” – Dr. Richard Boulanger (source)

In other words, a straight-up hard-core modular computer music language. Csound makes my top three list of favorite synthesizers of all time. For more info, visit