Block - Wavefolder 2.0

Foldover Distortion for West-Coast Synth Sounds

(24 Votes)
2.0 (Updated 6 years ago)
7.3MB
September 24, 2015
Reaktor 6

DESCRIPTION

Update 2.0 - After getting complaints about the sound quality on multiple forums, I decided to look around at better algorithms! 4 New Folding algorithms have been added (descriptions below), along with an optional DC-Blocking Filter.
Update 1.2 - Updated fDivMod behavior to include Floor instead of Round. In other words, this is now more "accurate".
Update 1.1 - Fold and Symm Mod Indicators were reversed. Whoops!

The ninth Block in Michael Hetrick's "Euro Reakt" series. This is a classic Wavefolder with strength and symmetry parameters.

Wavefolders are one of the critical building blocks of "West-coast" style synthesizers. In a way, they act like reverse low-pass filters. Instead of taking a complex signal and removing higher frequencies, a wavefolder takes a simple signal (typically a sine wave), and "folds" it to introduce harmonic content. A "Symmetry" control adds a DC offset to the input, leading to even more shapes. An x3/x6 switch changes the strength of the fold.

Modern Eurorack wavefolders include the Intellijel uFold 2, Toppobrillo Triple Wavefolder, WMD/SSF Ultrafold, and more. Many oscillators now include a built-in wavefolder, like the Make Noise DPO.

Usage:
-Use on simple sounds, like sine or triangle waves. This will not sound good on complex signals, like samples or square waves (in fact, with square waves, you won't hear much at all aside from amplitude changes).
-Animate it! It sounds alright on its own, but hit it with an LFO, another oscillator, or a copy of your amplitude envelope.
-Watch out for DC offset. As long as you're folding, there won't be any. However, if you simply add or subtract symmetry from an unfolded signal, you will be introducing bias. I plan on adding a DC Blocker switch in a future update.

Modes:
DIST - Wavefolding Distortion. This is the same algorithm from Wavefolder 1.0. Solid digital wavefolding.
SIN - Probably the method I should have originally gone with! Feeds your signal through a Sin function. This method has a linear gain multiplier of your input signal, so it folds evenly across the knob.
SIN2 - Same as SIN, but uses an exponential function to scale your input signal. It increases slowly for part of the Fold knob, and then increases much more rapidly into very aggressive territory.
OD - Idea taken from Madrona Labs' Max Patch prototype of the Aalto Timbre knob (https://www.muffwiggler.com/forum/viewtopic.php?p=2007344#2007344). Same as SIN2 mode, but adds a variable Overdrive post-fold.
OD 2 - Same as above, but also added a second Overdrive post-gain, pre-bias. Good stuff!

Notes for Block Builders:
-This Block contains a macro that I made called fModDiv. This is floating-point Modulus and Division, since the Core Library only has an Integer variation. It's not perfectly accurate (note the transition from float to integer, I couldn't find a "floor" element), but it sounds fine in this context. Feel free to reuse this folder. It's based on a great folding algorithm from http://musicdsp.org/archive.php?classid=4#203

COMMENTS  (21)

Artem Moroz
9 months ago
Thank You VerY MUCH!!!
gregor smith
6 years ago
This thing is just NASTY! Love it!!
Jedinhopy Xelon
6 years ago
There is: DIST. SIN. SIN2. OD. OD2. When it should be: DIST. SIN-1. SIN-2. OD-1. OD-2.
Bryce Upright
6 years ago
This Block is amazing. Not sure why it's not a solid 5 stars, ...possibly folks don't know that wavefolding works best on simple waveforms (Sine and Triangle waves) ....excellent Block
Jay Scott
6 years ago
Now we're talkin ! This is simply fantastic sounding! Please, please more west-coast modules! Thanks again Michael!
Michael Hetrick
6 years ago
New, better sounding version. Joe, I looked into your modulation issue, and that's to be expected. If you want your LFO to travel from far left knob to far right, set your LFO to Unipolar (top left corner) instead of Bipolar. Bipolar will travel the full knob if the knob is set to 12 O'Clock.
andreas haun
6 years ago
sorry for the dump q. i do lnow the difference but i never saw the wavefolder 1.1 !?
Thala Estra
6 years ago
hi, thanks a lot for all these awesome Blocks. maybe a highpass (Cutoff set to lowest frequency) would help to get rid of the DC.
joe king
6 years ago
1.2 has the fold knob only going half way round with max modulation, knob starts at left. Symm okay.
Thomas Helzle
6 years ago
Cool that my tip proved helpful ;-) BTW: The Reaktor docs warn that a value of exactly 0.5 is actually undefined with round and can go either way, so if that is important, you may need to use a tiny bit less that 0.5 for the calculation... ;-)
Thomas Helzle
6 years ago
Cool that my tip proved helpful ;-) BTW: The Reaktor docs warn that a value of exactly 0.5 is actually undefined with round and can go either way, so if that is important, you may need to use a tiny bit less that 0.5 for the calculation... ;-)
Michael Hetrick
6 years ago
Andreas: Nope! You should download both hahah. The Wavefolder is a foldover distortion module, meaning that the peaks of the waveform are "flipped" instead of clipping (check it out with a sine wave on the scope). The Waveshaper uses parabolic or hyperbolic shaping to take a curved shape and "bend" it towards square, if that makes sense.
andreas haun
6 years ago
wavefolder 1,2 = newer version of waveshaper 1.0 ?
Michael Hetrick
6 years ago
Joe: Could you download the 1.2 update and see if that fixes the weird mod behavior? Julian: Completely agreed. I chose the fold intensity more from my experience with the Intellijel uFold, which has a switch for selecting how many fold stages it goes through. It tends to run a lot hotter than other Wavefolders. Do you think it would benefit from a softer mode as well? It still won't sound quite like a Buchla, as this is a really digital approach to wavefolding, but it might give more breathing room for modulation signals. I also do not have a Buchla or Serge system to test against =) Thomas: Thank you so much! Sometimes I forget how to math. The fDivMod macro now uses Floor.
joe king
6 years ago
I added an lfo and the behaviour of the knobs seems funny. I modulated 'mod a' with an lfo and the fold knob seems to be moving very small. Also the symm knob seems to be affected but there is no mod amount on it (previously I had modulated the symm knob but taken it off).
Julian Parker
6 years ago
Nitpicking west-coast modular nerd point: this sounds really quite different to a classic Buchla/Serge style wavefolder, as the transfer curve is much sharper. It's definitely nice for getting freaky fold-back distortion sounds though. Thanks for the upload!
andreas haun
6 years ago
+1 !
Thomas Helzle
6 years ago
AFAIK there is no floor element, but if you add or subtract 0.5 to/from your value and use round afterwards, you should be able to create floor and ceiling. Cheers and thanks for the block! Tom
Brett Lavallee
6 years ago
Using these all a lot. Thank you very much.
Michael Julian
6 years ago
I was hoping that someone with the chops would upload one of these. Judging by the quality of your other uploads, this will be excellent. Thanks.
ae ae
6 years ago
Thank You Michael as always. Thanks for this update
now