Glad I could share it! I’ve been surprised to see that it’s not frequently mentioned, as I think that it’s a spectacular toolset. There are a lot of really great finds in the Max Package Manager. Others to check out:
-MC Movement Studies. This is an inspiring collection of sequencing techniques and more. Dillon Bastan really has my attention lately between this and iota. There’s a really solid Cellular Automata sequencer in here that is fun to pair with microsound stuff.
-karma (by @rodrigo). Most of you know this one already, but it’s nice having it in the Package Manager. Not granular, but covers my sampling needs that petra doesn’t.
-ml.star. Machine Learning objects. There’s a very nice self-organizing map widget. If you build a granular tool, try training this with parameter sets for preset morphs.
-sensel. I’ve been preaching wherever I can about the Sensel Morph. It’s my favorite compact controller as I can carry a small pouch when I travel and have MPE, drum pads, etc. This allows you to tap directly into the sensor data, making it a great choice when building granular tools.
-smFilterPack. Really good sounding filters to add to your microsound explorations.
-ACToolkit. If you need a good granular noise source, the jeynoise~ object is very flexible. The built-in examples include a really unusual random VOSIM patch.
I’ve never been able to build a good one without externals (or at least one that sounds close to as good as [munger~]). I got close trying to hack a Max version of the granular-delay module in Automationism/PD, but it didn’t work perfectly cause [tapout~] doesn’t work the same way as [delread4~]/[vd~]…
@analogue01 I didn’t know munger~ was a thing! That’s good to know.
In the mirror maze above they interestingly use delay~ instead of tapout~.
Beginners mind just sent me down the route of using a buffer~ to do this instead of a delay. It means a grain is always going to be delayed by the grain length, but would also let me do things like modulate grain playback heavily. Might just embrace the latency as I want to use it on a track as an effect, but not actually in a live way…
So, with a fair amount of noodling around I’ve put together this somewhat unusual real-time effect. I think it exists somewhere between delay and granulator - as it is designed to be clocked to tempo, but is really very granular at its core.
The idea is this:
Instead of spraying random grains around at random pitches, capture a grain then loop it to make a steady grain stream. Put an envelope on the stream and trigger those instead. For now, I’m calling these fragments, to separate them from the grain controls in the patch.
Within each fragment, there are actually three streams, and these can be different pitches (chords!). There’s a button to reverse the streams and a pitch multiplier that’s nicely playable. And I stuck a crude wow & flutter emulation on the input.
Have a go. You need to press play, and there are some presets:
I think this there are a number of possible directions for this, into more of an instrument. Does anyone have any cool ideas for it? I don’t have a grid, but I think the number of controls and liveness would lend well…
This thread reminded me i’d never posted my own sample-accurate looper external for Max here before(after devving karma~ i created this, rezer~, to be a bit like karma~ but sample-accurate, plus other things…).
Here’s the thread about the object: Rezer~ - a new(ish) object for Max (+ more from raja)
But the .zip posted above has a patch where I hook it up real simply to create a granular engine with a windowing overlap of 2(i didn’t hook up the recording part, but since the object allows recording positions separate from playback, you can also use this for robust live-granular-processing easily). Try the “RezerGranny” patch above, opens up real self-explanatory-like to get you started. Cheers