Skip to content

trigphasor

A resettable linear ramp between two levels.

Plugin opcode in scugens.

A resettable linear ramp between two levels (port of Supercollider's Phasor). trigphasor is a linear ramp between kstart and kend values. When its trigger input crosses from non-positive to positive, trigphasor's output will jump to its reset position (or to _kstart_if no reset value was given). Upon reaching the end of its ramp, trigphasor will wrap back to its start.

Syntax

aindex trigphasor xtrig, xrate, kstart, kend [, kresetPos]
kindex trigphasor xtrig, xrate, kstart, kend [, kresetPos]

Performance

xtrig -- trigger, whenever this crosses from non-positive to possitive

xrate -- value added at each evaluation. When running at k-rate, this value is added at each cycle; at a-rate, this value is added per sample (ksmps per cycle).

kstart, kend -- start and end values of the phasor

xtrig -- trigger, whenever this crosses from non-positive to possitive

kresetPos -- if specified, this value will be used to jump to after a trigger. Otherwise, a trigger will set the position back to kstart

To generate a phasing signal from kstart to kend with a given period (duration of each cycle), the calculation would be:

rate = (end - start) / (period * sr)

In the case of phasor being used at k-rate, use kr instead of sr in the above formula.

Examples

Here is an example of the trigphasor opcode. It uses the file trigphasor.csd.

Example of the trigphasor opcode.
<CsoundSynthesizer>
<CsOptions>
-odac
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 64
nchnls = 2
0dbfs = 1.0

gisnd ftgen 0, 0, 0, -1, "finneganswake1.flac", 0, 0, 0

instr 1
  ; use trigphasor to read a soundfile
  inumsamps = nsamp(gisnd)
  irate = 1  ; play at original speed
  ktrig metro 0.25
  aphase trigphasor ktrig, irate, 0, inumsamps
  asig table3 aphase, gisnd
  asig *= linsegr:a(0, 0.01, 1, 0.01, 0)
  outch 1, asig
endin

</CsInstruments>
<CsScore>
i 1 0 20
f0 3600

</CsScore>
</CsoundSynthesizer>

See also

Phasors

Credits

By: Eduardo Moguillansky 2017