Oopsy Granular?

Hi!

I’ve dig into some example for making granular synthesis in gen~ but I’ve just founds example that use buffer and data obj as file reader. I would like instead to have a direct input to granulaizer, sorry but i’m quite noob to gen~ and haven’t use max for a while…

(Sorry didn’t see this sooner – I usually just check the Oopsy section of the forum)

One way to adapt those is to replace the [buffer] with a [data] object, and have something write to the [data] in a continuous loop.

e.g. for a 20 second buffer at 48kHz you can have [data buf 960000]. Daisy has tons of memory so you can make the data quite large if you want. I ran an example using about 3 minutes of 48kHz memory with 32x readers, it worked fine. Maybe start with a small one just to test though, and then scale up later if it makes sense.

To continuously fill the buffer, use a [counter] with the length (3rd input) set by the data length (data’s 1st outlet) to get the write index. Route that to a [poke buf]'s 2nd input. Route an [in 1] to the poke’s 1st input as the source.

Now anything that would granulate a buffer can now granulate live audio input. You can also set up a “freeze”/“hold” mode by setting the poke’s input index to -1 while hold is enabled.

If you want something like Clouds’ position input, just subtract from the current write index (from the counter) and make sure to use @boundmode wrap on your readers (peek/sample/etc.).

Basically, it’s totally feasible to build a Clouds/Beads type of patch.

5 Likes

I have been looking at max gen → examples → ola granular and followed the above guidance
how to replace the buffer with a data object and write to it in a loop with the counter.
And it now works for live input.

But I cant`t get my head around what this means „You can also set up a “freeze”/“hold” mode by setting the poke’s input index to -1 while hold is enabled.“

I tried a lot and read the peek/ poke / data/ reference but still „poke’s input index to -1“ gives me no clue how to freeze.

@grrrwaaa could you give me a hint, or of course anyone else who understands this.

I know this is an old thread, but I thought I ask directly here instead of opening a new one.

I`d be really thankful for any guidance.

this is how my data/ poke and counter look.
Bildschirmfoto 2024-06-21 um 14.54.58