Use Non-Frames Version Previous Page Next Page
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)


Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Special Effects