Being much in need of an absorbing and rewarding activity, and being less than excited at the prospect of yard work, I thought to take a fresh look at Csound. Also at Max. I’ve used both in the past. Max is fun, and because it’s a commercial program, not freeware, it has a smart, attractive user interface. I’m not sure what I’d do with it, but I’ll give it a few more days before I decide whether to stick with it.
Csound I’m more familiar with. It has a lot more synthesis power than Max — more types of oscillators and filters, that type of thing. It’s less fun to use, however. So much less fun that I’m starting to wonder darkly about the motivations of the people who maintain it.
They’re very bright, that’s clear. And they know a hell of a lot more about computer programming than I do. But it’s not 1985 anymore. Musicians who use computers have a lot of options. I won’t say, “Csound needs to be more competitive,” because I’m not a big fan of competitiveness as a motivational factor or an economic model. Let’s just say, if you want to stay relevant in the 21st century, you need to look around and smell the coffee.
Just to be clear: I like Csound a lot. If you’re composing in Just Intonation or exploring complex polyrhythms, it would be a great choice. It’s also, I’m sure, a good resource for teaching undergraduates what’s really going on in digital synthesis and signal processing. But right now I’m looking at it from the outside. How would it appear to some random computer-savvy musician who was encountering it for the first time?
I thought I’d refresh my memory of Csound coding by looking at a few of the instrument files that are installed along with CsoundQt, the default IDE for Csound. These instruments are not even charmingly naive. They’re just bad. And not only is the sound cheesy and awful, the response to incoming MIDI note messages is not low-latency.
ASIO has been around for more than 20 years now. Low-latency audio is not a weird, esoteric thing. Developing an audio software system that doesn’t use ASIO to operate with low latency is like writing a computer graphics program that only runs in black-and-white. Seriously — that’s a valid comparison.
Why does Csound still insist on using something called Portaudio for its audio I/O? I’m sure there must be a reason for it, in the minds of the developers. Maybe it’s a Linux thing. But looking at this choice from the outside, it’s hard to avoid the feeling that they just don’t care. It’s not even that they don’t care about their end users; it’s like they don’t care about the quality of their own work.
One developer (that would be Rory Walsh) has come up with a system that lets you bundle a Csound instrument or effect in VST format and export it so as to run Csound in your favorite DAW. The system is called Cabbage; I don’t know why.
Using Cabbage, you could in theory run Csound-based instruments in a low-latency DAW environment. Sounds good, right? Problem solved! But here’s a screen shot from one of the Cabbage video tutorials:
Seriously, now: Does anybody outside the Csound developer community actually think that panel is something a musician would want to experiment with in 2018?
It could be argued that Csound is a do-it-yourself system — that it’s not necessary for the developers to give users a plug-and-play, drag-and-drop experience. I get that. But if you’re serious about the value of your system, I do think it’s incumbent on you to show what it’s capable of.
If that screen is all it’s capable of, maybe it’s time to fold up your tent, hop on your camel, and ride off into the desert night.
In the world of do-it-yourself music software, forget Max (it’s $399). Consider Native Instruments Reaktor. That’s only $199. By the time you’ve bought a decent computer and a decent pair of speakers with which to listen to your music, $199 is not a brick wall that you can’t climb over. Most of the user-created Reaktor instruments look good, and many of them are very functional. (There are some turkeys, granted.)
I’m not going to ask, “Why doesn’t Cabbage look and feel even a little tiny bit like Reaktor?” That’s the wrong question; the answer is obvious. Rory Walsh doesn’t have cash flow, and he doesn’t have a team of full-time developers working on Cabbage. No, the question to ask is, “Why bother?” Why should anybody (including the developers) care about Cabbage? Or about Csound itself?
I don’t have an answer for that one.