Re: Csound language
Date | 1997-03-20 19:58 |
From | Richard Wentk |
Subject | Re: 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. |
Date | 1997-03-20 23:30 |
From | Charles Baker |
Subject | Re: 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 |