Csound 5.14 released Autumn 2011


Casually following the release of 5.14 on the nabble mailing list indicates this seems like a good release, particularly for Windows users. An early tester reported “flawless” operation on Windows 7 (i7 processor).

Go to the link shown above for readme files and an installer for Windows.

Here are the release notes as an OpenDocument Text file: Csound Version 5.14 Release Notes

last modified 20110304

New basic Csound tutorials on youtube

I just happened across these by accident. Apparently they have only been uploaded within the last few weeks.

He shows how to get your first sound out of Csound using the QuteCsound front end.

Search for user “ketchupok” or here are some direct links:

Configure QuteCsound: http://www.youtube.com/watch?v=sFnZytyNuWc

60 second intro to Csound (using QuteCsound front end) http://www.youtube.com/watch?v=P5OOyFyNaCA

I think he may be assuming a little more expertise than a beginner might have, but in any case well worth checking out his short videos.

He’s also using a Macintosh, although the principles are supposed to be the same over all platforms.

Short attention span blues: Java and Csound

I wanted to find a small program I could run to give me statistics about audio files. I can get the data from Sound Forge but thought it would be nice to be able to run a custom app. After a lot of research, I thought I would give Java a try.

All the tools you need to develop it are free (similar to many Gnu tools and Microsoft Visual Express systems). But Java appeals to me since it’s pretty open, mature and runs pretty well on all platforms. And the clincher is that there are Java wrappers for the Csound API. There are a couple sample programs in the Csound distribution but (once again) the documentation is nonexistent. I hit on a website of a guy writing a modular synth program in Java to run Csound underneath it, and the excellent blue composition environment appears to be in Java. So there is some precedent that can be mined. Hopefully I’ll be able to provide some pointers for people who want to do this.

Update on 28 Aug 2009

Well, like 1000 other things in my life, I have put this on the back burner while occupying myself with other more interesting things in life. I still would like to revisit this project though.

Anyway, I wanted to add that my researches indicate that there are two major free development environments for Java: NetBeans and Eclipse. Both have their own strengths and weaknesses, and a little research should unearth some papers comparing them. For my purposes, NetBeans seems perfectly serviceable, so I downloaded it and started experimenting with it. Nothing significant to report yet.

Netbeans can be downloaded here: http://www.netbeans.org/downloads/ and Eclipse coincidentally enough here: http://www.eclipse.org/downloads/

Although the more I look at Java the more convoluted a language it seems to be. There’s a humorous essay about how to shoot yourself in the foot in numerous programming languages. It’s all over the web but I tracked an early (original?) version down to here: http://www.fullduplex.org/humor/2006/10/how-to-shoot-yourself-in-the-foot-in-any-programming-language/

The problem with Java (after you’ve worked with simplistic syntaxes like Perl) is that it’s terribly convoluted. One comment to the above article suggested this construct for how to shoot yourself in the foot using Java:

Foot foot = new Foot();
Gun gun = new Gun();
gun.fire (foot);
NullPointerException at : gun.bullets
java.lang.OutOfMemoryError at: gun.bullets.Add(10);
ClassNotFoundException at: Gun gun
-You have placed the Gun.class in the classpath?

This sort of gives you the flavor.

QuteCsound and blue experiences…

Browsing through the Nabble Csound forum, I see frequent mentions of the Csound frontend QuteCsound. A version 0.4.1 was recently announced so I thought I’d plunge in. I added some notes about my current experiences trying to get this to run on my Windows XP system which you can read about here .
The frontends I’ve been using have all been partially OK, but no single one really fills the bill for me.
A very powerful system, really incorporating a timeline for musical events and everything, is Steven Yi’s blue, which I’ll set up a page for separately. But for now I just want to get some placeholders down for adding to as I find out.
I regard myself as a typical Csound “hobbyist” level. Amateur, not connected with any academic institution, some background and knowledge of software synthesis and electronic music.

Csound version 5.12 released

As of Sept 2010 there are packages for Csound 5.12 (again, I’m  focusing on built Windows versions) available at your neighborhood SourceForge download site. Try this URL:


