linen

linen — Applique un motif constitué d'une attaque et d'une chute en segments de droite à un signal d'amplitude.

Description

linen -- applique un motif constitué d'une attaque et d'une chute en segments de droite à un signal d'amplitude.

Syntaxe

ares linen xamp, irise, idur, idec
kres linen kamp, irise, idur, idec

Initialisation

irise -- durée de l'attaque en secondes. Un valeur nulle ou négative signifie pas d'attaque.

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

idec -- durée de la chute en secondes. Si idec > idur la chute sera tronquée.

Exécution

kamp, xamp -- signal d'amplitude en entrée.

L'attaque est appliquée pendant les irise premières secondes, et la chute à partir de idur - idec. Si ces périodes sont séparées dans le temps il y aura un entretien durant lequel amp ne sera pas modifié. Si l'attaque et la chute de linen se chevauchent, les deux modifications agiront en même temps pendant cette période. Si la durée totale idur est dépassée pendant l'exécution, la chute continuera dans la même direction, devenant négative.

[Enveloppe générée par l'opcode linen]

Enveloppe générée par l'opcode linen

[Note] Note

Il est faux de croire que la valeur 0 sera tenue après la fin de l'enveloppe à idur secondes. linen ne se termine pas automatiquement à la fin de la durée donnée. Si la longueur de la note est supérieure à idur secondes, kres (ou ares) ne s'arrêtera pas à 0, mais continuera au contraire à chuter à la même vitesse. Si l'on a besoin d'une chute suivie d'une valeur stable il vaut mieux utiliser l'opcode linseg.

Exemples

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

Exemple 505. Exemple de l'opcode linen.

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 linen.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1
; p4=amp
; p5=freq
; p6=attack time
; p7=release time
ares linen  p4, p6, p3, p7 
asig poscil ares, p5, 1    
     outs   asig, asig     
                                         
endin
</CsInstruments>
<CsScore>
f1   0    4096 10 1      ; sine wave

;ins strt dur amp  freq attack release
i1   0    1   .5   440   0.5    0.7
i1   1.5  1   .2   440   0.9    0.1
i1   3    1   .2   880   0.02   0.99
i1   4.5  1   .2   880   0.7    0.01
i1   6    3   .7   220   0.5    0.5
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

envlpx, envlpxr, linenr