2021-05-15
A new wave folder module
Made a WaveFolder module. This module implements a Serge / Ken Stone / Buchla like wave folder using a chain of 4 Lockhart wave folders. The module is anti-aliased using a first order antiderivative method.
Output shape is determined by the three controls, R, Gain and Offset. These are all mupltiplied by a modulation input that is set to 1.0 when it is not connected.
The module can lockup for high settings of gain and/or R, not sure if I’m going to fix that … [fixed that later on]
And refactored the code a bit to make it usable for other anti-derivative anti-aliased functiions.
2021-05-16: Added some clipping to the WaveFolder module, some internal (heavenly aliasing) hard clipping to stop it from locking up entirely on infinities and stuff and some user selectable output clipping (for the ‘reasonable’ settings of R and Gain).
The user selectable clipping is one of ‘off’, ’soft’ or ‘hard’. these are all anti aliased using a first order anti-derivative. Indeed off is not entirely off, but anti-aliased hard clipping on a pretty high level.
Added clipping to the [-1.0, +1.0] range for the modulation inputs, just to avoid very very unreasonable parameter values.
A possible wave form, made from a sine wave: