GENtanh

"tanh" — Génère une table avec les valeurs de la fonction tanh.

Description

Crée une table avec les valeurs de la fonction tanh.

Syntaxe

f # time size "tanh" start end rescale

Initialisation

size -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f).

start, end -- la première et la dernière valeur à mémoriser ; le GEN dessine une courbe qui va de start à end : tanh(start) ... tanh(end). Les points mis en mémoire sont répartis uniformément entre ces deux valeurs sur la longueur de la table.

rescale -- s'il est différent de zéro, la table n'est pas normalisée.

Exemples

Voici un exemple simple de la routine GENtanh. Il utilise le fichier gentanh.csd.

Exemple 1097. Exemple de la routine GENtanh.

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  ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o gentanh.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

aswp	linseg	0.01, p3*.5, .49, p3*.5, 0.01		;index sweep function
aindex	poscil	aswp, 110, 1				;sound to waveshape
atable	tablei	aindex, p4, 1, .5			;waveshape index
aenv	linen	0.8, .01, p3, .02			;amplitude envelope
asig	= (atable*aenv)*p5				;impose envelope and scale
asig    dcblock2 asig					;get rid of DC
	outs    asig, asig

endin		
</CsInstruments>
<CsScore>
f 1 0 8192 10 1	;sine wave
f 2 0 8192 "tanh" -100 100 0	;symmetrical transfer fuction
f 3 0 8192 "tanh" -10  10  0	;symmetrical
f 4 0 8192 "tanh"   0  10  0	;not symmetrical

i1 0 3 2 1
i1 + 3 3 1
i1 + 3 4 2

e
</CsScore>
</CsoundSynthesizer>


Voici les diagrammes des formes d'onde des routines GENtanh utilisées dans l'exemple :

f 2 0 8192 "tanh" -100 100 0 - beaucoup de distorsion

f 2 0 8192 "tanh" -100 100 0 - beaucoup de distorsion

f 3 0 8192 "tanh" -10 10 0 - moins de distorsion que f2

f 3 0 8192 "tanh" -10 10 0 - moins de distorsion que f2

f 4 0 8192 "tanh" -10 15 0

f 4 0 8192 "tanh" -10 15 0

Voir aussi

GENexp and GENsone.

Plus d'information sur cette routine : http://www.csounds.com/journal/issue11/distortionSynthesis, écrit par Victor Lazzarini

Crédits

Ecrit par John ffitch