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

Some new Units to share



Yes the numbers are a bit odd at first glance but what I’m getting at is musically related tape speed control. Think the mannequins W/ (holding play and moving the toggle up to double or down to halve) or magneto when in shift mode. Doubling or halving the speed keeps the pitch related to the original. The speed difference also really fun.
I got the numbers from the strymon magneto manual:

From there I experimented Andy found these values worked.

250 is 1/4 speed = -2
500 is half speed = -1 octave
750 is 3/4 speed = a 5th below
1000 is original playback
1500 is 1.5 x speed = a 5th above
2000 is 2 x speed = 1 octave
3000 is 3x speed = 1 octaves and a 5th

I added the 750 and 1500 as it seems relevant but I could be wrong on my maths (not my strongest area) but it sounds good regardles :smiley:
Having a control over the speed that snaps to these related pitches is awesome.
Does that clear things a little?


There is one thing that musically ruined your calculation.

Half an octave is not a fifth, so „-1 octave and a fifth” related to 1000 is not 250. This would be minus an octave minus a diminished fifth, also called the tritonus which is a half note off. An interesting interval, but not what you wanted.
Anyway you can’t find the correct result by dividing 500 by 12 to get the correct number for a halftone as this value increases on a per halftone basis.

You can find the formula to get the correct numbers here:

Looking forward playing around with this!



I think you mean -3x, -2x, -1.5x and so on? The ER-301 display should not be showing 3000 for 3x, rather it should be showing 3.000. Is this that European thing where the comma is the decimal point and the period is the thousands separator? :thinking:

These are just-intonation pitches (5-limit tuning) by the way.

You can fabricate any arbitrary quantization using a Sample Scanner and a custom-made sample containing a stair-case function with steps at each of the desired values. Make sure to set the width to 1 and the fade to 0.


Yep, makes much more sense now! Thanks all, for the educational links.

[Smacks forehead with hand.] Oh, yeah! Of course!

And all of the tools you need to create this custom sample are already built into the ER-301.

I think I’d be more inclined to make a video on how to create this sample and implement the quantization with the Sample Scanner than create a bespoke unit for this one, if there’s interest.

I don’t really want to proliferate bespoke units for things that can be done with relative ease, and very flexibly, with the builtins.


Yessssss plzzz :heart_eyes:


yes @Joe! a tutorial about this would be really formative!


It’s in the works!


Thanks for picking that up, was in the middle of teaching while I wrote it. Oops. I’ve edited my post to say -2 octaves as that’s what it was meant to say. I still could be wrong. And thanks for the info, great stuff!


Yes that’s what I meant, didn’t have the 301 infront of me so I missed the decimal. Also awesome to hear it can be done with existing units. Yay!


Joe, a tutorial would be amazing! Really appreciate all your hard work!
Was also thinking it would be just as useful to remove the odd numbers and just have a unit that can double or half the speeds of the sample players and delays. Like a multiplier and divider for a cv value. Anyway looking forward to to tutorial.


NEW UNIT: Timed Gate
JANITORIAL: Moved Voltage Bank, Maths, and Logics to Mapping and Control

Timed Gate
The Timed Gate unit generates a gate signal of a specific duration when it receives a trigger at its input. coarse and fine are both time controls, and are summed together for the total gate duration.

If the Timed Gate unit receives additional triggers while it’s output is high, the behavior is determined by the mode option in the header menu. In ignore mode, the additional triggers are simply discarded. In extend mode, the gate duration is extended by the sum of the coarse and fine settings from the time the trigger is received. In other words if the gate time is 2s, and it receives an additional trigger at 1s, the gate will continue high output for 2 seconds, so it will have stayed high for a total of 3s.

In ignore mode,holding the input high will cause the gate to retrigger immediately when it reaches the end of its cycle.

Download: Joe-s-Bespoke-ER-301-Units-14-Oct.zip (27.1 KB)
Github: https://github.com/SuperNiCd/Joe-s-Bespoke-ER-301-Units

Quantizing an External Offset to Specific Values

yesss! so useful! you got the idea while making the tutorial for the quantized offset?


Actually this one’s been planned for a while. I wanted a way to completely switch out a mixer channel for another one for like 4-8 measures or so. For example completely switch up a track or two for X measures for more of a chorus or bridge kind of feel. Or sub in a drum fill for exactly 2 beats queued off of a Clocked Random Gate. But the tutorial the other day reminded me I’ve been meaning to build it. :slight_smile:


Joe-s-Bespoke-ER-301-Units-Ported-to-v0.4.04.zip (27.9 KB)

@Joe, here is a port of your bespoke units to v0.4.04+. I hope it helps!

EDIT: This version has faulty Compare and Timed Gate units. Use the files from this post instead.

V0.4.x Firmware Workout: Goofing off never felt this hard
V0.4.x Firmware Workout: Goofing off never felt this hard

Awesome, thank you Brian!


Hey Joe, did you put the ports in your repository, or will you somehow preserve the legacy versions for backward compatibility? Maybe there needs to be a 0.3 and 0.4 branch for people who want to use the stable firmware?


I have not updated the repo yet. Most likely master will be for the stable firmware and I’ll make a new 0.4 branch.

Since I don’t gig, have any particular production deadlines, and we have not reached 1.0 firmware, my intent is to always be running bleeding edge, and develop against that without any regard or even testing for backward compatibility.

So master will probably remain frozen (bug fix only) with 0.3 compatible units until we get to 0.5, at which point 0.4 will merge to master. Or at least that’s what I’m thinking at the moment.

We identified yesterday that Timed Gate is not 0.3 compatible due to Middle Layer feedback routing that was introduced in 0.4.02, so units that are not backward compatible already exist.


I’m on the latest firmware (0.4.5) and just ran through the bespoke units to see if they work well and ran into a few errors. These are the ones not loading:

  • Compare
  • Timed gate

Also Scorpio doesn’t load but that one is not ported.

error.zip (1.6 KB)


Should be fixed now. Apologies!

Joe-s-Bespoke-ER-301-Units-Ported-to-v0.4.05.zip (26.5 KB)


@Joe WOW!!! Not even sure how I missed this topic … I need to get back to my ER301!