csound-expression-0.0.3: 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.