Csound: fragments.csd

The Bohlen-Pierce Symposium, Boston, March 7th-9th, 2010

Program Notes

Fragments is the final product from a series of short etudes and generative instrument experiments conducted in order to gain an understanding of the Bohlen-Pierce scale. This direction emulates the way in which a hacker approaches the challenge of dissecting a piece of software or electronic device. The piece is composed, programmed and generated with the Csound computer music language. The evolution of Fragments is documented at The Csound Blog:


Jacob Joaquin started tinkering with music on a Commodore 64 while in elementary school. From 1994 – 1996 he ran the Digital Dissonance BBS, an online Fresno community where musicians traded orginal tracker-based electronic compositions. He received his BA in Music Synthesis from Berklee College of Music in 1999. During his time at Berklee he recieved his first C programming lesson from Max Mathews and was the first recipient of Berklee’s Max Mathews’ award. Jacob completed his Masters Degree in Composition New Media and Integrated Media at California Institute of the Arts in 2002. He has studied composition with Dr. Richard Boulanger, Mark Trayle and Morton Subotnick. Jacob actively blogs about computer instrument design at The Csound Blog. He currently resides in Fresno, California.

Micro Sizzle

Micro Sizzle

I’ve been meaning to experiment with additive and granular synth techniques for sometime. When I heard about Tobiah’s Sine Composition Challenge, I figured I could use this as a fairly good excuse to move forward.

The point of the challenge is to compose music using a simple Csound instrument that only generates sine wave. I decided to focus on creating a processor that converts audio into short bursts of sine waves. Something that sounds less pretty and more nasty. And this how I did it:

I took a 1-minute stereo audio file created with Ableton Live. This file was then analyzed with Csound using the pvsbin opcode. See getSizzleData.csd. Using the printks opcodes, the analyzer writes out information about the audio file to the Csound console, data such as bin number, k-block index, amplitude, frequency, and which stereo channel. The data was captured to the sizzleData.txt using this command-line in Terminal window in OS X: csound -g getSizzleData.csd 2> sizzleData.txt.

The next step was to process the numbers and transform it into a new Csound score. This was achieved using the Perl script This created the Csound score MicroSizzle.sco. This file contains over 160,000 i-events, and is a little over 13 MBs big.

After the score was generated, it was simple a matter of rendering an audio file in Csound using Tobiah’s sine orchestra. The output reminds me of a real lo-fi internet audio stream circa 1999. Nasty achieved. And that’s how MicroSizzle was made.

This whole process is just a starting point, a rough draft if you will. My hope is that once I spend some time tweaking parameters, I’ll be able to make serious improvements to the overall output of this additive resynthesizer.

Download: MicroSizzle.mp3,

Thing-a-day 26: Thingy

Day 26: Thingy

This does something. And what does it do? To be honest, the name of this synth technique escapes me at the moment. More or less, the engine creates an oscillator by cycling through a windowed segment of a buffer, with the window having the ability to move positions within this buffer.

The audio source used in the example is the same music box recording that was used in Day 4.

Listen – Day26.mp3

Download – (requires Max 5)

For Thing-a-day 2009.