phasor — Produce a normalized moving phase value.
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 760. 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>
A musical example featuring the phasor opcode: PhasorTablei_Cucchi.csd by Stefano Cucchi.