Forums > MaxMSP

controlling time between grains & speed in granplay~ (by GranTK)

July 21, 2013 | 7:04 pm

hi there using granplay~
would like to control time between grains and speed by using an external control. There doesn’t seem to be any inlets to those perimeters.

Does anyone have any idea how to either connect or make an inlet to these perimeters?



July 21, 2013 | 7:08 pm

sorry just to be clear it’s the rgrano object….

July 22, 2013 | 12:32 am

I’m not familiar with granplay, but the rgrano abstraction has the parameter controls you mention; it lives here: Max/examples/sampling/granulation


July 22, 2013 | 3:54 am

thanks for that –

I have the rgrano object going ok, but want to be able to patch something into control the time between grains, and speed speed perimeters.

I can’t see any inlet, or way to connect a patch cable to those controls.

any ideas?

July 22, 2013 | 5:19 am

And where does the rgrano object reside? Inside an external? If so you can’t hack or adapt it to add functionality. Did you look at the example I referred to?

July 22, 2013 | 4:05 pm

yes thats the one I’m using, it lives in this path –

as you said.

it’s got no inlet or way of patching to the time between grains or playback speed – butI guess thats just the way it is which is a shame, it’d be nice to be able to add controls to those perimeters….



July 22, 2013 | 4:25 pm

Sorry, I’m still confused. I’m not familiar with GranTK and I assumed it used the Max rgrano abstraction. But if you open the Max patch called granularized (which uses rgrano), in examples/sampling/granular, those exact controls are there: grain interonset and scrub speed:

  1. forum


July 22, 2013 | 5:41 pm

sorry, yep thats the one – those are the two perimeters, I want to be able to control those with colour tracking, but can’t patch any inout to control them.

any ideas?

thanks for all your help and time


July 22, 2013 | 7:06 pm

You patch it the same way you patch anything in Max.

1. What range of data values (float/int) does the granularized patch expect?
2. We’ve got no idea what you’re using for color tracking, but you need to find out the range of data values the color tracking stuff spits out for whatever kind of tracking you’re doing.
3. Compare the ranges. Do you need a scale operator to convert the output data range from whatever color tracking you’re doing to the expected input data ranges? If so, put one in for the two granularized patch parameters you want to run.
4. Listen and rethink.

July 22, 2013 | 8:12 pm

1-2 i have my ranges sorted –
Just can’t patch to those perimeters. there are inlets in the rgrano for other perimeters except those two (time between grains, and speed speed perimeters) – so wondering how I can patch into them…

then i can pay further with ranges etc….
i’ve attached a way i’ve starting looking at working with the patch

thanks heaps


  1. granplay.maxpat
July 22, 2013 | 10:45 pm

sorry just meant to add, the time between grains, and speed speed perimeters won’t let me patch like other things, sorry thats the point i’m trying to solve


July 23, 2013 | 12:53 am

Ok, I think I’ve successfully navigated the problem description. What you’re talking about is the [bpatcher]. If you unlock the main granularized patch you will see that there are inlets for a number of parameters; sadly speed and interonset aren’t among them.

So, you will have to do some hacking. Open the rgrano abstraction and click the Presentation mode button to see the entire patch. Over on the left hand side are the two control parameters you seek. Connect your "colour tracking" values here.

If you make and save any changes, this will alter the rgrano abstraction, so you might want to rename your edited version so as not to break the tutorial patch. Navigating this type of patch can be a little opaque or challenging. Look at the right hand side of the granularized patch – there is an object called rgrano.maxpat.drumLoop.aif – this is the object you are changing when you edit the rgrano abstraction.

I still find terms like "abstraction" "bpatcher" "external" a little, umm, abstract, but only cuz I is fick init.


July 23, 2013 | 2:54 am

. . . just to clarify an important point, to avoid further sorrow:

The rgrano abstraction itself contains an important subpatch, which resides inside the [poly~] object; I think it’s called "grain" or "rgrain" or something similar. This will also need saved in the same location as your edited rgrano main patch. In fact to simplify the process, just copy everything inside the /granular folder (granularized.maxpat and lib folder) to another location on your hardrive known to Max, then edit away til your heart’s content. Happy patching ((c) Taylor, G. 2001).


July 23, 2013 | 5:34 am

I’ve attached the edited files, as described above



July 23, 2013 | 8:27 pm

hey brendan thanks sooo much, really appreciate all your time helping me clear this up –


Viewing 15 posts - 1 through 15 (of 15 total)

Forums > MaxMSP