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

Some new Units to share



I’ve been focusing my ER-301 studies on the Comparator class the last few days, so these units all have one or more comparators. I think these are pretty useful, so thought I’d share. New units:

  • Pingable Scaled Random
  • Clocked Random Gate
  • Weighted Coin Toss
  • Motion Sensor

I will probably write up some wiki docs for these if they don’t get obsoleted by 0.4. If they do, that’s OK. I had fun building them and feel like I’ve leveled up my middle layer skills quite a bit! In the mean time, each one has a quick and dirty you tube demo. Would like to hear your thoughts on them.

Pingable Scaled Random
Ping it with a trigger and it spits out and holds a random value until the next ping. Can scale, offset, and quantize it.

Clocked Random Gate
Send it pulses or a clock. You control the probability that a gate will fire when it’s pinged

Weighted Coin Toss
Send a pulse and it outputs heads (1) or tails (0). You can weight it so that it’s more likely to give heads or tails.

Motion Sensor
This one’s the most experimental. I didn’t think it could be done in the middle layer, but it’s actually working decently well. It detects when a CV signal is moving, and can output a toggle, gate, or trigger signal.

If you’ve downloaded my little library from other post, you can just overwrite the folder. All the other units are still there. Unzip Joe’s Bespoke ER-301 Units to your ER-301/libs folder. They should appear in the Experimental category.
Joe-s-Bespoke-ER-301-Units-12-Aug.zip (13.8 KB)

Flam Drum - a clicky, glitchy, drum machine
3 Clicks - Random Generating Glitch Custom Unit
Autogen301 - a collection of self generating custom units
Internal CV recorder + animator
Replicating Radio Music with ER-301

Thanks Joe! Looking forward to using these!


I really like the Motion Sensor, Joe. :wink:

I wonder why the trigger didn’t show up in trigger mode? :thinking:


+1 on the motion sensor. Love the coin toss as well!


Amazing! :slight_smile: Thanks @Joe!


super! can’t wait to come back home and try them.


Whenever i make a video, something seems to try to make a monkey out of me somehow. :slight_smile:

I just tried it and trigger outputs worked fine and were visible on the scope. Sensitivity 100 and release 250ms seem to be pretty good settings for triggers.

The motion sensor basically works by summing an very slightly delayed, inverted copy of the input signal with itself, and feeding that into a huge gain block (sensitivity), then into a comparator with a very low threshold and no hysteresis. I’m wondering now if the gain block should be even larger… Maybe add another 2-3x pre-gain stage to what’s there now…


@Joe I can’t seem to make them appear on the list even though I did what you described… any thoughts?

EDIT: solved!!!


great work @Joe!!!
question: which of the methods we were discussing on the other thread you used in the clocked random gates bespoke unit? how do you engineered the probability factor? have you seen the Sapèl module from Frap Tools? it’s interesting re:random clocks because it has two modes, one we can call additive (it adds random clocks to a steady one) and one we can call subtractive (it randomly skips clock ticks from a steady clock, i think this is similar to your bespoke unit)

another one: is the coin toss a Bernoulli Gate as in Mutable Instruments Branches?

and by the way the motion sensor it’s amazing! i can see tons of creative uses for it!!! my compliments!


Thanks @Joe, these look great.


I didn’t really use either method we discussed in the other thread. There’s a little more flexibility in the middle layer. It’s probably closer to the one I had described in the other thread.

Basically I started with a direct copy of Brian’s builtin Tap Tempo unit because I liked that it already had the mult/div and pulse width features.

I built an additional signal chain that looks like:
white noise->full rectify->S&H->comparator

I swiped the original output signal and fed that into the S&H’s track input. Then took the output of the comparator and multiplied it with the original output. The comparator’s threshold control is the “prob” control, with a few extra things to basically invert it so that prob of 1 sets the threshold to 0 and vice versa. I haven’t seen the Sapel but it does sound similar to its second mode.

I don’t think the coin toss is quite the same as a Bernoulli gate, but @kel suggested if I add an option to make “tails” be -1 instead of 0 it would be. So i’m planning to add that (along with a couple other tweaks) and do an update to these.


thanks for all your explanations Joe!
another question: i was trying to build a modal voice using a bunch of bespoke bpf driven by an exciter signal (simple white noise—>vca controlled by short percussive adsr).
i see the bandwith of your bpf has a minimum bias=13,7 hz, do you think it’s possible to have a narrower bandwith that might be better for a physical modelling experiment? thanks!


Hmm, I don’t think it’s possible. The Bespoke BPF is just a LPF and HPF in series. You could build the same thing in the UI layer; this particular middle layer unit is just basically a convenience for moving the f0s of both filters around with unified controls. If you went into negative BW values I think you’d end up with a band reject or notch filter instead of a BPF… :thinking:

My guess is that @odevices will give us proper DSP BPF sooner or later. Ah… 0.4 dreams. :slight_smile:

Edit: after thinking about it a few more minutes, I don’t even think -BW would turn it into a BRF. I think it would just start further attenuating the signal and before long become a no pass filter…


thanks, yes i imagined it was like this but gave it a try :slight_smile:


Thanks for sharing… still learning myself and appreciate the community!


Awesome @Joe!!! Can’t wait to check these out once I get back to Chicago. Thanks for sharing!


thanks for this Joe!


Thanks a lot for these tools. Handy and condensed units. One thing I’m unsure about… how does sync differ from the clock input?


Sync works exactly the same way in this unit as it does in the Tap Tempo built in unit.

Basically it resets the clock’s phase to it’s rising edge so that you can sync it with some other clock. You don’t really need to feed it a clock signal, necessarily, like I did in the video. A single trigger, or even just pressing the “fire” button on that control should work to sync it up (assuming your timing is good). Although you can feed it a clock and constantly sync it.

Feeding it the same clock as “clock” like I did in the video doesn’t work if you’re dividing, though - you’ll end up with the same clock back out instead of a divided one. In that case, just send it a trigger, or if you send it the same clock, just attach it until you achieve sync and then disconnect it.


A few tweaks to these units. New zip file is in the original post, the 2018-Aug-04 version.

ENHANCED: Motion Sensor sensitivty is now 4x as sensitive. A setting of 25 is now the old 100. A setting of 100 now makes it hypersensitive to changes in voltage
ENCANCED: Weighted Coin Toss now has menu option to set low output. Choose 0 or -1. Negative one is traditional Bernoulli gate style behavior. (thanks @kel)
ENHANCED: All units updated to have localized/shared scale maps. This is a back end performance improvement. (thanks @odevices)
FIXED: Clocked Random Gate no longer crashes when opening unit menu (thanks @odevices)

If you recreate the experiment in the Motion Sensor video now, it is much easier to keep the recording punched while holding a near constant voltage. Set the sensitivity to 100, and just keep moving the knob ever so slightly.