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


Exciting development (if you regard documentation as exciting)

Some people have put together what is basically a wiki-style documentation project for Csound and its hot new front end QuteCsound. This is part of a project called FLOSS (for Free (Libre) Open Source Software).


There’s a discussion of the project on the Csound nabble.com forum at this URL


This is still being produced but it has great potential. As I mention/gripe about frequently, Csound is so old and so huge, that to get a handle on it at all is difficult. Sort of like trying to eat an entire hippo for dinner…

In other news….Built versions of Csound 5.12 for Windows have had quite a few bumps along the road … keep checking the forum rather than soundforge to figure out if you want to get that version…

Also .. I don’t know what the deal with nabble.com is, or why the Csound forums are hosted there. In any case, here’s the new (?) link to it http://csound.1045644.n5.nabble.com/

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.

Csound: more on “sloppy packaging”

…Just an inflammatory headline to get you interested in reading my ideas.

I had some more thoughts about the Csound packaging discussion. As mentioned before, the big problem I see with Csound is its huge scope and tons of leftover and no-longer-supported components due to its age.

I’ve thought about a couple other software systems and how their developers managed this.


The history of Unix, GNU, Linux, etc. is a lot more complex that I can deal with here, but for our purposes Unix was originally developed at Bell Labs and not really intended to be publicly distributed for free. But students at (e.g.) UC Berkeley extended and developed it and the “BSD” distribution started to be seen everywhere.

Many companies took Unix concepts and “productized” it for sale. For instance, Sun developed “SunOS” (later renamed Solaris) which was basically just a Unix port that was guaranteed to run on their hardware and was supported.

Ironically, you can now get Solaris for free and it’s ported to a number of platforms.

StarOffice and OpenOffice

Late in the 90s and to date, Sun produced a program suite called “StarOffice” designed to compete with/replace Microsoft Office which was an expensive licensed product of Microsoft. Sun actually released a version called “OpenOffice” which is completely free and unsupported.

The point is that now the user has a choice. If you (or your company) can afford MS Office, you’re free to buy it. It will probably amount to a few hundred dollars (US) depending on the configuration you choose. But if you want to save money and don’t absolutely need to use the MS products, you can get StarOffice for USD50. If even that’s too much, you can download OpenOffice which has the same functionality for whatever it costs you to download a few hundred megabytes.

And my point is…?

What I’m obviously getting to is: would a Csound user pay a small amount for a stable, well-documented, software suite that did 90% of what Csound is capable of, if it meant no hassle in installing and using it?

I think a part of this equation might involve something like Steven Yi’s blue Csound frontend / composition environment. Although it’s been very interesting for a few years, it is suddenly at version 2.0.x and more stable and powerful than ever before (why? because it’s being actively developed; by a real software engineer; who is managing the project himself (or with a small group of other volunteers.) )

There are many competing factions at the Csound table. There are the grizzled veterans for whom Csound’s cruftiness is part of its charm; the Linux stalwarts who have to build it from source before using it; the students who are forced to study it in their electronic music curriculum, the fascinated hobbyists, the experienced computer music gurus, etc.

Wonderful thoughts. So who is going to pay for all this fine work?

Well, that is the crux, isn’t it? Look at the example of the amazing music application called “chuck.” My guess it was developed by a couple of amazingly talented grad students at Princeton, who are now probably trying to pay their rent and student loans. It hasn’t had a new release since (I think) mid-2008. That’s not to say it isn’t amazingly powerful and functional as it is — in fact, its forum is still very active. But without dedicated, professional, paid staff it’s hard to see how it can thrive, get bugs fixed, new features implemented and tested and so forth.

It’s not just me…

The nabble discussion group for Csound continues to be lively and informative. There’s (what I consider to be) a really healthy and spirited discussion about the packaging and ease of installation of Csound.

In a posting, Jim Aikin suggested the possibility of there being some institutional support for at least a little professional staff. Although it’s hard to imagine who would be the “angel” for Csound (it would certainly be me if I were hugely wealthy.) The problem with Open Source is that without coherent leadership things can get — diffuse. All the developers of Csound are volunteers, and Herculean work they do accomplish. The software is truly awesome in the real sense of the word. Just to give a tiny idea of the scope of Csound and cognates: the PDF version of the manual is over 2400 pages. Just imagine that.

