csound-expression-0.1.0: Csound combinator library

CsoundExpr.Opcodes.Siggen.Lineexp

Description

Linear and Exponential Generators

Synopsis

Documentation

exponA :: Irate -> Irate -> Irate -> ArateSource

  • opcode : expon
  • syntax :
   ares expon ia, idur, ib
   kres expon ia, idur, ib
  • description :

Trace an exponential curve between specified points.

exponK :: Irate -> Irate -> Irate -> KrateSource

  • opcode : expon
  • syntax :
   ares expon ia, idur, ib
   kres expon ia, idur, ib
  • description :

Trace an exponential curve between specified points.

expcurve :: (K k0, K k1) => k0 -> k1 -> KrateSource

  • opcode : expcurve
  • syntax :
   kout expcurve kindex, ksteepness
  • description :

Generates an exponential curve in range 0 to 1 of arbitrary steepness. Steepness index equal to or lower than 1.0 will result in Not-a-Number errors and cause unstable behavior.

expsegA :: [Irate] -> ArateSource

  • opcode : expseg
  • syntax :
   ares expseg ia, idur1, ib [, idur2] [, ic] [...]
   kres expseg ia, idur1, ib [, idur2] [, ic] [...]
  • description :

Trace a series of exponential segments between specified points.

expsegK :: [Irate] -> KrateSource

  • opcode : expseg
  • syntax :
   ares expseg ia, idur1, ib [, idur2] [, ic] [...]
   kres expseg ia, idur1, ib [, idur2] [, ic] [...]
  • description :

Trace a series of exponential segments between specified points.

expsega :: [Irate] -> ArateSource

  • opcode : expsega
  • syntax :
   ares expsega ia, idur1, ib [, idur2] [, ic] [...]
  • description :

An exponential segment generator operating at a-rate. This unit is almost identical to expseg, but more precise when defining segments with very short durations (i.e., in a percussive attack phase) at audio rate.

expsegrA :: [Irate] -> Irate -> Irate -> ArateSource

  • opcode : expsegr
  • syntax :
   ares expsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
   kres expsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
  • description :

Trace a series of exponential segments between specified points including a release segment.

expsegrK :: [Irate] -> Irate -> Irate -> KrateSource

  • opcode : expsegr
  • syntax :
   ares expsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
   kres expsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
  • description :

Trace a series of exponential segments between specified points including a release segment.

gainslider :: K k0 => k0 -> KrateSource

  • opcode : gainslider
  • syntax :
   kout gainslider kindex
  • description :

This opcode is intended for use to multiply by an audio signal to give a console mixer like feel. There is no bounds in the source code so you can for example give higher than 127 values for extra amplitude but possibly clipped audio.

jsplineA :: (X x0, K k0, K k1) => x0 -> k0 -> k1 -> ArateSource

  • opcode : jspline
  • syntax :
   ares jspline xamp, kcpsMin, kcpsMax
   kres jspline kamp, kcpsMin, kcpsMax
  • description :

A jitter-spline generator.

jsplineK :: (K k0, K k1, K k2) => k0 -> k1 -> k2 -> KrateSource

  • opcode : jspline
  • syntax :
   ares jspline xamp, kcpsMin, kcpsMax
   kres jspline kamp, kcpsMin, kcpsMax
  • description :

A jitter-spline generator.

lineA :: Irate -> Irate -> Irate -> ArateSource

  • opcode : line
  • syntax :
   ares line ia, idur, ib
   kres line ia, idur, ib
  • description :

Trace a straight line between specified points.

lineK :: Irate -> Irate -> Irate -> KrateSource

  • opcode : line
  • syntax :
   ares line ia, idur, ib
   kres line ia, idur, ib
  • description :

Trace a straight line between specified points.

linsegA :: [Irate] -> ArateSource

  • opcode : linseg
  • syntax :
   ares linseg ia, idur1, ib [, idur2] [, ic] [...]
   kres linseg ia, idur1, ib [, idur2] [, ic] [...]
  • description :

Trace a series of line segments between specified points.

