Csound Csound-dev Csound-tekno Search About

Re: Csound language

Date1997-03-20 19:58
FromRichard Wentk
SubjectRe: Csound language
At 08:15 19/03/97 -0800, you wrote:

>Try generating a random burst of notes with an
>exponentially decreasing density within a given
>moving range of pitch and tone color by using a
>MIDI sequencer.  Even if it could be done, could
>it be created again and again with simple commands,
>using different exponents for decay, and different
>pitch ranges etc...?  

Actually it wouldn't be hard at all. The reason is that this really isn't a
fair comparison. A MIDI sequencer is analogous to Csound's score system,
and it's only very slightly more difficult to write C code to generate a
MIDI file than it is to write a score file. Once you use extra software
there's not a lot you can't do, repeatably or otherwise. And as I mention
in the other email, some sequencers now include a development environment
where you can do whatever you like with MIDI events.

I'm defending MIDI because no one seems to have noticed that if you apply
the same programming skills to MIDI that people seem happy to use with
Csound, you end up with a system that allows you to do an awful lot indeed
rather easily. Put bluntly, it's simply a myth that Csound is general and
MIDI is fixed. Take the time to apply the same hacking skills to both and
the reality is a lot less black and white than that.

But to get back to Csound - how hard would it be to add the following:

1. A-rate loops and conditionals, so for example you can repeat a block of
ugens a fixed number of times, changing parameters slightly each time.
(Obvious uses - building a big stack of individually controlled sine
partials with a few lines of code; analogue oscillator sync and pulse width
modulation; . 

2. Read/write a-rate tables. (Wavetable effects; custom variations on
Karplus/Strong; other physical modelling. Doesn't Robin Whittle's code do
this?)

3. Implement a structure where instruments could trigger other instruments,
without relying on a fixed score. (Fun in general.)

We're back to the wish list, I suppose. I won't speak for anyone else of
course, but those options would certainly make my life a lot easier and
more musically satisfying.

R.

Date1997-03-20 23:30
FromCharles Baker
SubjectRe: Csound language
Richard Wentk wrote:
> Once you use extra software
> there's not a lot you can't do, repeatably or otherwise. And as I  
mention
> in the other email, some sequencers now include a development  
environment
> where you can do whatever you like with MIDI events.
>

Exactly! Such as MAX. I wonder that fewer on the list have spoken  
up about score pre-processing/geberation using other programs. I use  
CommonMusic, since I can import MIDI files in and easily generate  
Csound note lists out, *after* I carefully twitch the long lists of  
parameters I always seem to leave in my instruments. And even  
continue to edit these parameters again and again until I get the  
desired results.
I also have used/occasionally still use PERL for this: it's truly a  
hacker's dream language for twitching data fields (I guess I know:  
I make my living that way, currently). If have used Cscore, but I  
cannot say I am skilled at it: perhaps if I were I would have  
finished my article on note list editing. All these methods require  
that the composer learn a computer languge skill. But this does NOT
mean that what results is "algorithmic composition"!!! As I said,  
one (meaning me) can start with a MIDI file: even one generated by a  
standard notation editor such as Finale. Many of my best sounds  
start out as an idea jotted onto standard music staff paper! But to  
get to the final result, I ALWAYS edit the note list extensively,  
and interactively. I cannot recommend CommonMusic too much for this.
And for those put off by Lisp, please try PERL (after all, it's the  
existing standard for CGI, also, and is a "cool tool"  
I.M.not-so-humble.O \), and for those c programmers out there:  
there's alway cscore...just link in libcscore.a, and away you go,
for both algorithmic composition AND much needed note-list editing.

Much of what people don't like in music produced by Csound and  
related ilk can be traced to inadedquately edited note-lists.
(And I include *most* MIDI 'real-time' input in this class:
does your keyboard/sequencer *really* encourage lots of control  
codes in the MIDI stream? Do you hook them up to note list  
parameters?)


Just my .25 cents, no, make that .50 cents.

CharlieB