Hi Steven -
Forgot to reply to this - Sorry and thanks again for your reply. I'll give it a go - keep in mind I use CM-1.4, not 2.0.
I always assumed the ItemStream concept was based on set theory.
You have a series (here called an ItemStream) - it has some qualifying
keywords which modify how the stream is read. There are a few
different types of Items defined in CM - pitch, rhythm, and a few
others, which have some special behavior. You can nest the streams for
musically interesting results, which is really where they get
interesting. There is more functionality to them, but I use them
basically for these reasons.
An ItemStream gives an item every time it is evaluated, it's best illustrated by some examples:
(item (items 1 2 3 4 5))would yield '1 2 3 4 5' if evaluated five times,
(item (items 1 2 3 4 5 in random)) would yield some random set contain any of '1 2 3 4 5' if evaluated five times,
(item (items 1 2 3 4 5 in heap)) would yield some random set contain
some combination of '1 2 3 4 5' if evaluated five times, without
repeating any of the members more than once, as in basic 12-tone
composition.
(item (items 1 2 3 4 5)(items 1 2 3 4 5)) would yield '1 2 3 4 5 1 2 3 4 5' etc
(item (rhythms s s e) tempo (tempo 60)) would yield startimes for your
notes based on a 16th-16th-8th rhythmic pattern at 60 bpm.
There are a handful of these modifiers which, combined with some
programming knowledge, can yield some interesting musical
results. The full docs for ItemStreams is still mirrored online
here:
http://www.notam02.no/internt/cm-sys/cm-1.4/doc/dict/item_streams.tpc.html
The entire CM Dictionary for 1.4 is here
http://www.notam02.no/internt/cm-sys/cm-1.4/doc/dict/index.html
I use it very often - for everything from generating dense textures and
crowd sounds to programming beats, chord progressions, and melodic
ideas for pop songs (and lots in between). I do a lot of music
for films, and often I want quick sketches of elaborate ideas so it
comes in handy there. I usually take the results from CM and vary them
by hand, rather than just take the result of the algorithm
blindly. I'd like to automate _some_ of that variation-by-hand,
and extend the framework, so I am porting this to a language I'm more
comfy with.
Thanks for asking! b
PS - there was a book on CM that was due to be published by MIT press,
and I think the author was Mary Simony. Anyone know what ever
became of it?
<snip>
BTW: I'm not sure if you have time but could you explain the
ItemStream concept from Common Music? The last time I had a working
common music system on my computer was a couple years ago and when I
got into it I remember having problems with the way it abstracted some
ideas about time and music; it'd be great to hear your thoughts on it.
Thanks and also Happy Holidays to all!
steven
</snip>
On 12/21/05, Ben McAllister <benmca@gmail.com> wrote:
> Hi all,
>
> I've been lurking since 1996, but rarely write - so, first, THANK YOU to
> you devs for csound5 - I'm a software dev myself during the day and
> understand the investment you are making. Thanks so much!
>
> My question:
> In an effort to reinvigorate my Python skills, I'm going to port my
> favorite bits of Common Music 1.x to Python, particularly the ItemStream
> concept and a few other things I frequently use. As many of you know, it's
> a good fit within Steven Yi's excellent program blue, and the last drop of
> csound5 included a python wrapper for the Csound API. I'm excited as well
> about the GUI-building possibilities between this wrapper and the Python
> ugens Maurizio Umberto Puxeddu contributed. But I digress...
>
> Looking for starting points within the csound world, I've found the
> following: athenaCl, Steven's Orchestra Library in the last drop of blue,
> and some in csoundVST. I'm playing catchup to a certain degree. There are
> a few examples in the last release of csoundVST which I saw, and I
> understand there is more in Silence, but it appears to no longer be hosted
> at csounds.com. Is it still available anywhere? Someone is using the name
> at sourceforge :( I noticed that Michael Gogin's site is down due to it's
> popularity, so perhaps it's there waiting to be downloaded.
>
> So, csound community, do you know of any other
> algorithmic-composition-related python resources which I might find useful
> in this endeavor? I'm wondering if someone hasn't already invented this
> wheel. I'd much rather get back to building instruments and making music ;)
> Seriously, I'd rather build on something others are using than reinvent the
> wheel.
>
> Merry Christmas and Happy New Year from Seattle,
> Ben McAllister
> http://www.listenfaster.com
>
>
--
Send bugs reports to this list.
To unsubscribe, send email to csound-unsubscribe@lists.bath.ac.uk