Csound Csound-dev Csound-tekno Search About

Re: perl / python, was apspec activity: music for single stack

Date2004-04-24 02:01
From"iain duncan"
SubjectRe: perl / python, was apspec activity: music for single stack
> Gerald's perl scripts are very cool, they allow him to write patterns in a
> spread sheet like excel, and then his program scans the csv file to
> generate score info. That's a bit of a simplification, but he is able to
> use the spreadsheet as a composition tool for scores.

Sounds much the like the approach I have been using. However, I've been
using gvim because the vim module for python allows you to query and control
gvim as well as work on the text, which is proving to be extremely useful.
( After the first hurdle of learning how to use, as it is rather under
documented . . . ) In addition you can write functions that work on the data
from gvim but not through gvim, by exporting the whole file to stdout and
using a system call to a python script. I've abandoned the latter as my main
method, but it could certainly be useful for people adding their own
functions who don't want to make them vim-centric. The vim interface is dead
cool though.

For instance in addition to working on the text in the buffers, I can move
the cursor, look at a visually selected range, move windows around, and make
system calls. I can also keep persistent python variables or classes in
memory for the duration of the gvim session which will be handy for having
multiple clipboards and filters in memory.  I want to make it possible to
create easily several pattern or grid based filters, select one, and have
whatever operation is being done be done through that filter.  So perhaps
one might do something with a simple command, but based on the current
filter this might be applied only to every third step and only to columns 5,
7, and 9 for example.

I am also keeping the event list and functions seperate from the processing
to score so that one could write a process to midi file instead or to a
different score format. I don't expect the approach to be a universally
useful one, but it will be very useful for people who like step sequencers,
and want to make complicated patterns of modulation data, which is an
absolute pain in the ass in both score notation and regular multi-track midi
sequencers. I expect techno heads and fans of Steve Reich to like it. = )

At the moment it is aimed around using mostly 7bit values because it also
can be used to make files for my sequencer to play, and that uses 0-127 on
account of using a lot of midi input. This could easily be changed though.
Ok, must run now, but tomorrow night I should be able to take some time to
put the sample conversion to score script, the gvim file, and the first
useful function up on the web. These are already usable if you write your
instruments accordingly, but are still quite limited and subject to change
without notice! ; )

Iain



>
>
> On Fri, 23 Apr 2004, iain duncan wrote:
>
> > Thanks Brian, I'll check that out.
> >
> > Iain
> >
> > ----- Original Message -----
> > From: "Brian Redfern" 
> > To: 
> > Sent: Friday, April 23, 2004 2:27 PM
> > Subject: Re: [CsndTek] perl / python, was apspec activity: music for
single
> > stack
> >
> >
> > > If you like python, its worth looking at pmask, which does everything
that
> > > cmask used to, but with python. Its more than a step sequencer, you
can
> > > use a bunch of different algorithms to generate scores, but you can
also
> > > just use it for step sequencing. I've just gotten into it, and am
still
> > > learning how to use it, but its very promising, so when I get some
> > > tune-age going, I'll post a link to the list.
> > >
> > >
> > >
> > > On Fri, 23 Apr 2004, iain duncan wrote:
> > >
> > > > > I used perl to automate the process of writing the csound score
file.
> > > > > Then I used csound in deferred time to render the sound file.
> > > >
> > > > Care to share more details? I have been working on the same thing
with
> > > > Python, so I'm quite interested.
> > > >
> > > > For others interested, I will soon be putting out my very alpha
first
> > set of
> > > > tools for text based step sequencing using a modified gvim and
python
> > > > scripts. Basically it's like a tracker/event list approach with 1
line
> > per
> > > > sixteenth note ( though that can change ) and one instrument per
> > sequence
> > > > file. This then gets processed into a big score. I'm still hashing
out
> > some
> > > > details though, but it works. Generated a functional score from
> > multi-track
> > > > step lists yesterday.
> > > >
> > > > I've come to the realize that the score language is beautiful in
it's
> > > > elegant simplicity but not so fun to edit directly. On the other
hand,
> > it's
> > > > a dead easy to format to automate.
> > > >
> > > > Iain
> > > >
> > > > >
> > > > > Have a nice weekend!
> > > > > - --
> > > > > gerald wenzel
> > > > > music: http://apspec.com
> > > > > linux & code: http://geraldwenzel.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > -----BEGIN PGP SIGNATURE-----
> > > > > Version: GnuPG v1.2.1 (GNU/Linux)
> > > > > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
> > > > >
> > > > > iD8DBQFAiSVAIpVgmwHkjoURAuBcAJ43xc1DEg4vyDzRSgvIJmKxYkPV5gCfZ6/K
> > > > > fXs6fE6NEedZkdruCJKSiyg=
> > > > > =eF9k
> > > > > -----END PGP SIGNATURE-----
> > > > > _______________________________________________
> > > > > csoundtekno mailing list
> > > > > csoundtekno-N4abDuUB7xo@public.gmane.org
> > > > >
> > > > > Subscribe, unsubscribe, change mailing list options:
> > > > > http://plot.bek.no/mailman/listinfo/csoundtekno
> > > >
> > > > _______________________________________________
> > > > csoundtekno mailing list
> > > > csoundtekno-N4abDuUB7xo@public.gmane.org
> > > >
> > > > Subscribe, unsubscribe, change mailing list options:
> > > > http://plot.bek.no/mailman/listinfo/csoundtekno
> > > >
> > >
> > > _______________________________________________
> > > csoundtekno mailing list
> > > csoundtekno-N4abDuUB7xo@public.gmane.org
> > >
> > > Subscribe, unsubscribe, change mailing list options:
> > > http://plot.bek.no/mailman/listinfo/csoundtekno
> >
> > _______________________________________________
> > csoundtekno mailing list
> > csoundtekno-N4abDuUB7xo@public.gmane.org
> >
> > Subscribe, unsubscribe, change mailing list options:
> > http://plot.bek.no/mailman/listinfo/csoundtekno
> >
>
> _______________________________________________
> csoundtekno mailing list
> csoundtekno-N4abDuUB7xo@public.gmane.org
>
> Subscribe, unsubscribe, change mailing list options:
> http://plot.bek.no/mailman/listinfo/csoundtekno
>

_______________________________________________
csoundtekno mailing list
csoundtekno-N4abDuUB7xo@public.gmane.org

Subscribe, unsubscribe, change mailing list options: