gtadsr

gtadsr — Attaque-chute-entretien linéaire à seuil avec un relachement exponentiel.

Description

Cet opcode peut fonctionner comme générateur ou comme processeur de signal. Il est contrôlé par un signal seuil de taux-k (0 ou > 0) qui active ou arrête la phase attaque-chute-entretien. Avec un seuil > 0 (haut), l'enveloppe parcourt l'attaque et la chute et reste au niveau d'entretien. Chaque fois que le seuil vaut 0 (bas), l'enveloppe entame sa phase de relachement, diminuant de façon exponentielle jusqu'à 0. Les durées d'attaque et de chute sont fixes tant que le seuil est > 0, mais elles peuvent changer si le seuil vaut zéro.

Syntaxe

ares gtadsr asig, katt, kdec, ksus,
    krel, kgate
xres gtadsr kamp, katt, kdec, ksus,
    krel, kgate

Exécution

x/ares -- signal de sortie (taux-k ou a)

asig -- signal d'entrée (si l'enveloppe se comporte comme un processeur d'amplitude)

kamp -- amplitude maximale (si l'enveloppe se comporte comme un générateur de signal)

katt -- durée de l'attaque

kdec -- durée de la chute

ksus -- niveau de la phase d'entretien (dans l'intervalle 0 - 1)

krel -- durée de la phase de relachement

kgate -- signal de seuil (0 = bas, > 0 haut).

La longueur de l'entretien est calculée à partie de la longueur de la note. Cela signifie que gtadsr ne convient pas pour des évènements MIDI.

Exemples

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

Exemple 406. Exemple de l'opcode gtadsr.

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>
-odac
</CsOptions>
<CsInstruments>

0dbfs = 1

instr 1
 gkamp = p4
 gkfr = p5
 gkgate = 1
 gkatt = p6
 gkdec = p7
 gksus = p8
 gkrel = p9
endin

instr 2
 a1 oscili gkamp,gkfr
 a2 gtadsr  a1,gkatt,gkdec,gksus,gkrel,gkgate
 out a2
 gkgate = 0;
endin

</CsInstruments>
<CsScore>
i1 0 1 1 440 0.1 0.1 0.5 0.1
i1 1.2 1 1 660 0.01 0.1 0.2 0.3
i1 2.5 1 1 550 0.01 0.1 0.7 1
i2 0 5
</CsScore>
</CsoundSynthesizer>


Voir aussi

adsr, madsr, xadsr

Crédits

Auteur : Victor Lazzarini;

Nouveau dans la version 6.17