lagud — Lag exponentiel.
Opcode du greffon scugens.
Lag exponentiel avec différentes durées de lissage pour des signaux augmentants et s'atténuants. Adapté du LagUD de Supercollider.
C'est essentiellement le même opcode que lag sauf que l'on peut donner des durées de latence à 60 dB différentes pour les signaux montant et descendants. Utile pour lisser des signaux de contrôle pour lesquels le fondu doit être différent de l'atténuation, ou pour modéliser l'attaque/relâchement d'une porte, etc.
aout lagud ain, klagup, klagdown [, initialvalue]
kout lagud kin, klagup, klagdown [, initialvalue]
initialvalue Si elle est fournie, fixe l'état interne. Vaut par défaut la première valeur passée.
ain -- Signal en entrée.
klagup -- Durée de latence à 60 dB en secondes pour le signal montant.
klagdown -- Durée de latence à 60 dB en secondes pour le signal atténué.
Voici un exemple de l'opcode lagud. Il utilise le fichier lagud.csd.
Exemple 496. Exemple de l'opcode lagud.
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> </CsOptions> <CsInstruments> sr = 44100 ksmps = 128 nchnls = 2 0dbfs = 1.0 instr 1 kx = randh(2, 1) kx2 = lagud(kx, 1.0, 0.1, 1) printks "x %f x2 %f\n", 0.1, kx, kx2 endin instr 2 kmidis[] fillarray 60, 65, 60, 65, 60 ilen = lenarray(kmidis) kidx = int(linseg(0, ilen*2, ilen-0.00000001)) kmidi = mtof(kmidis[kidx]) afreq = lagud(a(kmidi), 1, 0.1) a0 = oscili(0.7, afreq) kfreq = lagud(kmidi, 1, 0.1) a1 = oscili(0.7, kfreq) outch 1, a0 outch 2, a1 endin </CsInstruments> <CsScore> ; i 1 0 10 i 2 0 12 </CsScore> </CsoundSynthesizer>