GENtanh
Précédent | Instructions de partition et routines GEN | Suivant

## 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 1307. 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 3 0 8192 "tanh" -10 10 0 - moins de distorsion que f2

f 4 0 8192 "tanh" -10 15 0

## Voir aussi

GENexp and GENsone.

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

## Crédits

Ecrit par John ffitch

Précédent | Niveau supérieur | Suivant
GEN53 | Sommaire | GENexp