ER-301 Fold Unit

I’d like to talk about the Fold unit introduced in firmware 0.2.5.

I’ve taken a few swings at trying to figure it out but I’m missing something, I think.

I have two other wave folders in my case. There is an analog wave folder on the Intellijel Shapeshifter, and there is a digital wave folder algorithm on the Disting. They both behave fairly similarly when fed a sine or triangle wave and the single [gain] knob is turned up. An example of how they both behave is in the first part of the Disting video for this algorithm found here.

The Fold unit on the ER-301 doesn’t really behave in quite the same way. I can get it to fold once, if I adjust the parameters just so. But the other wave folders in my case continue folding the wave form on itself multiple times as the gain increases. I assume this is because @odevices has provided us with a more fundamental/discrete fold unit for maximum flexibility (e.g. to roll our own wave folder), whereas a dedicated wave folder module might have multiple fold stages and/or other design elements - i.e. design choices made for the user.

I’m thinking that an ER-301 patch could be built that would mimic the behavior of these other wave folders, perhaps by staging more than one fold unit, staging some gain blocks, modulating one of fold unit parameters, self feedback, etc. And then perhaps the behavior could be modified to do something completely different.

At least that’s one approach for how I learn things - model something known and then start tinkering. But I can’t really quite get to step A - mimic some existing wave folder behavior. I guess I don’t know enough about them. :slight_smile:

So, anyone have any clues, insights, links?

I think the Upper and Lower are both gains. I’m not really sure what Threshold is doing…


It’s not a wavefolder like a uFold, Shapeshifter, et al., but rather a bipolar amplitude control like the Doepfer A-136 or my company’s plugin, Dent.

There are a few ways to do wavefolding in the digital domain. The most common is sin shaping:

sin(input * HALFPI * gain)

Some algorithms add in overdrive/saturation after the sine shape.

The most aggressively digital version that I’ve found is this algorithm:

EDIT: More resources

Madrona Labs posts an early version of Aalto’s Timbre control there, which is one of my favorites.


Dr. Hetrick nice to see you here. Sorry to be such a pedant but it would be Dent 2 now :slight_smile:

D’oh! It’s been a whirlwind week with the releases, a family visit, and now the hurricane rolling into Houston (pun intended I suppose). Nice to see you here as well.

In Dent/Indent, the “Wavefold” algo is mostly the sine shaper, the “Overfold” algo is Wavefold + overdrive, and the “Harsh Fold” algo is a slightly tweaked version of the MusicDSP algo that I linked. There are similar algorithms in Euro Reakt.

Nice :slight_smile:

…also I imagine, at some point along this road we are following, will be implementations in the ER-301!

Thanks for the explanation and links. Very interesting - the ER-301 fold can have a very similar audio effect (for example, additional harmonics added to a sine wave) as some of the other wavefolders I’ve encountered… Also on a scope I can produce a result that looks fairly similar. So I assumed the fold unit was a piece of the overall equation in those units like the uFold. This will take me a while to digest!

So you are the Dr. Hetrick behind Euro Reakt? Wow, what an incredible body of work that is!


I didn’t realise that is how it works thanks for clarifying that.

I was simply looking for ways to put wave rectification under CV control when I designed the Fold unit. I’ll leave it as an exercise to the reader to figure out how you do pos-half, neg-half, and full rectification with this unit.

The Fold unit divides the incoming signal into an upper half and a lower half based on the threshold parameter and then applies the upper gain to the upper half and the lower gain to the lower half. Keep in mind that the threshold parameter will have no effect if the upper and lower gains are equal! The power of the Fold unit is unlocked via clever modulation!

For example, you get wonderful evolving waveshapes when you modulate the threshold parameter with a signal that has a frequency relationship with the input signal. The Fold unit is to amplitude distortion synthesis as FM/PM operators are to phase distortion synthesis.

By the way, the sine shaping that @trickyflemming brought up

sin(input * HALFPI * gain)

can already be achieved by feeding your input signal through the phase modulation input of a Sine Osc unit.


My brain is melting and leaking out of my ears… :joy:

Thank you again :slight_smile:


I’m glad I asked. Learning a lot from this, and I now have a quite a few new experiments to try (in addition to my already long list)!


Oh and one more thing. You can also do a generalized version of FSK (Frequency Shift Keying) with the Fold unit. For example to swap back and forth between two different modulators:

square wave → input
signal A → upper
signal B → lower

This causes signal A to be interleaved with signal B at the frequency of the square wave.


And another way to look at it…

  • When your input signal is above the threshold, ring modulate the input with the upper signal.
  • When your input signal is below the threshold, ring modulate the input with the lower signal.

Now I’m really going to bed. :sleeping:


So glad I’m not the only one :slight_smile: I take solace in the fact I’ll come out of this being a better-informed person


Now you lost me. I think I need to experiment with this to try and understand it better.

1 Like

Nice! I haven’t had a chance to test the latest firmware yet, but that’s a very smart recipe. I’m guessing you’ll need to set the Sine frequency to 0 Hz if you want to use it as a pure effect, right?

Side note: you’ll probably want to add in the DC Blocking 1-pole HP filter after that.
To add to my above recipe, the typical Symmetry control on the uFold, Toppo Triple Wavefolder, etc. is achieved by adding a DC offset to the input signal. Using a DC filter will help to remove the offset for easier mixing. It can also remove any offset generated by the Sine Oscillator if it ends up generating an offset when setting it to 0 Hz.

FSK recipe is awesome.


My brain really isn’t working today… I don’t know why, just one of those days I guess.

Does anyone who already understands these recipes fancy implementing some custom units?

1 Like

:open_mouth: great!!

After a quick test this empirically seems right. It isn’t yet possible to set f0 to 0Hz yet, I don’t think. Setting it to its lowest value of 0.027Hz produces a bit of movement I don’t remember hearing in the other wave folder implementations.

Nonetheless, this is so cool! Setting f0 higher, even into audio rates, produces some pretty complex wave forms indeed.

EDIT: Which, I guess when you set f0 higher than 0 and into audio rates, you’d just call the resulting complex timbres phase modulation, right? Kind of lost myself there for a minute. :slight_smile: Whereas in classic PM (like DX7) you’d likely be controlling the v/o of the carrier oscillator to set the perceived pitch, and in this recipe for sine shaping distortion, with the frequency of the carrier at or near 0, you’re controlling perceived pitch with the v/o of modulating osc.


I haven’t even gotten to your other application notes on FSK and ring mod yet. I’ve been lost in the amazing timbres you can pull from just this recipe and basic wave shapes. Since I don’t think the fold unit has been discussed elsewhere on the forum, can I be the first to say the fold unit is awesome!! Now that I’m starting to understand it - the timbres you can pull with it seem well beyond a sine wave folder!

I’m starting to grasp it. If no one beats me to it (please feel free to beat me to it, really), I might do that or a patch or video or something. This is really sweet!


You know Joe if you don’t do the video @NeilParfitt will…matter of fact you should both do a video so we can learn from the two approaches!