csound-expression-0.0.2: Csound combinator library

CsoundExpr.Opcodes.Siggen.Basic

Description

Basic Oscillators

Synopsis

Documentation

oscbnk :: (K k0, K k1, K k2, K k3, K k4, K k5, K k6, K k7, K k8, K k9, K k10, K k11, K k12, K k13, K k14) => [Irate] -> k0 -> k1 -> k2 -> k3 -> Irate -> Irate -> k4 -> k5 -> k6 -> k7 -> Irate -> k8 -> k9 -> k10 -> k11 -> k12 -> k13 -> Irate -> k14 -> ArateSource

  • opcode : oscbnk
  • syntax :
   ares oscbnk kcps, kamd, kfmd, kpmd, iovrlap, iseed, kl1minf, kl1maxf, 
       kl2minf, kl2maxf, ilfomode, keqminf, keqmaxf, keqminl, keqmaxl, 
       keqminq, keqmaxq, ieqmode, kfn [, il1fn] [, il2fn] [, ieqffn] 
       [, ieqlfn] [, ieqqfn] [, itabl] [, ioutfn]
  • description :

This unit generator mixes the output of any number of oscillators. The frequency, phase, and amplitude of each oscillator can be modulated by two LFOs (all oscillators have a separate set of LFOs, with different phase and frequency); additionally, the output of each oscillator can be filtered through an optional parametric equalizer (also controlled by the LFOs). This opcode is most useful for rendering ensemble (strings, choir, etc.) instruments.

oscilA :: (X x0, X x1) => [Irate] -> x0 -> x1 -> Irate -> ArateSource

  • opcode : oscil
  • syntax :
   ares oscil xamp, xcps, ifn [, iphs]
   kres oscil kamp, kcps, ifn [, iphs]
  • description :

oscil reads table ifn sequentially and repeatedly at a frequency xcps. The amplitude is scaled by xamp.

oscilK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> KrateSource

  • opcode : oscil
  • syntax :
   ares oscil xamp, xcps, ifn [, iphs]
   kres oscil kamp, kcps, ifn [, iphs]
  • description :

oscil reads table ifn sequentially and repeatedly at a frequency xcps. The amplitude is scaled by xamp.

oscil3A :: (X x0, X x1) => [Irate] -> x0 -> x1 -> Irate -> ArateSource

  • opcode : oscil3
  • syntax :
   ares oscil3 xamp, xcps, ifn [, iphs]
   kres oscil3 kamp, kcps, ifn [, iphs]
  • description :

oscil3 reads table ifn sequentially and repeatedly at a frequency xcps. The amplitude is scaled by xamp. Cubic interpolation is applied for table look up from internal phase values.

oscil3K :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> KrateSource

  • opcode : oscil3
  • syntax :
   ares oscil3 xamp, xcps, ifn [, iphs]
   kres oscil3 kamp, kcps, ifn [, iphs]
  • description :

oscil3 reads table ifn sequentially and repeatedly at a frequency xcps. The amplitude is scaled by xamp. Cubic interpolation is applied for table look up from internal phase values.

osciliA :: (X x0, X x1) => [Irate] -> x0 -> x1 -> Irate -> ArateSource

  • opcode : oscili
  • syntax :
   ares oscili xamp, xcps, ifn [, iphs]
   kres oscili kamp, kcps, ifn [, iphs]
  • description :

oscili reads table ifn sequentially and repeatedly at a frequency xcps. The amplitude is scaled by xamp. Linear interpolation is applied for table look up from internal phase values.

osciliK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> KrateSource

  • opcode : oscili
  • syntax :
   ares oscili xamp, xcps, ifn [, iphs]
   kres oscili kamp, kcps, ifn [, iphs]
  • description :

oscili reads table ifn sequentially and repeatedly at a frequency xcps. The amplitude is scaled by xamp. Linear interpolation is applied for table look up from internal phase values.

oscils :: [Irate] -> Irate -> Irate -> Irate -> ArateSource

  • opcode : oscils
  • syntax :
   ares oscils iamp, icps, iphs [, iflg]
  • description :

Simple, fast sine oscillator, that uses only one multiply, and two add operations to generate one sample of output, and does not require a function table.

poscilAAA :: [Irate] -> Arate -> Arate -> Irate -> ArateSource

  • opcode : poscil
  • syntax :
   ares poscil aamp, acps, ifn [, iphs]
   ares poscil aamp, kcps, ifn [, iphs]
   ares poscil kamp, acps, ifn [, iphs]
   ares poscil kamp, kcps, ifn [, iphs]
   ires poscil kamp, kcps, ifn [, iphs]
   kres poscil kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator.

poscilAAK :: K k0 => [Irate] -> Arate -> k0 -> Irate -> ArateSource

  • opcode : poscil
  • syntax :
   ares poscil aamp, acps, ifn [, iphs]
   ares poscil aamp, kcps, ifn [, iphs]
   ares poscil kamp, acps, ifn [, iphs]
   ares poscil kamp, kcps, ifn [, iphs]
   ires poscil kamp, kcps, ifn [, iphs]
   kres poscil kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator.

poscilAKA :: K k0 => [Irate] -> k0 -> Arate -> Irate -> ArateSource

  • opcode : poscil
  • syntax :
   ares poscil aamp, acps, ifn [, iphs]
   ares poscil aamp, kcps, ifn [, iphs]
   ares poscil kamp, acps, ifn [, iphs]
   ares poscil kamp, kcps, ifn [, iphs]
   ires poscil kamp, kcps, ifn [, iphs]
   kres poscil kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator.

