Shards - Custom Unit

Hey everyone!

Not sure if this custom unit is interesting/valuable to anyone, but I figured I’d share. It’s called Shards, and it’s a glitchy looper/delay that relies heavily on a Manual Loops unit using its amplitude for self-modulation. Incoming audio gets recorded into a feedback looper with a 10 second buffer, which is shared with the Manual Loops unit. A trigger is extracted from the amplitude of the ML unit, which is used to send random voltages to various parameters in the unit (ML params, delay, etc.). CPU is ~60%. Requires a stereo chain. Just assign your input(s) to the chain itself, and the unit will take care of the rest.

Nothing overly complex, but it was fun to build and I like the results. Here’s a demo with more melodic content, but it works well (perhaps even better) with atonal textural stuff.

There are 6 top-level controls for the unit:

  • Freeze: a toggle that simultaneously punches out the feedback looper and freezes all random voltages to their current values. The idea is to “extract” a pattern from the chaos and loop it.
  • Depth: controls the scale parameter of all instances of the Pingable Scaled Random. In other words, it controls the depth of the modulations spread throughout the unit.
  • Delay: dry/wet
  • Warble: adds some subtle pitch fluctuation to the ML unit
  • Noise: adds noise to the ML unit
  • Dry/Wet

As for next steps, I’d like to clean up the behavior of the feedback looper here a little, and maybe add some controls related to it.

Updated Version
(firmware v.4.10)

shards.unit (87.4 KB) – includes new global dry/wet control + minor fix with feedback looper

Note: you’ll need @Joe’s unit library, as this makes heavy use of his Pingable Scaled Random.

Let me know if you spot any opportunities for improvement!


Excellent! Exactly the kind of thing I want to do with the 301.

I’m unfortunately too busy to install and play with it right now :frowning: so just keep on doing what you’re doing :wink:

1 Like

Demo sounds really good! Since there’s no reference for the dry signal, I’m not quite sure which bits Shards was adding, exactly. Is it always 100% wet? Looking forward to checking it out!

1 Like

Ah! It’s pretty much always wet. The only dry/wet control is the top-level one I added that controls the delay unit I placed just after the ML unit.

The way the unit works is basically, play some sounds into it and it’ll spit out very random snippets of varying lengths. I’d love to think of ways of cleaning this up, so thanks for sparking this.

1 Like

Updated top post with new version of unit that adds a global dry/wet control for clarity.


I was messing with a drum loop. I felt like it knew the tempo, somehow. Neat! :sunglasses:

1 Like

This is dope! I only miss an option to clock it with something to make the output a little more predictable in regards to rhythm & tempo.

1 Like

really luvely!

1 Like

Apologies for being dumb. How do we set this up? Where do we put the singable scaled random for instance?


1 Like

No worries - happy to clarify. All of the pingable scaled random units (and other forms of modulation) exist under the hood; you shouldn’t need to modify or add anything unless of course you want to :slight_smile: You should just be able load the custom unit onto a stereo chain, and it’ll take in whatever inputs you have set at the head of the chain itself.


This sounds absolutely fantastic. Can’t wait! :slight_smile:

1 Like

This sounds great. I was working at some length at a similar thing last year but this seems a very clever implementation. Looking forward to jumping in!

1 Like

Spent some time playing through Shards last night. Such a great patch. It commends to me the time and monetary investment I made in the 301. Thank you so much.


Wow - glad to hear you’re enjoying it! I added a couple of improvements (including a global speed control), which I’ll get updated when I have a bit of spare time soon.


Just reporting back that I’ve had a bit of time with this today and wow it’s really great. I’m in the process of doing a couple of tweaks to my liking and also some extra playable control with some allflesh. I’ll let you know how I get on

1 Like

Amazing - looking forward to hearing more!

Just an early morning thought - I won’t get the chance to work it out myself for a few days - is there a reason that each of the parameters (in the manual loops unit for example) need there own instance of the pingable random and envelope follower etc? Are they all responding to the same input? I’m just looking at ways of trimming the into to save CPU usage

1 Like

My intention (and there may very well be a way of simplifying!) is to have many different instances of random voltages so that no parameter has the same value as another at a given moment. A lot of the movement in the unit stems from the fact that a single trigger, extracted from the amplitude of the Manual Loops unit, can randomize a ton parameters at once.

I should note that my V2 (I’ll post soon) cuts CPU down to ~45-50%, last I checked.


Thanks, I imagined it was something like that. Great unit!

1 Like

hi @Olivier any chance v2 is lurking around? just revisited the unit while running the new firmware and the cpu is up in the 90’s:/

  • actually it looks like it’s only at 43 cpu…didn’t realize there were a few other things the 301 was doing -great mangling/textural capabilities with this unit. really niiiice!
1 Like