I have to confess I haven’t tried this version yet. Check the discussion board at nabble to see how other people are doing with it.

The OSX 10.4 and 10.5 binaries have been there since June, and of course for the completely masochistic there is always the source code which you can build as you wish.

QuteCsound is at version 0.6.0 at this point as well, and just getting more functional and more stable all the time.

Here are the Release Notes for 5.12 so you don’t have to download them yourself.

New Opcodes:

  • transegr — MIDI aware version of transeg
  • passign — initialise variables from p fields
  • crossfm — See the Csound Journal
  • loopxseg — like loopseg but with exponential envelope
  • looptseg — like loopseg but with flexible envelope like transeg
  • modmatrix — routing and scaling of k-rate signals using sparse matrix optimization

New Gen:

Modified Opcodes and Gens:

  • p5glove changed to use a separate thread to avoid timeout problem
  • transeg checks argument counts
  • sfload used to be limited to 10 sound fonts and was not policed.
  • Now open-ended

Bugs fixed:

  • pvsshift would overwrite in double mode
  • pan2 case 3 fixed
  • tempoval now works
  • clockon/clockoff now work again
  • cross2 could have divided by zero
  • interpol could have divided by zero

System Changes:

  • linecount no longer includes .csoundrc
  • \” allowed as an escape in orchestral strings
  • New parser fixed on optional arguments
  • better checking of f statement with negative number

new functions AddSpinSample, GetSpoutSample, ChanIKSetValue,
ChanOKGetValue, ChanIASetSample and ChanOAGetSample to access
individual samples


  • soundfonts only initialise pitches array once
  • usual collection of gratuitous minor changes, layout and comments
  • and minor speedups

Notes from 5.07 release back in 2007

A big change is that a “VST instrument” is no longer included in the distribution; appears to have something to do with licensing the VST SDK from Steinberg or something. In any case, if you go back to an earlier version like 5.06 CsoundVST.dll is included.

I still can’t make that work in the two VSTi hosts I tried: Cantabile and Live 6. It detects the VST, but when I try to load it I get a Windows XP error. The guy who developed CsoundVST was more interested in using it on Cubase, so understandably he was more interested in compatibility with it.

“But I don’t want to write programs!!”

OK, stop whining, I actually feel your pain.

For most normal musicians, the idea of having to write a computer program in order to create a musical piece is not appealing. Especially in this era of instant gratification. In fact, I can get more gratification using Ableton Live and my big catalog of loops and samples in an hour than I ever got laboriously entering data in MIDI sequencers in the old days. But perversely, I am currently really getting interested in writing pieces in music languages like Csound and ChucK.

SO: using the very invaluable Csound tutorial and some experimentation, I have put together a little step by step tutorial that will allow you to play a Csound instrument like any kind of soft synth. I’ll post it in a day or two in the “First Steps” area.  As long as you have some kind of MIDI keyboard hooked up to your system that works with your copy of Cubase/Sonar/Live, etc., we should be able to get you going.

Before I do that, I should point out some characteristics of Csound that limit this sort of use. A Csound instrument (it’s called an “orchestra” in Csound speak) may be designed to be pretty simple; where it accepts a score (“i”) statement with just a pitch, velocity and duration and then plays that note. But it may also be extremely complex in which a single i-statement can create an entire piece. Also, there is no real standard as to what the parameters on a i-statement refer to: p3 and p4 are often pitch and velocity (or loudness or volume) but they do not have to be. So as long as you keep in mind that you won’t automatically be able to play every Csound instrument/orchestra like a regular synth, you will have a lot less grief.

Csound Frontends

I really recommend you get familiar with making some noise out of Csound using the basic command line interface and score and orchestra files.

But once you’ve examined and written a few simple programs, you’re going to hanker for a more convenient way to run and edit Csound files. The current hottest thing is QuteCsound from the description at SourceForge (http://sourceforge.net/projects/qutecsound/)

QuteCsound is a cross platform editor and front-end for Csound with syntax highlighting, interactive help and automatic launching of Csound from a shell or the API. It can open files created in MacCsound.