Welcome to %s forums

BrainModular Users Forum

Login Register

Self-Evolving Looper Question

I need help on a Patch
Post Reply
Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 21 Aug 2008, 13:58

Hi!

I'm trying to figure out ways how to make a patch that will record a loop of my playing and then rearranging it in varying ways over time.
It could be either audio or MIDI, if one is simpler, I'd start with that.

For now it seems that the "Live Looper Slicer" patch would be a good starting point.

I would like to switch RND on different conditions.

The following is a list that of some possible conditions:
1) If loop count=x, then RND (for and example 8 times each combination).
2) If some other randomized parameter=X, then RND (for an example Pan)
3) If certain notes are played in order (input) - MIDI or audio to MIDI
4) If certain slices are played in order (for an example 1, 2, 3, 4 of 8)

One problem with these methods might be that it gives results that are at one hand unpredictable and on the other hand too predictable (always randomizing at a certain number of repeats, but completely changing while doing so etc).

So one idea is to store (some) of these randomizations and return to them once and a while to give some sense of structure.

Also one idea would be to limit the RND somehow - like, allowing each slice to play only once during a cycle.

So, how to do any of this?
Even more, does anybody have any experience in doing these sort of things, what are the results likely to be?

Am I wasting my time and some other approach would be better to generate evolving patterns of improvised input?

A lot of questions, I'll stop....for now :)

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 21 Aug 2008, 14:38

A lot of questions indeed!

If I understand you correctly, the basic problem is saving the randomized values for later recall. If so, you could try to use the Preset Manager to automatically store the values right after the randomization. IIRC, you can have separate PMs in sub-patches so that the different parts (slices, pan, etc) can be stored and retrieved separately.

On the other hand; if my memory didn't serve me right about separate PMs in sub-patches, or that that solution gives problems because of other parameters being stored as well, you could try to save the newly randomized values. Either use the same type of module (Steps sequenced or whatever), or use the Array (Set or Display) or Array Editor. The Editor is sort of a favorite for me, as I can easily scroll through all the values when debugging, and I also don't have to think about setting min/max values.
Bjørn S

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 21 Aug 2008, 17:21

I investigated some and I could get the random values to the Array Editor.

Now I don't understand how to save them automatically and later retrieve them.
Right now, if I press RND, new values are stored to the Array Editor.

I could store the values manually with the "Preset" module though.

Also, how to add "if, then" conditions so, that the RND happens again at some condition - I guess the easiest being "number of cycles"?


Thanks!

PS. I have arrogant goals, but modest skills :)

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 23 Aug 2008, 17:00

Any pointers?

How to randomize slices on specified number of cycles?

And...

How to automatically store/retrieve these randomizations at another specified cycle counts?

Which of these stored randomizations is to be retrieved is another tough decision - maybe a RND between stored slots...

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 25 Aug 2008, 08:02

I haven't got time to go into details, but..:

You'll find counter sub-patches under Data/Counters. Use either of the Counter Simple patches, and connect the "cyc start" of one of the Interface Control/Synchro/Master Syncronization modules to "inc" on the sub-patch. Then you'll have to check the output of the sub-patch. If you use the Counter Simple With Max, you could for example connect the output to Math/Delta (X - previous X) and then use a Math/Logical/A<B to check whether the delta is below 0. There you have your random trigger.

You could also use counters in combination with Data/Dispatcher and Data/Selector to sort of scroll through what arrays to store and retrieve.
Bjørn S

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 25 Aug 2008, 15:10

Thanks!

I got the randomize going at specific cycle counts - sounds cool!


But I don't understand the Data Selector/Dispatcher usage.
Used trial and error, but at these complexities it simply doesn't give results.

You've been a great help already.

Post Reply

Who is online

Users browsing this forum: No registered users and 12 guests