phasor

phasor — Produce a normalized moving phase value.

Description

Produce a normalized moving phase value.

Syntax

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

Initialization

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.

Performance

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.

Examples

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.

<CsoundSynthesizer>
<CsOptions>
; 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
</CsOptions>
<CsInstruments>

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

endin
</CsInstruments>
<CsScore>
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
e
</CsScore>
</CsoundSynthesizer>


See also

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

Also: phasorbnk.