transeg — Construit une enveloppe définie par l'utilisateur.
ares transeg ia, idur, itype, ib [, idur2] [, itype] [, ic] ...
kres transeg ia, idur, itype, ib [, idur2] [, itype] [, ic] ...
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))
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.
Voici un exemple de l'opdcode transeg. Il utilise le fichier transeg.csd. L'exemple produit la sortie suivante :
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>