birnd — Returns a random number in a bi-polar range.


Returns a random number in a bi-polar range.


birnd(x) (init- or control-rate only)

Where the argument within the parentheses may be an expression. These value converters sample a global random sequence, but do not reference seed. The result can be a term in a further expression.


Returns a random number in the bipolar range -x to x. rnd and birnd obtain values from a global pseudo-random number generator, then scale them into the requested range. The single global generator will thus distribute its sequence to these units throughout the performance, in whatever order the requests arrive.


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

Example 55. Example of the birnd 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 birnd.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 from -1 to 1.
  i1 = birnd(1)
  print i1


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


Its output should include lines like:

instr 1:  i1 = 0.947
instr 1:  i1 = -0.721

See Also



Author: Barry L. Vercoe
Cambridge, Massachussetts

Extended in 3.47 to x-rate by John ffitch.

Example written by Kevin Conder.