1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Cellular Automation?

Discussion in 'REAKTOR' started by opiumx, Mar 31, 2003.

Thread Status:
Not open for further replies.
  1. opiumx

    opiumx New Member

    Messages:
    9
    ...

    I owned a kyma system once, it had a cellular automation module, which I
    never got around to figuring it out. I never had the time to learn that
    system at all, just played with it a bit, then sold it, cause $3300 is alot
    of money for something just to play with a bit. If you are heavy into
    modular stuff and audio synthesis, its a great system. Im sticking to
    reaktor till I learn the basics, then maybe Ill get a kyma again..
     
  2. fm 2030

    fm 2030 Forum Member

    Messages:
    190
    Cheers Clist,

    Excellent - it works, it really works! And now I understand how to draw into tables sensibly :-/. Also thanks for commenting your ensembles so thoroughly - you're slowly but surely giving me a bit of an intro to programming; this, newtonian bouncer et al are excellent.

    As for creating good music from CAs.... Bah, as long as the algorithms interesting, right - errrr, right? Thinking how to map things sensibly is definitely a tough cookie to munch. I have heard a couple of examples that I've quite liked - I'm hazy on the details, though; one where on/off states of different slices of a waveform were decided by x and something else by y (seemed pretty arbitary but sounded ok) and the 1st one of these (from the top link on google) I liked better than I expected, also. The latter wasn't game of life, but the parity rule, where a cell will be alive in the next frame if there are an odd number of neighbours (including self). I'll have a bit more of a tinker and a think anyway - maybe hack into the ensemble and change the rules, depending how much time I spend on it before getting back to other work.

    Regards,

    Peter
     
  3. CList

    CList Moderator

    Messages:
    3,299
    Heh, I looked at the ens. and was sorry about how *un*-commented it was :). I seem to recall writing up a whole step-by-step thing about how it worked for the main macro, but the fact that it's not in there (or in any of my other local copies of it) leads me to beleive it was one of those cases where I wrote it all up and then clicked on something before I hit *enter* and so none of it was saved. Then I was too pissed and lazy to write it all over again.

    Incedentally, the "Order By" modules connected to both the RX and the R of the EventTables are unnessisary. All audio inputs "look backwards" at their sources when they need a value, they don't wait for values to come in. Therefore, when you have an event output feeding both an audio in and an event in, you can, for all intents and purposes, assume the audio input will get the event first. I did this ens. before I was comfortable with this theory, and so put the OrderBy's in there just to be sure.

    Also the macro name "8-channel Seq." is from a totally different ens. and has nothing to do with this GoL ens. You can rename it "MainTable" or something :). All that modulo stuff in that macro is just there to make the event values "wrap around" at 32 even if the table is larger than 32 - in which case you can't trust the table's built-in "wrap" feature.

    As for why the EventDelay with time of 0ms is in the main structure, see JohnNowak's thread concerning randomization where I talk about the "ForLoop" over-flow problem. You can try taking it out, but it'll probably crash.

    Needless to say, the "CheckCell" macro is where all the really good stuff happens, I leave figuring that one out as "an exercise for the reader" :p

    - Chris
     
  4. CList

    CList Moderator

    Messages:
    3,299
    ...I'd be curious to know what the highest "Rate" setting people can get is and if it's different on different machines. Mine Speeds up until 10.5, at 11 it runs slower like it's skipping events, and at 11.5 it stops completely.

    Hmmm, it also seems to be dependent on the Control Rate in a strange way. I had mine set at 400Hz, but it's different for different CR settings.

    - CList
     
  5. sowari

    sowari Moderator Moderator

    Messages:
    27,759
  6. fm 2030

    fm 2030 Forum Member

    Messages:
    190
    Actually, you're right, I'd only looked very briefly when I made that last comment. I'd been able to look inside and find checkcell, which seemed to make a bit of sense, so I assumed all was good. Your extra comments are helpful. I guessed event delays of zero were equivalent to the 'do nothing' object in pd for preventing stack overflows.

    Actually, I forgot to comment on the snapshot names; I don't know how relevant 'Break->recycle->house' etc will ever be here ;-) - but perhaps this could've indicated that the ens wasn't quite as finished / polished as it could be.

    If I put AR to 66150 and CR to 1600, I can get it running at about 33 (which uses ~88% of my Athlon 1800+)

    Peter

    p.s. Am I right in thinking table contents *cannot* be stored in snapshots (other than by some irritating workaround)?
     
  7. '

    ' Guest

    I haven't managed it :)

    mark
    www.darklogik.org
     
  8. CList

    CList Moderator

    Messages:
    3,299
    Done. I also added a whole bunch of comments, better instructions for running it, and deleted all of the snapshots (since they didn't make sense!). For some reason the ClearTable is running when the ensemble loads, and I can't figure out why - oh well, the forloop in V4 will hopefully fix that problem :) so there's no point in saving it with an initial table setting and have it load up that way. Instead I have a bitmap in there with a sample that you can draw yourself and try for cool results.

    It's here;
    http://www.mindspring.com/~clist/reaktor/GameOfLife03.zip

    I thought I remember people saying it bombed on Macs, if that's the case, sorry can't help ya, until maybe v4.

    - CList
     
  9. CList

    CList Moderator

    Messages:
    3,299
    Ha! I found the bug that was causing the table-clear to run on initialization, it had to do with the way I did the "For-loop" where I wasn't using a "EventValue" module on the "next" input like I should have (I don't know why I did it that way). Anyway, I had to change all of the for-loop macros, and put a router on the event-delay (event delays fire an event on start up, always). Now you can just start it up and hit Run (and if you've used my for-loop anywhere, use these ones instead - sorry).

    I've replaced the ".zip" file so just click the link in my last email.

    - CList
     
  10. CList

    CList Moderator

    Messages:
    3,299
    Huh, I can't get higher than 31.5 with the same settings on my P4 running at ~2.1GHz. 31.5 - it uses 94% CPU, any higher and I pass the CPU % cutoff.

    ...and no, you can't save table data with snapshots, unfortunately.

    - CList
     
  11. CList

    CList Moderator

    Messages:
    3,299
    For you hardcore Game of Life wankers, I whipped up a 64 x 64 version this morning. The quadrupling of the number of cells now causes the "ClearTable" and "CopyTable" to crap out due to that "event going through too many modules" problem with the "for-loops", so I had to add EventDelays to each of those. In those cases, however, I was able to add it to the outer loop, which doesn't slow things up too much.

    So for the "LoadTempTable" macro, you have:
    For Y
    For X
    ...do a lot of stuff...
    EventDelay
    Next X
    Next Y

    For the simpler "CopyTable" macro you have...
    For Y
    For X
    ...do very little stuff...
    Next X
    EventDelay
    Next Y

    I also included a 3-channel oscope so you can watch how long things are taking (the LoadTempTable takes about 124ms each time it runs) and see how close you are to running at too high a rate.

    You can find the ens. zipped here;
    http://www.mindspring.com/~clist/reaktor/GameOfLife03big.zip

    - CList
     
  12. ecook

    ecook NI Product Owner

    Messages:
    24
    ...

    morning.

    This is awesome. I can"t wait to wrap this term up so I have some time to
    screw around with this (and R4, of course!).

    -Eric
    http://www.simulated.net
     
  13. johnnowak

    johnnowak Account Suspended

    Messages:
    1,142
    I said dealing with the tables would be kind of rough for that amount of data, but fm 2030 was like no no no no you're an idiot john... hehe. *ahem*
     
  14. '

    ' Guest

    I'm gonna seem like a right idiot... but what use is all this, again?

    cellular automation?
    mark
    www.darklogik.org
     
  15. CList

    CList Moderator

    Messages:
    3,299
    Ummm, for making music you mean? Hmm, gee, good question.
    I don't know, but it sure looks cool and old skool comp sci geeks like me go ga-ga for the Game of Life! :) It was reallly just a "proof of concept" thing fopr me to see if I could do it, but the next, and more ambitious goal for me anyway will be to come up with something cool to do with it musically...

    - CList
     
  16. '

    ' Guest

    that's good enough for me :)
    I find it hillarious when someone comes up with an amazingly flashy new technique or idea and everyone crowds round, then you ask what use it is and they go "errrr..." and the whole thing is abandoned!

    glad to see that's not the case here!
    mark
    www.darklogik.org
     
  17. opiumx

    opiumx New Member

    Messages:
    9
    ...

    Its actually not new. Anyway, there are lots of files out there for csound
    and max/msp and supercollider out there. Kyma has modules as well. I started
    the topic cause I wanted to know if it was possible in reaktor. Thanks for
    all the info everyone.
    .
     
  18. ecook

    ecook NI Product Owner

    Messages:
    24
    ...

    In theory, you could get a lot of musically applications out of CAs, since
    they"re generating patterns w/variations out of a set of simple rules &
    components (sounds like half the CDs I own). The hard part is the mapping,
    converting the CA behavior into something that is musically meaningful.

    There are a few people that have done some interesting things with the
    approach.. take a look at Eduardo Reck Miranda"s software, for instance.
    http://website.lineone.net/~edandalex/celautom.htm


    -Eric
    http://www.simulated.net
     
  19. telxosss

    telxosss Forum Member

    Messages:
    54
  20. opiumx

    opiumx New Member

    Messages:
    9
    ...

    Yea I like that app. I cant find the website to buy it tho. All dead links.
     
Thread Status:
Not open for further replies.