lagud

lagud — Lag exponentiel.

Description

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.

Syntaxe

aout lagud ain, klagup, klagdown [, initialvalue]
kout lagud kin, klagup, klagdown [, initialvalue]

Initialisation

initialvalue Si elle est fournie, fixe l'état interne. Vaut par défaut la première valeur passée.

Exécution

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é.

Exemples

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>


Voir aussi

lag, port, portk

Crédits

Par : Eduardo Moguillansky 2017