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

Custom Unit - Ultraviolet Granular (Clouds "Clone") NEW VERSION ON POST 94



For those waiting/wondering - sorry I have been crazy busy! Refraction was broken after some of the 0.3 updates, so I figured I’d wait for 0.4 to rehaul it. Just waiting for the custom unit controls to be fixed/updated and we’ll be good to go.

New and improved version of Ultraviolet coming too. And some other custom units I’ve been using live for a while like a quad looper and a disintegration effect.




Im really looking forward to that stuff. I’m currently building my own twin looper and I’m still having problems with the desired logic, so any looper setup that is not in experimental stage helps me learning… :hugs:


words of “disintegration” and “loop” sound perfect together :yum:


Thanks for Ultraviolet, I’ve learned an awful lot about ER-301 by working through it!

I have also noticed this problem with using manual grains pitch shift on a feedback looper buffer. A workable solution would open up a lot of possibilities for HQ pitch shifting of live audio (clouds style pitch shift, shimmer reverb, harmoniser style arpeggios etc.). This granular stuff works great in ER-301 on static samples and it would be nice to have the same (click free) quality on live input even at some latency penalty.

Shame there isn’t (AFAIK) a FIFO buffer (or delay line) that manual grains can access. That would allow the play head for each grain to be triggered at a position always well enough behind the record head to avoid crossing (even if pitching up).

Edit: ok, I’ve seen the stuff here about the planned ring buffer… as a recent joiner I’m slowly catching up here. Sounds great!

I’ve got some ideas for mitigating this problem (from the user side) in my own live granular experiments here and will share any findings.



Definitely looking forward to these. Like @TheMM I’m trying to build my own looper systems and would love to pull apart another’s.


Tinkering away on the 0.4 version. I ran into an issue saving/loading custom units, either way, will try to upload something tonight or tomorrow.

As far as the unit goes, here’s kind of a breakdown of the controls + my thought process. I’d appreciate any input, or ideas on some of the things I’m still sussing out.

Dry Level, Record Level, Wet Level
Was inspired by the Strymon Magneto to break out any type of level control to its own control. No more wet/dry crossfading. I’m still deciding on how the controls should be scaled. As of now, they start at 0 (silent) and go to 5 (starts to overdrive a bit). Right now 2 is where the actual level is. I’m wondering if the scale between 0 and 2 is big enough, or if I should push the actual level to 3, right in the middle. Any thoughts?

Freeze, Reverse, Trig
Essentially the same as the previous versions. Right now, Freeze is a gate control, I’d like to make it a toggle (so you can see when it’s active), but the control that it’s turning on/off expects a gate (Feedback Looper Punch)…actually I think I should be able to change this behavior by editing the Looper control.

Density, Position, Size, Squash, Spread
Mostly the same as the other versions. Don’t think I had a squash control on the older versions. Spread is random panning based upon the Manual Grains unit being triggered. Thinking of adding a Density Waveshape control. Right now it’s controlling a Sine Wave triggering the Manual Grains. It would be cool to have change the way Density triggers Manual Grains on the fly.

So much easier to implement the feedback now! I’m trying to figure out a way to control the feedback volume. The more feedback there is, the louder it is. A Limiter seems to help, but then the feedback is initially a little too quiet.

As of right now, reverb controls the amount of reverb on both the dry and wet signal. I’ve debated making reverb sends separately for the dry and wet signals. I’m also considering taking the reverb out completely. Is it really necessary for this unit?

Modulation, Aux
Trying to figure out how I want to approach the internal modulation. I could just leave it the way it was, random modulation on certain parameters synced with Trig/Density. Maybe add toggles for each control to choose if the Modulation control affects that parameter? Maybe have 2 or 3 different modulation types? Or have an Aux control like SuperCell where whatever signal is put into Aux will modulate all of those parameters? Or figure out a way to have the modulations active when a control goes into a negative value? Or get rid of internal modulation? I think it’s important for panning and at least Position.

Noise, Low Cut, High Cut, Refract, Warp/FM
All optional stuff I’m on the fence on. Noise is inspired by the lofi Clouds modes. Adds a bit of filtered noise after the Dry Signal. So far it sounds really good! Lots of mossy textures. Low Cut/High Cut would affect the feedback loop. Refract would add distortion. Warp would add pitch bending. Maybe better to just add an FM control.

I think that’s everything. Right now it’s running at around 50% with a 2 second buffer.
If anyone has any thoughts on what I’ve brought up, let me know.


This is super exciting, @rbeny! Wow 50% CPU? That sounds like a pretty big improvement!

I’m not in the weeds enough to comment on most of this. I’m sure you’ll make great choices. The couple of things that struck me:

Is the reverb coming from Freeverb, and is it at the end of the chain? If so, I’d leave it out since we can all add it in the chain afterward if wanted. That way we can choose to not include it and save CPU, or choose to have reverb from an external module too. Freeverb is a nice convenience but if push comes to shove with CPU, it’s the first thing to go since I can apply reverb just as nicely outside the ER-301, whereas there are lots of things the 301 is pretty unique for.

Love the idea of a Density Waveshape control.

I like all of the “optional” stuff unless it drives the CPU up too high. Personally I’d like to see it run at < 50% so there’s plenty of headroom left over for other things if it’s possible. My 2 cents.


Hit the nail on the head of the reverb. It kinda wriggled its way in there due to this starting off as a Clouds “clone” and all. But honestly this is kinda just a live input Manual Grains unit on steroids. I think you convinced me it’s not exactly necessary.

Thanks to every output and control being local now, the whole custom unit is much more bare-bones than it was. Will see what other corners I can cut to bring the CPU down. Maybe once I post it, someone else might see a shortcut I don’t see.


Yep. It started inspired by Clouds but with each pass I think it’s becoming more of an rbeny original!


I agree with the verb being unnecessary and am looking forward to using the new version! I think I told you at one point that I was having trouble with wet/dry and am pumped you just gave independent level control. Is the dry signal being sent pre-fader to the chain of fx or post? Like, does your dry signal level effect how much is fed or can I turn dry all the way down and still have wet blasting at full volume? many thanks


The Dry signal level is independent of how much is fed to the effect. There is a separate control for how much of the dry signal is sent to the recording buffer (right now it’s called REC LVL). So yes, you’ll be able to turn down the input/dry signal all the way down and set the effect to a high level if you want.


:heart_eyes: have i overlooked it ? , did you upload the new version already ?

edit: ok seems not…looking forward,
thanks a lot for sharing your awesome Works with Wigglers that are not so skilled,
i loved the first Version.



awesome! thanks!


Hello, here is Ultraviolet for 0.4.09. Please note, this is only guaranteed to work on 0.4.09 as of now.

Violet (57.3 KB)




Excellent, thanks @rbeny

Edit: pretty conservative CPU usage as well, around 30% usage on 48khz firmware. Sounds pretty different to the original in the brief amount of time I’ve spent with it, is the structure changed significantly?


I wouldn’t say it’s too different. The way the internal routing works is improved, but it just allows for improved control of the levels across the board. The Density and Size controls are a little more sensitive (a larger range overall). Moss adds a bit of noise to the input to add texture, Tone controls the color of the noise. The biggest difference would be no more Mod control for internal modulation.


Just saw your Instagram post.


Thank you! Time to upgrade from v0.3