linsegK :: [Irate] -> KrateSource

  • opcode : linseg
  • syntax :
   ares linseg ia, idur1, ib [, idur2] [, ic] [...]
   kres linseg ia, idur1, ib [, idur2] [, ic] [...]
  • description :

Trace a series of line segments between specified points.

linsegrA :: [Irate] -> Irate -> Irate -> ArateSource

  • opcode : linsegr
  • syntax :
   ares linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
   kres linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
  • description :

Trace a series of line segments between specified points including a release segment.

linsegrK :: [Irate] -> Irate -> Irate -> KrateSource

  • opcode : linsegr
  • syntax :
   ares linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
   kres linsegr ia, idur1, ib [, idur2] [, ic] [...], irel, iz
  • description :

Trace a series of line segments between specified points including a release segment.

logcurve :: (K k0, K k1) => k0 -> k1 -> KrateSource

  • opcode : logcurve
  • syntax :
   kout logcurve kindex, ksteepness
  • description :

Generates a logarithmic curve in range 0 to 1 of arbitrary steepness. Steepness index equal to or lower than 1.0 will result in Not-a-Number errors and cause unstable behavior.

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

  • opcode : loopseg
  • syntax :
   ksig loopseg kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] 
       [, ktime2] [, kvalue2] [...]
  • description :

Generate control signal consisting of linear segments delimited by two or more specified points. The entire envelope is looped at kfreq rate. Each parameter can be varied at k-rate.

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

  • opcode : loopsegp
  • syntax :
   ksig loopsegp kphase, kvalue0, kdur0, kvalue1 
       [, kdur1,..., kdurN-1, kvalueN]
  • description :

Generate control signal consisiting of linear segments delimited by two or more specified points. The entire envelope can be looped at time-variant rate. Each segment coordinate can also be varied at k-rate.

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

  • opcode : lpshold
  • syntax :
   ksig lpshold kfreq, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] 
       [, ktime2] [, kvalue2] [...]
  • description :

Generate control signal consisting of held segments delimited by two or more specified points. The entire envelope is looped at kfreq rate. Each parameter can be varied at k-rate.

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

  • opcode : lpsholdp
  • syntax :
   ksig lpsholdp kphase, ktrig, ktime0, kvalue0 [, ktime1] [, kvalue1] 
       [, ktime2] [, kvalue2] [...]
  • description :

Generate control signal consisiting of held segments delimited by two or more specified points. The entire envelope can be looped at time-variant rate. Each segment coordinate can also be varied at k-rate.

rsplineA :: (X x0, X x1, K k0, K k1) => x0 -> x1 -> k0 -> k1 -> ArateSource

  • opcode : rspline
  • syntax :
   ares rspline xrangeMin, xrangeMax, kcpsMin, kcpsMax
   kres rspline krangeMin, krangeMax, kcpsMin, kcpsMax
  • description :

Generate random spline curves.

rsplineK :: (K k0, K k1, K k2, K k3) => k0 -> k1 -> k2 -> k3 -> KrateSource

  • opcode : rspline
  • syntax :
   ares rspline xrangeMin, xrangeMax, kcpsMin, kcpsMax
   kres rspline krangeMin, krangeMax, kcpsMin, kcpsMax
  • description :

Generate random spline curves.

scale :: (K k0, K k1, K k2) => k0 -> k1 -> k2 -> KrateSource

  • opcode : scale
  • syntax :
   kscl scale kinput, kmax, kmin
  • description :

Scales incoming value to user-definable range. Similar to scale object found in popular dataflow languages.

transegA :: [Irate] -> ArateSource

  • opcode : transeg
  • syntax :
   ares transeg ia, idur, itype, ib [, idur2] [, itype] [, ic]...
   kres transeg ia, idur, itype, ib [, idur2] [, itype] [, ic]...
  • description :

Constructs a user-definable envelope.

transegK :: [Irate] -> KrateSource

  • opcode : transeg
  • syntax :
   ares transeg ia, idur, itype, ib [, idur2] [, itype] [, ic]...
   kres transeg ia, idur, itype, ib [, idur2] [, itype] [, ic]...
  • description :

Constructs a user-definable envelope.