[linux-audio-dev] CSound usability
dlphillips at woh.rr.com
Tue May 3 20:09:22 UTC 2005
>I'm still studying the solutions you people kindly gave me in my other
>thread, but I thought I'd post this slightly OT spinoff in the meantime!
>Dave Phillips wrote:
>>>From the original post:
>>>The problem is that I don't know of any software synthesizer that is:
>>>2. easy to use by non-experts
>>> (this is a direct stab at CSound, or better at its lack of a
>>> decent GUI, of a standard instrument exchange file format and of
>>> a decent, centalized library of presets)
>>Csound has no integral GUI, sorry. It does have a set of FLTK-based
>>GUI widgets which lets you create your own GUI.
>>The Csound orc file has been and still is the way Csounders exchange
>>instruments. There are in fact a number of instrument libraries out
>>there. I think the original poster might not be quite up to date on
>I might very well fail be up to date on CSound, in fact I'm still
>trying to find my way through it and all the various interfaces/
>utilities/extensions/what-not people have come up with.
>But from my (limited) experience I see that not only does writing a
>CSound instrument require knowledge of the CSound language and of its
>architecture (that's obvious), but that *incorporating* an existing
>CSound instrument into a new composition requires almost the same
>skills. And those are computer programmer-level skills, not average
>music writer-level ones.
I taught myself how to use Csound, I have no special background in
mathematics or computer programming.
>I'm not running down CSound, I'm just backing my claim that it's not easy to use by non-experts. At all.
Some non-experts work harder at this kind of thing. I'm one.
I think by the time you're done learning how to write your
sequencer/synthesizer you'll have spent considerably more time learning
how to do that than you would have spent learning how to use Csound. ;-)
>Let's make a comparison, although a simple, maybe unworthy one: Reason™.
>Novice users don't *need* to know how the Malström* works to be able to
>1. load a patch 2. give it MIDI input and 3. start playing. They only
>need that kind of skill if they want to make their own patches or modify
>existing ones. (*: a small piece of soft-synth found in Reason™)
>Granted, the power of any synth lies in customization, but IMHO part of
>its *usability* lies in being able to play it *without* knowing how to
>program it. That's what presets are for anyways!
I might have misunderstood your original intent. I thought you *wanted*
a programmable synth with exceptional microtuning capabilities.
>An ORC file you say? Most of the instruments I've seen need both and
>ORC and a SCO file to be of any use (problem #1.) Moreover, since you
>need to come up with a single ORC and a single SCO to make CSound render
>your composition, you have to merge the various ORC/SCO file-pairs of
>the instruments you want to use, along with the additional SCO file
>containing the actual notes (problem #2) and AFAIK you need vast
>knowledge of the ORC and SCO syntax to be able to do it (problem #3.)
I think you don't completely understand Csound, especially modern
Csound. The orc file defines the instrument, always. The sco file
supplies the instrument (s) with parameter values and event times
(start/duration). Contemporary Csounders usually use the CSD unified
file format to define both instrument and score within a single file.
There are many catalogs and collections of predefined Csound
instruments, or you can simply borrow and build from the examples found
in the many available Csound compositions.
I occasionally teach Csound to high-school students, again with no
special background beyond their basic music skills.
>I could go on, but I think you see my point. (Unless I'm seriously
>misunderstanding how CSound works nowadays, in which case I'll apologize
>to everybody and go read some CSound mailing list archives!)
If you're coming from a point & click environment then indeed Csound may
not be sufficiently amenable, but it does do what you're looking for in
More information about the Linux-audio-dev