phasor — Produce a normalized moving phase value.


Produce a normalized moving phase value.


ares phasor xcps [, iphs]
kres phasor kcps [, iphs]


iphs (optional) -- initial phase, expressed as a fraction of a cycle (0 to 1). A negative value will cause phase initialization to be skipped. The default value is zero.


An internal phase is successively accumulated in accordance with the kcps or xcps frequency to produce a moving phase value, normalized to lie in the range 0 <= phs < 1.

When used as the index to a table unit, this phase (multiplied by the desired function table length) will cause it to behave like an oscillator.

Note that phasor is a special kind of integrator, accumulating phase increments that represent frequency settings.


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

Example 604. Example of the phasor opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if real audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o phasor.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

ifn = 1			;read table 1 with our index
ixmode = 1
kndx phasor p4
kfrq table kndx, ifn, ixmode
asig poscil .6, kfrq, 2	;re-synthesize with sine
     outs asig, asig

f 1 0 1025 -7 200 1024 2000 ;a line from 200 to 2,000	
f 2 0 16384 10 1;sine wave

i 1 0 1 1	;once per second
i 1 2 2 .5	;once per 2 seconds
i 1 5 1 2	;twice per second

See also

The Table Access opcodes like: table, tablei, table3 and tab.

Also: phasorbnk.