Advertisement
Hi all.
Over the past couple of years off and on--and lately very seriously--I've been really getting into learning Csound, and using that as a jumping-off point for learning music theory. I figure that, since I'm already a programming geek, Csound provides an avenue for me to learn about sound design, music theory, etc. through the programming knowledge I already have. It's going great so far, except that coding scores one event at a time can be a real pain, so I've been looking at different front-ends (AthenaCL, Blue, nGen, etc.), and possibly at some point coding one myself. So I'm curious, how are others approaching score coding?
Peace,
--Andy
Over the past couple of years off and on--and lately very seriously--I've been really getting into learning Csound, and using that as a jumping-off point for learning music theory. I figure that, since I'm already a programming geek, Csound provides an avenue for me to learn about sound design, music theory, etc. through the programming knowledge I already have. It's going great so far, except that coding scores one event at a time can be a real pain, so I've been looking at different front-ends (AthenaCL, Blue, nGen, etc.), and possibly at some point coding one myself. So I'm curious, how are others approaching score coding?
Peace,
--Andy
Advertisement
Advertisement
-
Emacs.
Or, i think there are some midi->csound score converters, so you could generate midi via ${sequencer} and then convert, depending on the controls you want.
Or algorhythmic using Common Music, or whatever. I have generated note lists with emacs lisp in the past. Simpler than using CM, which is written by those CCRMA bozos and i wouldn't wish on my worst enemy.
But if you mean graphical, sequencer-type thing that is native to csound, i dunno, but you might look into pd.
Sorry if that was all useless. -
-
Thanks for the info.
I've looked at Common Music and I like the idea it's based on (using functional programming for algorithmic composition), but for functional stuff I find Haskell a lot easier to work with than LISP. I've looked at Haskore, but it's really geared more towards MIDI and while it can generate Csound scores, it doesn't seem to have much beyond very basic Csound support.
Ideally what I'm looking for is something that could take a (possibly XML-based) description of note/chord sequences, algorithms, etc. and generate a standard score from that. It wouldn't necessarily need a GUI or anything really fancy. I'm thinking it wouldn't be much more than a macro processor with some algorithmic-composition-oriented features and perhaps the ability to use plug-ins for user-defined algorithms. Once I learn more about how to deal with XML in Haskell, I'll try to code something like that.
Have a great weekend.
--Andy -
-
Now mind you, i'm no expert (not a real programmer, you see), but a couple of thoughts.
As for CM, of course it is a lisp package and therefore broadly functional programming, but as from much as i recall of it it really leverages a lot of the non-functional aspects of Common Lisp--makes a lot of use of macros and CLOS-based object stuff. Pretty much everything in CM is macros that make and manipulate objects.
As for what you are asking about, if your music is xml, then maybe the answer is to do an xsl transform to create music-xml. I think that's what it's called. In any case it's the getting-to-be-the-standard for xml-based music manuscript description format. I think finale and Sibelius will import it, as well as Rosegarded (IIRC). There might be some kind of music-xml->lilypond processor as well.
As for CM, well, when i first heard about it (like, 1998) i thought it sounded like the end-all-be all. But i knew almost nothing about programming, and nothing about DSP or lisp. After spending BIGNUM weeks working on it speread out whenever i felt like it over the years, all i have to show for it is a love of emacs and a smattering of understanding of CM, and a violent dislike for the undisciplined hackers who "maintain" CM (and CLM and CMN and snd). So i'm using this as an opportunity to blow off some steam.
There. I feel much better now. Thank you.
And finally, if you did want to go the lisp direction, CMN and fomus are notation packages that are specifically designed to work with CM and csound and so on... i think csound, anyway. Anyway i know you can theoretically generate notelists algorhythmically in CM, and pipe that automatically to cmn and clm or csound all at once. If you are teh uber hax0r, that is.
Once again, i guess this is not really very useful. I'm just blathering.
-
-