transeg

transeg — Construit une enveloppe définie par l'utilisateur.

Description

Construit une enveloppe définie par l'utilisateur.

Syntaxe

ares transeg ia, idur, itype, ib [, idur2] [, itype] [, ic] ...
kres transeg ia, idur, itype, ib [, idur2] [, itype] [, ic] ...

Initialisation

ia -- valeur de départ.

ib, ic, etc. -- valeur après idur secondes.

idur -- durée en secondes du premier segment. Avec une valeur nulle ou négative, l'initialisation sera ignorée.

idur2,...idurx etc. -- durée en secondes de chaque segment.

itype, itype2, etc. -- s'il vaut 0, un segment de droite est produit. S'il est différent de 0, transeg crée la courbe suivante en n pas :


ibeg + (ivalue - ibeg) * (1 - exp( i*itype/(n-1) )) / (1 - exp(itype))
      

Exécution

Si type > 0, on a une courbe montant lentement (concave) ou décroissant lentement (convexe), tandis que si type < 0, la courbe monte rapidement (convexe) ou décroit rapidement (concave). Voir aussi GEN16.

Exemples

Voici un exemple de l'opdcode transeg. Il utilise le fichier transeg.csd. L'exemple produit la sortie suivante :

Sortie de l'exemple de transeg.

Sortie de l'exemple de transeg.

Exemple 1110. Exemple de l'opdcode transeg.

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
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o transeg.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 128
nchnls = 2

0dbfs = 1

instr 1
;p4 and p5 determine the type of curve for each
;section of the envelope
kenv transeg 0.01, p3*0.25, p4, 1, p3*0.75, p5, 0.01
a1 oscil kenv, 440, 1
outs a1, a1
endin

</CsInstruments>
<CsScore>
; Table #1, a sine wave.
f 1 0 16384 10 1

i 1 0 2 2 2
i 1 + . 5 5
i 1 + . 1 1
i 1 + . 0 0
i 1 + . -2 -2
i 1 + . -2 2
i 1 + . 2 -2
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

expsega, expsegr, linseg, linsegr, triglinseg, trigexpseg, transegr.

Crédits

Auteur : John ffitch
Université de Bath, Codemist. Ltd.
Bath, UK
Octobre 2000

Nouveau dans la version 4.09 de Csound

Merci à Matt Gerassimoff pour avoir précisé la syntaxe correcte de la commande.