trigger

trigger — Informs when a krate signal crosses a threshold.

Description

Informs when a krate signal crosses a threshold.

Syntax

kout trigger ksig, kthreshold, kmode

Performance

ksig -- input signal

kthreshold -- trigger threshold

kmode -- can be 0 , 1 or 2

Normally trigger outputs zeroes: only each time ksig crosses kthreshold trigger outputs a 1. There are three modes of using ktrig:

  • kmode = 0 - (down-up) ktrig outputs a 1 when current value of ksig is higher than kthreshold, while old value of ksig was equal to or lower than kthreshold.

  • kmode = 1 - (up-down) ktrig outputs a 1 when current value of ksig is lower than kthreshold while old value of ksig was equal or higher than kthreshold.

  • kmode = 2 - (both) ktrig outputs a 1 in both the two previous cases.

Examples

Here is an example of the trigger opcode. It uses the files trigger.orc and trigger.sco.

Example 387. Example of the trigger opcode.

/* trigger.orc */
; 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
/* trigger.orc */

        
/* trigger.sco */
; Play Instrument #1 for one second.
i 1 0 1
e
/* trigger.sco */

        

Its output should include lines like this:

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
      

Credits

Author: Gabriel Maldonado
Italy

Example written by Kevin Conder.

New in Csound version 3.49