Granular modular output overload and number of voices?

Hi all. Working with the granular module, I’ve noticed that when I play lower notes, the audio seems to overload and temporarily shut the output down. I do have the level set to 0.08, so it’s pretty low already. The CPU meter isn’t going past 22% on this, so I’m guessing it’s not the CPU, but something affecting the audio output.
Looking at the output module, outs 1&2 are set to USB+Jack. I’m only using the jack outputs into a Boredbrain Optx. I’ll look into switching this to only Jacks 1&2, but I’ll have to do this later.
Also, I’m only able to trigger one note at a time (Sensel Morph into USB of SSP). More than one note can sound at a time though, as previous notes will still slowly decay, which tells me that there isn’t any voice stealing going on. Can I play more than one note at a time on the Granular modular? If so what setting(s) do I need to change?

I’ve not played with GRA that on latest released, though I do not think much has changed in terms of cpu usage etc.

In the past I’ve found the key to using GRA is playing with NrGr and GrDur… the issue is its quite easy to overload GRA. which results in audio ceasing or becoming glitches/distorted. this catches pretty much everyone out when they first use GRA… and is the most reported 'problem.

(‘voices’ do not exist in GRA, since its monophonic… its just grains)

really to understand the issue, we have to think a bit technically (*) .
more grains = more cpu… just a fact of life ! (**)

if a grain lives longer (GrDur), then more grains exist
if grains are spawned faster (tuning/frequency) , more grains exist.
NrGr will limit the number of grains created

so it’s a balance… if you just set NrGr high, it WILL cause audio issues. (***)

also, I will say, when I started , I assumed LOTS of grains = better… this is just not true.
actually, often I found deliberately limiting grain numbers creates some nice sonic effects
so NrGr is very much part of the sound design process.

I think its important to recognise GRA can be used in two (at least) very different ways…
(or should I say, the two most common ways I use it… I guess we are all different)

the traditional way, is very tiny grains, and lots of them… grains that are so small that they are not identifiable… but become identifiable because you move the play head quickly. so here NrGr is high(ish), and they are so short-lived NrGr pretty much is irrelevant (when high)

however, another common way, is longer overlapping grains… where we are almost more into the sampler territory… for this you use only a few grains (NrGR is low… perhaps only 1 or 2!)

Level… grains are summed, so indeed if you use lots of grains you will essentially just get nothing…
you’ll pretty much peak the audio, so it’ll be out of range.and afaik, there is no built-in compressor to compensate.
(I’ve never really noticed this much… but possibly I automatically turn level down, as I increase grain count… its surprising what you ‘just do’ without noticing!)

generally, GRA could have been made easier to use with ‘safe guards’, but these would be at the expense of flexibility or more cpu load (e.g. compressor).
instead, you have to learn the its boundaries and get a feel for it… doesn’t take long, often just trading off NrGra vs GrDur, and you do get used to it.

( * ) I know/agree, this should not be the the case… really the SSP could ‘automagically’ start killing grains when needed, so user doesn’t have to think about this … in a similar way to synths, recycle voices.
BUT, in modular often we have a concept of giving users the control… to the point of breaking thing…
thats said, as per (***) , I think NrGr allows too high values, which gives a false impression.

but, different users will have different opinions on this… but there is no right/wrong here :wink:

(**) CPU is currently not a a good indicator for specific module cpu load, rather only for overall patch complexity.
synthor/ssp is multi (4) core, and the cpu indicator is an average across all cores.
however, a single module is executed on ONE code, so its possible that it can overload that core, causing audio issues with that module.

GRA in particular is ‘problematic’, since if NrGr is set too high, its effectively is ‘no limit’ . this mean frequency of grains will determine if we exceed limits or not.
this is far from ideal, as in audio processing we usually aim to have ‘constant’ cpu regardless of parameters.

(***) the default of NrGR = 200 is ridiculously high and misleading unless you are using extremely short grains. … and even then, my suspicion is, in these scenarios the grains die naturally before NrGr = 200 (or even close), so essentially this high count is meaningless. Im not 100% convinced the SSP can handle 200 grains.
note: Ive not tested this, Id need more data… but this is my feeling.

Thanks for your detailed reply! Very informative indeed.

1 Like

let us know how you get on :slight_smile:

I’ve been thinking about making a video about tips on using GRA, or at least how I use it… so, it’d be good to see/hear how others are using it.
(videos are likely to be in ‘winter months’, as Im going to be moving my music stuff into a new space… so hope to set it up better for filming etc)

I’ve been enjoying both the granular and wavetable modules. I may post a little YouTube video with some quick sound examples. I still need to still delve a lot deeper into the SSP before I post any more detailed videos on it.
I’ll look forward to your upcoming videos. Best wishes for your move and new setup!

1 Like