Randomize patch parameters

alkopop79's icon

I wonder if there's an easy way to randomize parameters of different kind (int, float, symbol)? I guess the pattr object is the key but how? Any help would be appreciated!

johno's icon

Fill a [coll] with your different "random" values and use [random] or [urn] to send them out in random order

alkopop79's icon

Thanks but how do I connect the parameters with the random number generators? What if I need to connect lots of parameters of different types to generators?

johno's icon

Have a look at the help files and play around with the objects. My explanation will make sense pretty quickly

alkopop79's icon

Will do then, thanks!

alkopop79's icon

What I still want to know is how to bind to multiple parameters and randomise them. How can I access dozens of parameters and bind them to random number generators?

tegid o's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Not sure exactly what you are after, but here is a very basic example.

alkopop79's icon

Hmm, thought about it but it means having to create a random generator to each and every slider, dial etc. Thanks anyway!

tegid o's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Ok, but each parameter is going to need its own range of values, yes? Still not sure what you want, but here's a variation on the approach.

alkopop79's icon

Also, I would like to b able to control the amount of random in percentage applied to the parameters.

tegid o's icon

In the last example, the input into the third inlet of [drunk 100] does this

alkopop79's icon

You keep blowing my mind. Thanks!

Peter McCulloch's icon

If you use the live.number, live.dial, etc. objects you can use the "rawfloat" message to do randomization within the object's min/max bounds without having to know what they are first.

You can see it in my EML-200 project if you go the sequencer and check out the randomization code.

Steven Miller's icon

Here's something I put together to help me randomise incoming float values within +/- a given percentage - it might work for you.

Max Patch
Copy patch and select New From Clipboard in Max.

save as sm.within%.maxpat:

Max Patch
Copy patch and select New From Clipboard in Max.

and save as sm.within%.maxhelp: