distort1 — Distorsion par tangente hyperbolique modifiée.
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)
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).
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.
Voici un exemple de l'opcode distort1. Il utilise le fichier distort1.csd.
Exemple 242. 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>