Thoughts about Csound and electronic rendering


Csound is open-source software for sound synthesis. It a programming language rich with operators for producing and modifying sound, and a wonderful gift from a community of academic and volunteer programmers. At you can get information about it. Here is a Csound piece you can listen to. for example.

Thoughts on electronic rendering of music

Since I don't have ready access to players, I listen to a lot of my music rendered electronically. Like many composers, I've exported my Finale scores to MIDI and played that through a typical MIDI synthesizer. The result is not satisfying. The mechanical rhythm and static sound quality kill the music. I prefer to export my scores as MIDI, then put that MIDI through a program I wrote that produces a Csound score. Then Csound renders my piece. Why do I like this better? Unlike a sampler, Csound computes each note individually from unique parameters. For example, long notes can have a different envelope than short notes, and small random variations can be added to any note. The result will never replace live players, but it allows me to hear a bit of actual music in the electronic rendering. This piece demonstreates this technique.

The musicality of randomness

It is often true that good music is carefully crafted and performed with exquisite control, and has a high degree of regularity and repetition. But irregularity and non-uniform patterns can be attractive and artistic, as well. I like spending time in nature, which rarely has uniform textures. A forest does not have trees in neat rows and columns, which is a big part of the appeal. So perhaps when we make music we can use randomness. A computer can help us by providing a pseudo-random number generator.

There are a couple ways to use pseudo-randomness. In algorithmic composition, pseudo-randomness can be used to choose note pitches, start times, and durations. This produces music with an overall texture that waxes and wanes and bubbles up very much like something in nature (wind, a babbling brook, an erupting volcano). Wind chimes produce music like this---consider them a kind of algorithmic music.

We can also use pseudo-randomness in playing back a score composed by a human. Usually a score as entered into a notation program, or generated as midi, has a great deal of uniformity. Perhaps all eighth notes have the same duration, and arrive at an absolutely precise rate. A computer can alter the start time and duration and volume of each note pseudo-randomly. If it alters the times too much, the result sounds messy, but if it alters the times just a bit, the result is interesting music. Compared to an exactly metronomic playback, the result sounds less artificial and makes it easier to hear the musical feeling that is inherent in the shapes and structures of the score. At least this is how my ears hear the result.

It's fascinating that a "dumb" algorithm can make music that sounds natural and resonates with the human sense of beauty.