Skip to content

exprandi

Exponential distribution random number generator with interpolation (positive values only).

This is an x-class noise generator.

Syntax

ares exprandi klambda, xamp, xcps
ires exprandi klambda, xamp, xcps
kres exprandi klambda, xamp, xcps

Performance

klambda -- lambda parameter for the exponential distribution.

The probablity density function of an exponential distribution is an exponential curve, whose mean is 0.69515/lambda. For more detailed explanation of these distributions, see:

  1. C. Dodge - T.A. Jerse 1985. Computer music. Schirmer books. pp.265 - 286
  2. D. Lorrain. A panoply of stochastic cannons. In C. Roads, ed. 1989. Music machine. Cambridge, Massachusetts: MIT press, pp. 351 - 379.

xamp -- range over which random numbers are distributed.

xcps -- the frequency which new random numbers are generated.

Examples

Here is an example of the exprandi opcode. It uses the file exprandi.csd.

Example of the exprandi opcode.
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o exprand.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1
klambda exprandi        20, 1, 3
        printk2 klambda         ; look
aout    oscili  0.8, 440+klambda, 1     ; & listen
        outs    aout, aout
endin

</CsInstruments>
<CsScore>
; sine wave
f 1 0 16384 10 1

i 1 0 4
e

</CsScore>
</CsoundSynthesizer>

See also

Random (Noise) Generators

Credits

Author: John ffitch
Bath
May 2011
New in version 5.14