weibull — Weibull distribution random number generator (positive values only).


Weibull distribution random number generator (positive values only). This is an x-class noise generator


ares weibull ksigma, ktau
ires weibull ksigma, ktau
kres weibull ksigma, ktau


ksigma -- scales the spread of the distribution.

ktau -- if greater than one, numbers near ksigma are favored. If smaller than one, small values are favored. If t equals 1, the distribution is exponential. Outputs only positive numbers.

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.


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

Example 516. Example of the weibull opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o weibull.wav -W ;;; for file output any platform

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Instrument #1.
instr 1
  ; Generate a random number in a Weibull distribution.
  ; ksigma = 1
  ; ktau = 1

  i1 weibull 1, 1

  print i1


; Play Instrument #1 for one second.
i 1 0 1


Its output should include a line like this:

instr 1:  i1 = 1.834

See Also

seed, betarand, bexprnd, cauchy, exprand, gauss, linrand, pcauchy, poisson, trirand, unirand


Author: Paris Smaragdis
MIT, Cambridge

Example written by Kevin Conder.