|
>Date: Tue, 21 Sep 1999 06:44:10 -0700
>From: Prent Rodgers
>
>Many people write their own score generating languages using C, Perl, or
>in my case Pascal. The program I wrote takes ASCII text files as input
>and produces .sco files as output. A description is on my web site. Can
>others on the list discuss how they do the score generation?
In Python. (http://www.python.org ... it's free)
I agree with the author of Pscore (a Perl score generator)
that Perl wasn't the best way to go.
The Python libraries I use currently are still in development,
but will made freely available once I'm no longer embarrassed to show
the code in public... a few more months, I think.
I think the most interesting feature of my own code is that
the score generation is a separate module. Thus, all the other code
could in theory made spew .sco files or .midi files. I have
generalized the concept of a note (a la pp 57-59 of "Experiments in
Musical Intelligence," Cope, 1996) into streams of note events which
are adjusted according to their context. I'm mainly interested in
dynamic adjustment of intonation, in an attempt to capture something
like what violinists and singers do, namely inflect pitches for
expression.
I'm also very interested in microtonalism, so the goal is to
be able hand my library something like this (I use abc format) "dff
cee|def gfe|AFA B2c" and generate scores in various tuning systems
quickly. The code currently understands the .scl files which come
with SCALA and so remapping one's note names to another tuning system
is fairly straightforward.
Of course, since I'm also a huge techno fan -- though I'm
likely to end up making techno tuned to a Byzantine chuch mode in 10/8
time -- I expect to write some code to handle rhythmic patterns and
some automatic variations on those. I'm also working on a way to
generalize the idea of arpeggiation, but I've not decided on the best
model for that yet.
So, this software is a bit more than just a score generator.
Most of the compsing will take place using the libraries and your own
code, then generate the score at the end. I gather from reading and
various web pages that this is a common model. However, since I live
in several computer platforms (one home machine is Unix, the other
Mac) I felt I should have software that works on as many platforms as
possible, which left me with CSound and Perl or Python. Using C or
C++ or Java was right out since I like high level languages. Lisp was
left out, though I love it dearly, because I'm an unabashed Unix geek,
the lack of a decent, free Mac Common Lisp killed the idea.
I'm curious to know how many other people give up on available
"composers assistants" and write their own code and why.
--
William S. Annis wsannis@execpc.com |