phasor
Prev | Orchestra Opcodes and Operators | Next

## 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 435. 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
    ; Audio out   Audio in    No messages
    -odac           -iadc     -d     ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o phasor.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    ; Initialize the global variables.
    sr = 44100
    kr = 4410
    ksmps = 10
    nchnls = 1

    ; Instrument #1.
    instr 1
      ; Create an index that repeats once per second.
      kcps init 1
      kndx phasor kcps

      ; Read Table #1 with our index.
      ifn = 1
      ixmode = 1
      kfreq table kndx, ifn, ixmode

      ; Generate a sine waveform, use our table values
      ; to vary its frequency.
      a1 oscil 20000, kfreq, 2
      out a1
    endin

    </CsInstruments>
    <CsScore>

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

    ; Play Instrument #1 for 2 seconds.
    i 1 0 2
    e

    </CsScore>
    </CsoundSynthesizer>

## See also

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

Also: phasorbnk.

## Credits

Example written by Kevin Conder.

Prev | Up | Next
phaser2 | Home | phasorbnk