transegr

transegr — Construit une enveloppe définissable par l'utilisateur prolongée par un segment de relâchement.

Description

Construit une enveloppe définissable par l'utilisateur. Semblable à transeg, avec un segment de relâchement en prolongement.

Syntaxe

ares transegr ia, idur, itype, ib [, idur2] [, itype] [, ic] ...
kres transegr 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 toute initialisation sera ignorée.

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

itype, itype2, etc. -- s'il vaut 0, un segment de droite est produit. S'il est non nul, alors transegr crée la courbe suivante pour n pas :


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

Exécution

Si itype > 0, il y a une courbe croissant lentement (concave) ou decroissant lentement (convexe), tandis que si itype < 0, la courbe est à croissance rapide (convexe) ou à décroissance rapide (concave). Voir aussi GEN16.

Cet opcode est le même que transeg avec un segment de relâchement additionnel déclenché par un évènement MIDI noteoff, un évènement de note avec p1 négatif dans la partition ou un opcode turnoff2.

Exemples

Voici un exemple de l'opcode transegr. Il utilise le fichier transegr.csd.

Exemple 1112. Exemple de l'opcode transegr.

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

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

instr 1
 	 
icps cpsmidi	 	 
iamp ampmidi .2	 
;             st,dur1,typ1,val,dur2,typ2,end	 	 	 
kenv transegr 0,  .2,  2,  .5,  1, - 3,   0
asig pluck kenv*iamp, icps, icps, 1, 1	 
     outs asig, asig

	 
endin
</CsInstruments>
<CsScore>
f1 0 4096 10 1	;sine

f0 30	;runs 30 seconds
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

expsega, expsegr, linseg, linsegr, transeg

Crédits

Auteur : John ffitch
Janvier 2010

Nouveau dans la version 5.12 de Csound.