distort1

distort1 — Distorsion par tangente hyperbolique modifiée.

Description

Implémentation de la distorsion par tangente hyperbolique modifiée. distort1 peut être utilisé pour générer une distorsion non-linéaire basée sur une modification de la fonction tanh.


         exp(asig * (shape1 + pregain)) - exp(asig * (shape2 - pregain))
  aout = ---------------------------------------------------------------
         exp(asig * pregain)            + exp(-asig * pregain)

Syntaxe

ares distort1 asig, kpregain, kpostgain, kshape1, kshape2[, imode]

Initialisation

imode (Csound version 5.00 et suivantes seulement ; facultatif, 0 par défaut) -- met à l'échelle kpregain, kpostgain, kshape1 et kshape2 pour une utilisation avec des signaux audio entre -32768 et 32768 (imode=0), entre -0dbfs et 0dbfs (imode=1), ou désactive la mise à l'échelle de kpregain et de kpostgain et pondère kshape1 par kpregain et kshape2 par -kpregain (imode=2).

Exécution

asig -- est le signal d'entrée.

kpregain -- détermine le gain appliqué au signal avant la distorsion. Une valeur de 1 donne une légère distorsion.

kpostgain -- détermine le gain appliqué au signal après la distorsion.

kshape1 -- détermine la forme de la partie positive de la courbe. Une valeur de 0 donne un palier, de petites valeurs positives donnent une forme pentue.

kshape2 -- détermine la forme de la partie négative de la courbe.

Exemples

Voici un exemple de l'opcode distort1. Il utilise le fichier distort1.csd.

Exemple 217. Exemple de l'opcode distort1.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;RT audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o distort1.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1


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, 1

  outs aout, aout

  gadist = 0
endin


</CsInstruments>
<CsScore>

;   Sta  Dur  Amp    Pitch
i1  0.0  3.0  0.5  6.00
i1  0.5  2.5  0.5  7.00
i1  1.0  2.0  0.5  7.07
i1  1.5  1.5  0.5  8.00
  
;   Sta  Dur  PreGain PostGain Shape1 Shape2
i50 0    4      2       .5       0      0
e

</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Hans Mikelson
Décembre 1998

Nouveau dans la version 3.50 de Csound