The universe of Csound is so old and venerable now, that it’s analogous to a huge factory, with workshops and warehouses strewn all over the landscape, some features dead or moribund, and others only partially working. The users of Csound are also incredibly diverse. Some just want to do simple sound or music design writing orchestras and scores in text editors, some want to program it using other languages, others are doing audio and acoustics research and not using it for music at all; others are working on front ends (QuteCsound) and complete composition environments in which Csound is just the engine (e.g. blue.)

Then you have users on not only the Macintosh and Windows platforms, but Linux versions as well.

I think Mr Aikins’ idea is good; but it’s hard to imagine this happening realistically. Chuck (cs.chuck.princeton.edu) ongoing development is languishing as well–labors of love are romantic but they don’t put top ramen on the table.

Perhaps a model might be OpenOffice. This was supported by Sun (now Oracle). It is extremely solid, full featured, trivial to install, well-documented and evolving. Maybe like it (cf. StarOffice) and Linux, there could be an inexpensive “supported” version and a free “all the source code you can eat” version.

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.

SciTE for running Csound and a couple other notes

I actually have something positive to write today instead of complaining all the time.

Even though it takes a little doing, the SciTE (Scintilla Text Editor) tool has been a very useful way for me to experiment with Csound compositions. However, it only works right on “.csd” files. So here’s what I’ve been doing to audition a lot of the sample files out of the various Csound distribution directories.

First you have to get SciTE and install it. The default installation has Csound as one of the languages that it understands. You can find it at: http://scintilla.sourceforge.net/SciTE.html

1. If the Csound piece is current in a pair of .orc and .sco files, I convert them to .csd. There are several ways to do this. One is to use the utility that comes with Csound called makecsd (of all things.) Its use is described in the Csound manual.

You can also easily do the conversion in any text editor, but an easier way is to use Flavio Tordini’s old Csound Editor http://flavio.tordini.org/csound-editor. When you open up a .sco or .orc file, it will locate the corresponding other file if it’s in the same directory. Then you can use a menu option to convert it to .csd and save it. (Note that Tordini has not updated this for a long time, but since people still find it useful, he graciously continues to make it available.)

You can actually run Csound from the Csound editor (and do many other things too) but for the time being I’m not using it. I like the syntax coloring, dual window and most of all line number features of SciTE.

2. Open the .csd file in SciTE. Under the Tools menu there will be a “Go” option. This will run the Csound program and put the log output in a pane to the right. Between the <CsOptions> and </CsOptions> tags in the the .csd you can put Csound options, which you may want to do to customize your situation or the level of message reporting. For instance, per the Csound manual:

-m NUM, --messagelevel=NUM
Message level for standard (terminal) output.
Takes the sum of any of the following values:
  • 1 = note amplitude messages
  • 2 = samples out of range message
  • 4 = warning messages
  • 128 = print benchmark information
And exactly one of these to select note amplitude format:
  • 0 = raw amplitudes, no colours
  • 32 = dB, no colors
  • 64 = dB, out of range highlighted with red
  • 96 = dB, all colors
  • 256 = raw, out of range highlighted with red
  • 512 = raw, all colours

The default is 135 (128+4+2+1), which means all messages, raw amplitude values, and printing elapsed time at the end of performance.

So you can see that you can add a –messagelevel=nnn option to tailor the messages as desired.
The other thing that’s worth looking into is some of the newer score operations. With these, you can mark sections of the score for repeats without having to laboriously cut and paste the same section over and over again. With the macro capability, you can even have sections which are mainly similar but possibly differ in some parameter(s). And there is a score repeat marker which provides an incrementing variable for each pass through the repeating section which you can use elsewhere in your orchestra.
These features are nice to know about and can simplify the use of complex scores. Of course, advanced users will probably use other tools and/or MIDI functions to generate event lists, but for beginners and intermediate folks, doing everything using Csound’s own tools has its attraction.