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 files phasor.orc and phasor.sco.

Example 269. Example of the phasor opcode.

    /* phasor.orc */
    ; 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
    /* phasor.orc */

    /* phasor.sco */
    ; 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
    /* phasor.sco */

## Credits

Example written by Kevin Conder.

Prev | Up | Next
phaser2 | Home | phasorbnk