ar distort1 asig[, kpregain][, kpostgain[, kshape1[, kshape2]]]
Implementation of modified hyperbolic tangent distortion. distort1 can be used to generate wave shaping distortion based on a modification of the tanh function.
exp(asig * (pregain + shape1)) - exp(asig*(pregain+shape2)) aout = ----------------------------------------------------------- exp(asig*pregain) + exp(-asig*pregain)
asig - is the input signal.
kpregain - determines the amount of gain applied to the signal before waveshaping. A value of 1 gives slight distortion.
kpostgain - determines the amount of gain applied to the signal after waveshaping.
kshape1 - determines the shape of the positive part of the curve. A value of 0 gives a flat clip, small positive values give sloped shaping.
kshape2 - determines the shape of the negative part of the curve.
All arguments except asig, were made optional in Csound version 3.52.
gadist init 0 instr 1 iamp = p4 ifqc = cpspch(p5) asig pluck iamp, ifqc, ifqc, 0, 1 gadist = gadist + asig endin instr 50 kpre init p4 kpost init p5 kshap1 init p6 kshap2 init p7 aout distort1 gadist, kpre, kpost, kshap1, kshap2 outs aout, aout gadist = 0 endin ; Sta Dur Amp Pitch i1 0.0 3.0 10000 6.00 i1 0.5 2.5 10000 7.00 i1 1.0 2.0 10000 7.07 i1 1.5 1.5 10000 8.00 ; Sta Dur PreGain PostGain Shape1 Shape2 i50 0 3 2 1 0 0 e
Hans Mikelson
December 1998 (New in Csound version 3.50)