Wave folding using SmoothClipS. Values outside the range lo-hi are folded back, if foldRange > 0. A larger foldRange means less folding whereas a smaller foldRange causes more folding. The spectral result depends on the source wave form also but in general a smaller foldRange causes more energy in the higher spectrum whereas near foldRange == 0 the higher part of the spectrum again decreases. Note that, in contrast to classical wave folding, the number of foldings isn't limited here, possibly causing aliasing when heavy folding is forced.
in |
input signal. |
lo |
lower limit, defaults to -1. |
hi |
upper limit, defaults to 1. |
foldRange |
the relative amount of the range (defined by lo and hi) used for folding, should be >= 0 and <= 1. 0 means no folding (just smooth clipping), 1 means that the full range is used for folding, values inbetween determine the ranges near both borders, which are used for folding, defaults to 1. |
smoothAmount |
amount of smoothness, must be >= 0 and <= 1, defaults to 0.5. |
delta |
Threshold for avoiding zero divisions (which would happen if lo = hi and the border case of amount = 1). Normally not to be set by the user, except for very small clipping ranges, defaults to 0.00001. |
in |
input signal. |
lo |
lower limit, defaults to -1. |
hi |
upper limit, defaults to 1. |
foldRange |
the relative amount of the range (defined by lo and hi) used for folding, should be >= 0 and <= 1. 0 means no folding (just smooth clipping), 1 means that the full range is used for folding, values inbetween determine the ranges near both borders, which are used for folding, defaults to 1. |
smoothAmount |
amount of smoothness, must be >= 0 and <= 1, defaults to 0.5. |
delta |
Threshold for avoiding zero divisions (which would happen if lo = hi and the border case of amount = 1). Normally not to be set by the user, except for very small clipping ranges, defaults to 0.00001. |