so I had a bit more of a play with GRA…
I could not get it to crash, but for sure at high GrDur/NrDur the sound breaks up, and I suspect this is CPU.
(certainly CPU meter is going high)
note: this was pretty much just one GRA (and a few LFOs) running, so im sure in more complex patches cpu overload will get more serious.
(as mentioned on another thread, Ive delete factory presets, so not sure what the above has going on in it, but I suspect reverbs and things)
BUT… then I started rather than testing it, and trying to break it, I started looking at it in a more ‘musical context’ i.e. how I’d use granular - and then I found that I was not really hitting the limits, nor having sound issues.
so the thing we have to look at hear is what the parameters are doing …
GrDur , changes the duration
GrCo+Fi, is frequency of grain trigs (come back to this )
NrGr, is max grains… it’s NOT the number of grains active.
so the faster you trigger grains, (grco) and the longer (dur) they are, the more grains you have 'active’
i.e. the more bits of sound the SSP is having to generate…
NrGr is just there to put a cap on this, it IS the ‘safety’ valve, to stop you running out of processing power.
I typically use granular in one of two ways…
a) lots of very tiny snippets of audio, very fast - at audio rate.
this creates a pitched effect.
b) a few grains, (often externally triggered) but of a longer duration
this when modulating start, and cause some lovely smearing sounds.
kind of based on the original sound.
usually I would not create huge number of long grains, because it becomes a kind of mess and noise, since there just so much ‘uncorrelated’ grains going on.
also heres the thing… if you set the grain duration high and at audio rate generation, we can get feeling where the max number of grains is.
so it starts to make me wonder, why even expose NrGr to the user?
if you use a single GRA patch on its own… you could almost calculate the maximum allow given processing power.
the issue is in a modular environment like SSP, you might have many GRA, or other modules using up a lot of cpu… also the cpu load may not be constant e.g. I might be triggering grains based on midi or a sequencer.
so, they way I found myself using NrGr, was setting it as low as possible to still get the desired audio effect,
using it as a way to limit CPU load of this module.
anyway for me (and this is personal opinion only) , whilst I can see from a technical standpoint, perhaps the SSP/GRA could try to ‘protect’ the user from using too much CPU (by it auto limiting NrGr),
in practice, once I started trying to sculpt sound with it, I didn’t really have an issue with it.
I guess one could invoke the ‘guitar feedback’ meme…
engineers are encouraged to make things work as expected… but with musical instruments, sometimes its better for them to let the musician do unexpected things, let them go beyond what the engineer expected or designed, find the limits themselves - and let them come up with something new … or break it