Signal Modifiers: Special Effects

## distort1

ar **distort1** asig[, kpregain][, kpostgain[, kshape1[, kshape2]]]

### Description

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)

### Performance

*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.

### Example

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

### Author

Hans Mikelson

December 1998 (New in Csound version 3.50)

Signal Modifiers: Special Effects