Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Nubi , MI Clouds type granulator custom unit

(EDIT 08 September 2020: bugfixes! please redownload, the file has been updated)
Hi everybody,
earlier this year i sold a couple of modules to fund an mpc, before selling them i wanted to be sure i could more or less replicate their behaviour. One of them was Mangrove, and i already had my Formant VCO oscillator that while not exactly the same, came pretty close to how i mostly used Mangrove.
The other one was Clouds. I always been a huge Clouds fan (kept two factory models in my rack for years, each with a different parasite version). Given that i used almost only the main granulator function, i tried to replicate that functionality the best i could. I know that we already have the great Ultraviolet but i was less focused on the tonal qualities (filtering, refract, feedback) and more on keeping cpu as low as possible while retaining most of the functionality. So now i polished it a bit and decided to share it.
Free for all, microdonations at hyena666@gmail.com via paypal appreciated.

Nubi
0005 0006 0007
Nubi is my take on Mutable Instruments Clouds main granulator mode. Grains can be externally triggered or you can use internal steady oscillator to create a time-constant stream of grains or the internal random generator to create them in a random fashion. or you can use all three methods together :slight_smile: (you can’t do this on the original clouds).
controls

  • trig input for gates, triggers, external oscillators, whatever external signal you want to use to trigger grains. (it will be mixed with the “stdy” and “rnd” internal trig generators)
  • freeze toggle button to temporary freeze the audio buffer (thus preventing new material to be sampled and continuing to granulate the actual buffer contents=
  • v/oct exponential pitch control of the granulator
  • speed linear pitch control of the granulator
  • pos selects the part of the buffer from which grains are created
  • size duration in time of individual grains
  • density this controls the frequency with which new grains are created when using the internal trig generators (both “stdy” and “rnd”)
  • texture control for the envelope of each grain. lower levels = smoother fades, higher lever = squarish window (more harsh sound)
  • rndpan how much each individual grain is randomly panned in the stereo field. at zero the grains retain the original stereo image (when using the unit on stereo chains) or stay mono and centered (if using the unit on mono chains)
  • rnd this activates the internal random trigger generator that will create new grains with a random timing (but subject to the density control)
  • stdy this activates the internal “steady” trigger generator that will create new grains with a constant timing (density is exactly the frequency of grain creation)

requires Accents
cpu depends on grains polyphony (density or frequency of external trig generator), i noticed max 29%
tips on the original clouds you decide wether grains creation is random or steady by turning the density knob clockwise or counter clockwise. here instead density is a unipolar parameter (from slow to fast) and you can decide wether you activate “rnd”, “steady” or even both of them. if you use an external trigger train remember it can be mixed with “stdy” and\or “rnd” (impossible on the original module).
remember attenuated random sources are very important to use clouds in an interesting fashion (especially randomizing the POS parameter is VERY important and gratifiyng)
Nubi.unit (30.6 KB)

alternative versions
500ms buffer for low latency (more clicks)
Nubi 500ms.unit (31.9 KB)
5s buffer for clickless action (more latency)
Nubi 5s.unit (32.0 KB)

(p.s. “Nubi” [or “nuvole”] means Clouds in italian)

25 Likes

This is very much appreciated. I have been wanting to dive into granular and this is a great opportunity.

1 Like

you do take breaks @hyena, right?

2 Likes

heheehe keep in mind a lot are work in progress that i might have had in the closet for months before finalyzing them and release :slight_smile:

2 Likes

Thanks @hyena ! I threw some coins in your hat. If the ER-301 had something like a Korg user base you would be sitting on a pile of cash :grin:

I briefly tested your Nubi this morning and I had a lot of fun. I never actually used Clouds (weird, I know) so I’m not familiar with the controls and don’t have any preconceptions/expectations about it, but I love the concept of your preset. I have to say though, with some of the cleaner inputs I noticed artifacts in weird places. CPU was at 37% at that moment so it’s not the usual CPU crackle. I will try to make some recordings later, or maybe you have tips to keep this at a minimum?

I’m using my ER-301 as a mixer and effects unit these days so I love to have as many tricks in my bag as possible. Keep 'em coming!!

1 Like

I recorded a little piece to show you what I mean… (I should really be working actually)

The incoming audio is a butter smooth Moog Matriarch patch. There are some clicking, poppy sounds throughout but at around the 7 second mark there is a particularly harch sound that is strange. Mind you, I threw out all the usable audio for this test, so it wasn’t all bad. Actually mostly it sounds just beautiful and that’s why I would like to know how to keep it in that zone!

Below is a screenshot of the parameters as I was recording this. The only thing I changed while recording was flipping the freeze toggle on and off while feeding it different notes/sounds.
nubi-params

1 Like

hey @Bparticle thanks for supporting and for your feedback!
some of the artifacts here and there may be explained by high density values and high texture value (the grain “envelope” being more squarish hence the result more harsh) but the single “glitch” you point out is something different and something i noticed a couple of times as well and i’m currently investigating. sounds a bit like a feedback sound but there’s no feedback path here.
the inner workings are: a feedback looper followed by a manual grains sharing the looper’s buffer.
then we have one velvet noise for random triggering and one sine osc for steady triggering.
i have to do some exclusion tests, eliminating both trig sources and only using external triggering to see if it’s something that has to do with them. then the next probable cause might be the buffer sharing mechanism. but here we don’t have the usual “rec and play heads overlapping” issue… so its in fact a bit of a mistery to me where this might come from. maybe @odevices too might be interested in looking at it to see if it might reveal some bug or unusual behaviour

1 Like

UPDATE!
i think i found the culprit! i added a rectifier after the velvet noise trig generator, now i tried with many settings and haven’t heard the glitch yet
i also increased the feedback looper “fade” parameter hoping it will help fading out the obvious click when the looper reaches buffer’s end and goes to buffer start.
i also found another bug, the connection between rndpan control and its parameters was lost for some reason unknown. now it’s restored.
original post updated with new download.
Nubi.unit (30.6 KB)

thanks @Bparticle for pointing it out and please try the new one and give feedback if you have the time!

2 Likes

Yay, that’s great! I will definitely take the updated version for a spin later because I absolutely adored the moments it performed well.

1 Like

hmmm unfortunately after further tests it happened again, but i cannot reproduce it on a methodical basis, it also seems to be a lot less frequent…
this is driving me nuts… further investigations ahead. meanwhile if you test it please tell me if you notice differences with the first version! (it seems so to me but…who knows!)

2 Likes

I played with the new version yesterday evening and I didn’t experience that distorted glitch again, but I only tested for like five minutes. It was harder to get rid of the poppy clickiness though! Is that possible at all? I’m interested in this patch, so I might dive a little deeper into it.

2 Likes

the clickyness can be avoided by keeping Texture at a minimum (-36) , to use a size bigger than clicks :slight_smile: and to keep an eye on the density value as well.
i didnt notice any increase in clicks to be honest but i’ll be testing it again over next weekend! meanwhile huge thanks for your feedback!

2 Likes

Meanwhile I had the chance to play a bit more with your unit and had some wonderful results. Very interesting too. I still haven’t jumped in to check the guts out, but one thing that amazed me is that it’s possible to somehow add bits of audio to the frozen bit that came before, when you just unfreeze and “re-freeze” very quickly. Some of the previous audio is retained while adding new information, and in that way effectively building chords for example from just one synth voice, or just a very interesting, rich sound from all sorts of sound sources. Great stuff.

2 Likes

ah wow! never thought about it but yes! the freeze in fact blocks the looper from writing new material on the buffer.
great idea!

1 Like

@Bparticle:
after further testings i realized that clicks and glitches are absolutely correlated to the buffer size shared by feedback looper(recorder) and manual grains(granular player).
if we use a very large buffer (one second or more) we seem to avoid clicks only because it happens less often.
this comes at a cost tho: more latency, you realize it if you use it on a synth voice you play in real time: the greater the buffer the more latency you have.
so the best setting is not universal but really depends on what you use it on and the general context.
to change the buffer just go in the sample pool, select the buffer and unload it.
create new buffer with desired duration.
navigate to feedback looper, click the header and press attach to existing buffer and then select the newly created buffer.
go to manual grains click on header press select from pool and select the same buffer.

comparison: Ultraviolet uses a 4 seconds buffer by default, so less clicky but great latency. Nubi used a very short buffer which was more realtime but great amount of clicks.

please @odevices correct me if i’m wrong, maybe there is something i’m overlooking.

here two different versions of Nubi.

500ms buffer for low latency (more clicks)
Nubi 500ms.unit (31.9 KB)
5s buffer for clickless action (more latency)
Nubi 5s.unit (32.0 KB)

please be aware i put some extra routing for testing so now rndpan also randomizes speed and position. use the gain of both parameters to increase or decrease their modulation (or use 0 gain to eliminate it)

4 Likes

Both units are a great improvement on the first version I think. It makes sense to have two version as they really serve two different approaches or goals. Also, I didn’t have any of those less than ideal glitchy sounds and less noise/clicks overall. Nice work I would say! :slight_smile:

2 Likes

very glad to hear we have improvements :slight_smile: