like rand~, but driven by a ramp?

Wetterberg's icon

hi gang,

i'm hoping to be able to construct a repeatable audiorate noise thing that I can drive with phasor and the like, but I am drawing a blank in my fried lil' brain.

I am hoping to be able to do this simpler than scanning a random buffer, or stuffing a stash~, for instance.

it could also be a pseudorandom from fm'd cycle~s, something like that?

cheers

MakePatchesNotWar's icon

"a repeatable audiorate noise thing that I can drive with phasor"

Hmmm, Instructions unclear. You want phasor to interpolate between the old and new values? Something like a S&H but with a slew?

(i think i understand; You're basically looking for a lookuptable filled with random values to scan through with phasor?)

MakePatchesNotWar's icon

Like this i suppose but i don't see how this doesn't qualify as simple? What do you mean by that?

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



Wetterberg's icon

hey, thanks for sharing!

>(i think i understand; You're basically looking for a lookuptable filled with random values to scan through with phasor?)

precisely.

yeah, ironically my brain postulated that this isn't simple, so instead I rolled something that is arguably more complex, and then came here for the sanity check

what I rolled up was very similar to this, but just uzi-> rand 1. -> zl group -> stash~

I guess I thought there would be or ought to be stock objects that did this, even though I was pretty certain it didn't exist.

thanks again.

MakePatchesNotWar's icon

"so instead I rolled something that is arguably more complex, and then came here for the sanity check"

Yeah i recognize that all too well...

For practice i also made a Gen(expr)-version btw which runs a function only in the first sample to fill its internal buffer.
It might be handy to have especially because of that and is easily modified. For verification i recommend closing the patch and re-opening it instead of actually using the clear-message of capture~ because of timing issues

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

Matteo Marson's icon

Hi,

I agree that reading a noise buffer is the most simple/flexible approach.

In case you don't want a prefilled buffer, you can use a hash function to generate the noise values at audio rate:

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

Here, i'm using linear interpolation for the random values (like rand~ does). If you need the looped noise to be aliasing-free, it's better to use a smoother interpolation.

MakePatchesNotWar's icon

I'm sorry i disappoint i know but i'm still on 8. Can't view the patch

Matteo Marson's icon

This version should work in Max 8:

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

MakePatchesNotWar's icon

It does, thanks! Definitely saving this to study/use later!