One of tonight’s experiments was learning how to play Csound synthesizers from a MIDI keyboard. I recall vaguely having some problems a couple of years ago when I tried this, but for whatever reason, it was working okay tonight.
Not great — the latency on my new, fast computer was around 50ms, which is noticeable but not bad enough to drive me insane. With a more complex instrument, I might have to set it higher, and that would be a problem.
And of course, one of the charms (if that’s the right word) of Csound is that the user is responsible for scaling the amplitude so the output doesn’t clip. There are ways to do this, but you may not realize it’s approaching full level and about to clip with a 4-note chord … until you play a 5-note chord.
In sum, I don’t think I’d recommend Csound for playing keys at a lounge gig, not unless you’re really strapped for cash and can’t afford a program like FL Studio (which uses ASIO for low latency and has some very nice synthesizers as part of the package). But for slow, dreamy experimental music, where 150ms of lag between when you move a slider and when you hear the tone respond won’t even be noticed, I think Csound might work very well. Just be sure to include a master output volume slider in your design, in case the mix level inches up too high.
I also dug into The Csound Book today and read up on waveshaping. The algorithm for producing controlled, fat-sounding distortion turns out to be quite simple — about four lines of code. Getting good sound out of an instrument is a challenge for any musician. Being able to look up a formula in a book is certainly pleasant. (I’ll bet my cello students wish it were that easy!) But learning where and how to apply the formula to get good musical results — that will take a little more time.