trigger

trigger — Informe quand un signal de taux-k traverse un seuil.

Description

Informe quand un signal de taux-k traverse un seuil.

Syntaxe

kout trigger ksig, kthreshold, kmode

Exécution

ksig -- signal d'entrée

kthreshold -- seuil de déclenchement

kmode -- peut valoir 0, 1 ou 2

Normalement trigger retourne des zéros : trigger retourne 1 chaque fois que ksig traverse kthreshold. Il y a trois modes d'utilisation de ktrig :

  • kmode = 0 - (bas-haut) ktrig retourne 1 lorsque la valeur courante de ksig est supérieure à kthreshold, alors que l'ancienne valeur de ksig était égale ou inférieure à kthreshold.

  • kmode = 1 - (haut-bas) ktrig retourne 1 lorsque la valeur courante de ksig est inférieure à kthreshold alors que l'ancienne valeur de ksig était égale ou supérieure à kthreshold.

  • kmode = 2 - (les deux) ktrig retourne 1 dans les deux cas précédents.

Exemples

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

Exemple 635. Exemple de l'opcode trigger.

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
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o trigger.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Instrument #1.
instr 1
  ; Use a square-wave low frequency oscillator as the trigger.
  klf lfo 1, 10, 3
  ktr trigger klf, 1, 2

  ; When the value of the trigger isn't equal to 0, print it out.
  if (ktr == 0) kgoto contin
    ; Print the value of the trigger and the time it occurred.
    ktm times
    printks "time = %f seconds, trigger = %f\\n", 0, ktm, ktr

contin:
  ; Continue with processing.
endin


</CsInstruments>
<CsScore>

; Play Instrument #1 for one second.
i 1 0 1
e


</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme celles-ci :

time = 0.050340 seconds, trigger = 1.000000
time = 0.150340 seconds, trigger = 1.000000
time = 0.250340 seconds, trigger = 1.000000
time = 0.350340 seconds, trigger = 1.000000
time = 0.450340 seconds, trigger = 1.000000
time = 0.550340 seconds, trigger = 1.000000
time = 0.650340 seconds, trigger = 1.000000
time = 0.750340 seconds, trigger = 1.000000
time = 0.850340 seconds, trigger = 1.000000
time = 0.950340 seconds, trigger = 1.000000

Crédits

Auteur : Gabriel Maldonado
Italie

Exemple écrit par Kevin Conder.

Nouveau dans la version 3.49 de Csound.