poscilAKK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> ArateSource

  • opcode : poscil
  • syntax :
   ares poscil aamp, acps, ifn [, iphs]
   ares poscil aamp, kcps, ifn [, iphs]
   ares poscil kamp, acps, ifn [, iphs]
   ares poscil kamp, kcps, ifn [, iphs]
   ires poscil kamp, kcps, ifn [, iphs]
   kres poscil kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator.

poscilI :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> IrateSource

  • opcode : poscil
  • syntax :
   ares poscil aamp, acps, ifn [, iphs]
   ares poscil aamp, kcps, ifn [, iphs]
   ares poscil kamp, acps, ifn [, iphs]
   ares poscil kamp, kcps, ifn [, iphs]
   ires poscil kamp, kcps, ifn [, iphs]
   kres poscil kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator.

poscilK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> KrateSource

  • opcode : poscil
  • syntax :
   ares poscil aamp, acps, ifn [, iphs]
   ares poscil aamp, kcps, ifn [, iphs]
   ares poscil kamp, acps, ifn [, iphs]
   ares poscil kamp, kcps, ifn [, iphs]
   ires poscil kamp, kcps, ifn [, iphs]
   kres poscil kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator.

poscil3A :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> ArateSource

  • opcode : poscil3
  • syntax :
   ares poscil3 kamp, kcps, ifn [, iphs]
   kres poscil3 kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator with cubic interpolation.

poscil3K :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Irate -> KrateSource

  • opcode : poscil3
  • syntax :
   ares poscil3 kamp, kcps, ifn [, iphs]
   kres poscil3 kamp, kcps, ifn [, iphs]
  • description :

High precision oscillator with cubic interpolation.

osciliktA :: (X x0, X x1, K k0) => [Irate] -> x0 -> x1 -> k0 -> ArateSource

  • opcode : oscilikt
  • syntax :
   ares oscilikt xamp, xcps, kfn [, iphs] [, istor]
   kres oscilikt kamp, kcps, kfn [, iphs] [, istor]
  • description :

oscilikt is very similar to oscili, but allows changing the table number at k-rate. It is slightly slower than oscili (especially with high control rate), although also more accurate as it uses a 31-bit phase accumulator, as opposed to the 24-bit one used by oscili.

osciliktK :: (K k0, K k1, K k2) => [Irate] -> k0 -> k1 -> k2 -> KrateSource

  • opcode : oscilikt
  • syntax :
   ares oscilikt xamp, xcps, kfn [, iphs] [, istor]
   kres oscilikt kamp, kcps, kfn [, iphs] [, istor]
  • description :

oscilikt is very similar to oscili, but allows changing the table number at k-rate. It is slightly slower than oscili (especially with high control rate), although also more accurate as it uses a 31-bit phase accumulator, as opposed to the 24-bit one used by oscili.

osciliktp :: (K k0, K k1, K k2) => [Irate] -> k0 -> k1 -> k2 -> ArateSource

  • opcode : osciliktp
  • syntax :
   ares osciliktp kcps, kfn, kphs [, istor]
  • description :

osciliktp allows phase modulation (which is actually implemented as k-rate frequency modulation, by differentiating phase input). The disadvantage is that there is no amplitude control, and frequency can be varied only at the control-rate. This opcode can be faster or slower than oscilikt, depending on the control-rate.

oscilikts :: (X x0, X x1, K k0, K k1) => [Irate] -> x0 -> x1 -> k0 -> Arate -> k1 -> ArateSource

  • opcode : oscilikts
  • syntax :
   ares oscilikts xamp, xcps, kfn, async, kphs [, istor]
  • description :

oscilikts is the same as oscilikt. Except it has a sync input that can be used to re-initialize the oscillator to a k-rate phase value. It is slower than oscilikt and osciliktp.

osciln :: K k0 => k0 -> Irate -> Irate -> Irate -> ArateSource

  • opcode : osciln
  • syntax :
   ares osciln kamp, ifrq, ifn, itimes
  • description :

Accesses table values at a user-defined frequency. This opcode can also be written as oscilx.

lfoA :: (K k0, K k1) => [Irate] -> k0 -> k1 -> ArateSource

  • opcode : lfo
  • syntax :
   kres lfo kamp, kcps [, itype]
   ares lfo kamp, kcps [, itype]
  • description :

A low frequency oscillator of various shapes.

lfoK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> KrateSource

  • opcode : lfo
  • syntax :
   kres lfo kamp, kcps [, itype]
   ares lfo kamp, kcps [, itype]
  • description :

A low frequency oscillator of various shapes.

vibr :: (K k0, K k1) => k0 -> k1 -> Irate -> KrateSource

  • opcode : vibr
  • syntax :
   kout vibr kAverageAmp, kAverageFreq, ifn
  • description :

Easier-to-use user-controllable vibrato.

vibrato :: (K k0, K k1, K k2, K k3, K k4, K k5, K k6, K k7) => [Irate] -> k0 -> k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> Irate -> KrateSource

  • opcode : vibrato
  • syntax :
   kout vibrato kAverageAmp, kAverageFreq, kRandAmountAmp, 
       kRandAmountFreq, kAmpMinRate, kAmpMaxRate, kcpsMinRate, 
       kcpsMaxRate, ifn [, iphs]
  • description :

Generates a natural-sounding user-controllable vibrato.